Commit graph

46128 commits

Author SHA1 Message Date
Linus Groh
5a2dfc52f8 LibJS: Port create_temporal_time_zone() to String 2023-01-26 20:20:54 +00:00
Linus Groh
ae98eddc9f LibJS: Port temporal_year_month_to_string() to String 2023-01-26 20:20:54 +00:00
Linus Groh
cfb4b44691 LibJS: Port temporal_time_to_string() to String 2023-01-26 20:20:54 +00:00
Linus Groh
b6e13f451f LibJS: Port temporal_date_time_to_string() to String 2023-01-26 20:20:54 +00:00
Linus Groh
921ef7273e LibJS: Port temporal_date_to_string() to String 2023-01-26 20:20:54 +00:00
Linus Groh
453d3063f5 LibJS: Port pad_iso_year() to String 2023-01-26 20:20:54 +00:00
Linus Groh
2aa4fcc318 LibJS: Port temporal_month_day_to_string() to String 2023-01-26 20:20:54 +00:00
Linus Groh
d2c10f6bea LibJS: Port temporal_instant_to_string() to String 2023-01-26 20:20:54 +00:00
Linus Groh
28ee331a93 LibJS: Make parse_temporal_instant() take a StringView
The underlying parse_temporal_instant_string() function already does
this as well.
2023-01-26 20:20:54 +00:00
Linus Groh
f669d2e558 LibJS: Port temporal_duration_to_string() to String 2023-01-26 20:20:54 +00:00
Linus Groh
49b5d55b95 LibJS: Make {un,}balance_duration_relative() take a StringView
This is only used for equality checks.
2023-01-26 20:20:54 +00:00
Linus Groh
b09522312c LibJS: Port iso_month_code() to String 2023-01-26 20:20:54 +00:00
Linus Groh
bcca5efd5a LibJS: Port format_calendar_annotation() to String 2023-01-26 20:20:54 +00:00
Linus Groh
269f3c4105 LibJS: Port maybe_format_calendar_annotation() to String 2023-01-26 20:20:54 +00:00
Linus Groh
627291b075 LibJS: Port calendar_month_code() to String 2023-01-26 20:20:54 +00:00
Linus Groh
46cff34baf LibJS: Port get_builtin_calendar() to String 2023-01-26 20:20:54 +00:00
Linus Groh
a101b15ad0 LibJS: Port create_temporal_calendar() to String 2023-01-26 20:20:54 +00:00
Linus Groh
0f5f9acc9c LibJS: Port canonicalize_time_zone_name() to String 2023-01-26 20:20:54 +00:00
Linus Groh
96855d53c4 LibJS: Use StringView for SecondsStringPrecision::unit
This is exclusively used with sv literals, and can be a StringView like
precision above it.
This removes the last use of DeprecatedString in Temporal's
AbstractOperations.h :^)
2023-01-26 20:20:54 +00:00
Linus Groh
4a7d6670d8 LibJS: Port calendar / time zone members of Temporal* structs to String 2023-01-26 20:20:54 +00:00
Linus Groh
ef389c086d LibJS: Port parse_temporal_calendar_string()
Also make is_builtin_calendar() take a StringView as part of this, it
only does equality checks.
2023-01-26 20:20:54 +00:00
Linus Groh
8f7c2f8292 LibJS: Port get_difference_settings() to String
Also make balance_duration() take a StringView as part of this, it only
does equality checks.
2023-01-26 20:20:54 +00:00
Linus Groh
227379a1da LibJS: Port prepare_temporal_fields() and calendar_fields() to String 2023-01-26 20:20:54 +00:00
Linus Groh
90a1de564c LibJS: Make parse_temporal_*_string() take a StringView
The underlying parse_iso8601() function already does this as well.
2023-01-26 20:20:54 +00:00
Linus Groh
82ba940646 LibJS: Port format_seconds_string_part() to String 2023-01-26 20:20:54 +00:00
Linus Groh
654911444e LibJS: Port merge_largest_unit_option() to String 2023-01-26 20:20:54 +00:00
Linus Groh
918122c1e3 LibJS: Port get_temporal_unit() to String 2023-01-26 20:20:54 +00:00
Linus Groh
f928c7754d LibJS: Port to_show_offset_option() to String 2023-01-26 20:20:54 +00:00
Linus Groh
ddd5d8531b LibJS: Port to_time_zone_name_option() to String 2023-01-26 20:20:54 +00:00
Linus Groh
0435156a86 LibJS: Port to_calendar_name_option() to String 2023-01-26 20:20:54 +00:00
Linus Groh
a387b22599 LibJS: Port to_temporal_offset() to String 2023-01-26 20:20:54 +00:00
Linus Groh
3aa3ab65b1 LibJS: Port to_temporal_rounding_mode() to String
Also make negate_temporal_rounding_mode() take a StringView as part of
this, it only does equality checks.
2023-01-26 20:20:54 +00:00
Linus Groh
ec9f2013c9 LibJS: Port to_temporal_disambiguation() to String 2023-01-26 20:20:54 +00:00
Linus Groh
b8759e86ee LibJS: Port to_temporal_overflow() to String 2023-01-26 20:20:54 +00:00
Nico Weber
1044844307 LibGfx: Enforce type of 'cprt' and 'desc' type in v4 files
Add a targeted quirk for the one known file where this is violated.

Adding that quirk is a bit of a bummer, since that means all client
code of this class now needs to deal with the possibility that
'cprt' and 'desc' aren't 'mluc' for v4 files. But if that code wants
to handle v2 files, it needs to deal with that anyways, so it's
really just a bit of a bummer and not more.
2023-01-26 17:38:17 +00:00
Nico Weber
4daa9aeb57 LibGfx: Check the types of tags in ICCProfile
This adds checking for all tags where ICCProfile can parse the type.
Over time, more of this needs implementing -- at least lut8Type,
lut16Type, lutAToBType, and lutBToAType, since these are used by
required tags.

What _is_ checked for the most part matches the spec, but it's possible
that the spec text is aspirational and that profiles in the wild don't
fully match it.

I've run the current checks against these profiles:

    find \
        ~/src/Compact-ICC-Profiles \
        /{System/,}Library/ColorSync \
        -name '*.icc' \
        -exec echo {} \; \
        -exec Build/lagom/icc {} \;

...and against 3 hand-selected icc files I locally extracted from jpegs.

This identified 3 cases where the spec text is too strict for reality.
I added comments for these for now. Eventually, I'd like to try to still
enforce these types, and have a profile-id-based quirks list for which
they aren't enforced. It's possible that that won't be feasible, but
it's probably better to start out to strict and then relax over time
than the other way round.
2023-01-26 17:38:17 +00:00
Nico Weber
4735397606 icc: Align "else" for Type3 with "if" 2023-01-26 17:38:17 +00:00
Nico Weber
0d94e23039 icc: Indent ParametricCurveTagData the same amount as the other types 2023-01-26 17:38:17 +00:00
Linus Groh
2ff989914d LibJS: Make Value::typeof() return a StringView 2023-01-26 17:26:31 +00:00
Sam Atkins
3cc376d1a2 LibWebView: Replace uses of JsonObject::get_deprecated()/get_ptr() 2023-01-26 09:57:14 -05:00
Sam Atkins
d8fde14324 LibWeb: Replace uses of JsonObject::get_deprecated()/get_ptr() 2023-01-26 09:57:14 -05:00
Sam Atkins
4dac287aa5 LibTest: Replace uses of JsonObject::get_deprecated()/get_ptr() 2023-01-26 09:57:14 -05:00
Sam Atkins
783251b98a LibSymbolication: Replace uses of JsonObject::get_deprecated()/get_ptr() 2023-01-26 09:57:14 -05:00
Sam Atkins
6ee68d6e45 LibKeyboard: Replace uses of JsonObject::get_deprecated()/get_ptr() 2023-01-26 09:57:14 -05:00
Sam Atkins
2fce19a451 LibGUI: Replace uses of JsonObject::get_deprecated()/get_ptr() 2023-01-26 09:57:14 -05:00
Sam Atkins
4313c17d95 LibDesktop: Replace uses of JsonObject::get_deprecated()/get_ptr() 2023-01-26 09:57:14 -05:00
Sam Atkins
04b3908172 LibDebug: Replace uses of JsonObject::get_deprecated()/get_ptr() 2023-01-26 09:57:14 -05:00
Sam Atkins
08f932259a LibCoreDump: Replace uses of JsonObject::get_deprecated()/get_ptr() 2023-01-26 09:57:14 -05:00
Sam Atkins
269ce258b4 LibCore: Replace uses of JsonObject::get_deprecated()/get_ptr() 2023-01-26 09:57:14 -05:00
Sam Atkins
d55f763fcd Tests: Replace uses of JsonObject::get_deprecated()/get_ptr() 2023-01-26 09:57:14 -05:00