Commit graph

46137 commits

Author SHA1 Message Date
Tim Schumacher
1971bff314 Documentation: Document the "Fallible Constructor" pattern 2023-01-26 20:24:16 +00:00
Tim Schumacher
03c3d7edbc Documentation: Note that MUST does not replace error propagation 2023-01-26 20:23:08 +00:00
Xexxa
6607336b38 Base: Add more emoji
👩‍❤️‍👨 - U+1F469 U+200D U+2764 U+200D U+1F468
COUPLE WITH HEART: WOMAN, MAN
👨‍❤️‍👨 - U+1F468 U+200D U+2764 U+200D U+1F468
COUPLE WITH HEART: MAN, MAN
🦙 - U+1F999 LLAMA
🦡 - U+1F9A1 BADGER
🦃 - U+1F983 TURKEY
🌺 - U+1F33A HIBISCUS
🍲 - U+1F372 POT OF FOOD
🫗 - U+1FAD7 POURING LIQUID
🥄 - U+1F944 SPOON
🗾 - U+1F5FE MAP OF JAPAN
🏪 - U+1F3EA CONVENIENCE STORE
🎪 - U+1F3AA CIRCUS TENT
🎆 - U+1F386 FIREWORKS
🎇 - U+1F387 SPARKLER
🎽 - U+1F3BD RUNNING SHIRT
🎭 - U+1F3AD PERFORMING ARTS
🧶 - U+1F9F6 YARN
🎷 - U+1F3B7 SAXOPHONE
🎺 - U+1F3BA TRUMPET
📽️ - U+1F4FD FILM PROJECTOR
🗳️ - U+1F5F3 BALLOT BOX WITH BALLOT
🔏 - U+1F50F LOCKED WITH PEN
2023-01-26 20:21:54 +00:00
Linus Groh
959a891df0 LibJS: Port parse_iso_date_time() to String 2023-01-26 20:20:54 +00:00
Linus Groh
6c8c650a55 LibJS: Port temporal_zoned_date_time_to_string() to String 2023-01-26 20:20:54 +00:00
Linus Groh
70e8a9bc8b LibJS: Remove unused is_valid_time_zone_numeric_utc_offset_syntax()
...as well as the underlying function:
parse_time_zone_numeric_utc_offset_syntax()
2023-01-26 20:20:54 +00:00
Linus Groh
bb0362ec3b LibJS: Port builtin_time_zone_get_offset_string_for() to String 2023-01-26 20:20:54 +00:00
Linus Groh
95becb22ef LibJS: Port format_iso_time_zone_offset_string() to String 2023-01-26 20:20:54 +00:00
Linus Groh
c2656f4ee7 LibJS: Port format_time_zone_offset_string() to String 2023-01-26 20:20:54 +00:00
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