diff --git a/Libraries/LibWeb/CSS/Enums.json b/Libraries/LibWeb/CSS/Enums.json index f8ef938245a..caa19939a24 100644 --- a/Libraries/LibWeb/CSS/Enums.json +++ b/Libraries/LibWeb/CSS/Enums.json @@ -491,6 +491,11 @@ "luminance", "alpha" ], + "masking-mode": [ + "alpha", + "luminance", + "match-source" + ], "math-shift": [ "normal", "compact" diff --git a/Libraries/LibWeb/CSS/Keywords.json b/Libraries/LibWeb/CSS/Keywords.json index df343c11f8d..4b3f79b37b1 100644 --- a/Libraries/LibWeb/CSS/Keywords.json +++ b/Libraries/LibWeb/CSS/Keywords.json @@ -319,6 +319,7 @@ "mark", "marktext", "match-parent", + "match-source", "math", "math-auto", "max-content", diff --git a/Libraries/LibWeb/CSS/Parser/PropertyParsing.cpp b/Libraries/LibWeb/CSS/Parser/PropertyParsing.cpp index 4b594e4e617..e5c8cdc9504 100644 --- a/Libraries/LibWeb/CSS/Parser/PropertyParsing.cpp +++ b/Libraries/LibWeb/CSS/Parser/PropertyParsing.cpp @@ -665,6 +665,7 @@ Parser::ParseErrorOr> Parser::parse_css_value return parsed_value.release_nonnull(); return ParseError::SyntaxError; case PropertyID::MaskComposite: + case PropertyID::MaskMode: if (auto parsed_value = parse_simple_comma_separated_value_list(property_id, tokens)) return parsed_value.release_nonnull(); return ParseError::SyntaxError; diff --git a/Libraries/LibWeb/CSS/Properties.json b/Libraries/LibWeb/CSS/Properties.json index a5de1d29649..a169d004cb3 100644 --- a/Libraries/LibWeb/CSS/Properties.json +++ b/Libraries/LibWeb/CSS/Properties.json @@ -2406,6 +2406,15 @@ ], "initial": "none" }, + "mask-mode": { + "animation-type": "discrete", + "inherited": false, + "affects-layout": false, + "valid-types": [ + "masking-mode" + ], + "initial": "match-source" + }, "mask-type": { "animation-type": "discrete", "inherited": false, diff --git a/Tests/LibWeb/Text/expected/css/CSSStyleDeclaration-has-indexed-property-getter.txt b/Tests/LibWeb/Text/expected/css/CSSStyleDeclaration-has-indexed-property-getter.txt index 855eb22263c..165fd21b6e4 100644 --- a/Tests/LibWeb/Text/expected/css/CSSStyleDeclaration-has-indexed-property-getter.txt +++ b/Tests/LibWeb/Text/expected/css/CSSStyleDeclaration-has-indexed-property-getter.txt @@ -188,6 +188,7 @@ All properties associated with getComputedStyle(document.body): "margin-top", "mask-composite", "mask-image", + "mask-mode", "mask-type", "max-block-size", "max-height", diff --git a/Tests/LibWeb/Text/expected/css/CSSStyleProperties-all-supported-properties-and-default-values.txt b/Tests/LibWeb/Text/expected/css/CSSStyleProperties-all-supported-properties-and-default-values.txt index 3cfddcece47..f69a9aa04c3 100644 --- a/Tests/LibWeb/Text/expected/css/CSSStyleProperties-all-supported-properties-and-default-values.txt +++ b/Tests/LibWeb/Text/expected/css/CSSStyleProperties-all-supported-properties-and-default-values.txt @@ -529,6 +529,8 @@ All supported properties and their default values exposed from CSSStylePropertie 'mask-composite': 'add' 'maskImage': 'none' 'mask-image': 'none' +'maskMode': 'match-source' +'mask-mode': 'match-source' 'maskType': 'luminance' 'mask-type': 'luminance' 'mathDepth': '0' diff --git a/Tests/LibWeb/Text/expected/css/getComputedStyle-print-all.txt b/Tests/LibWeb/Text/expected/css/getComputedStyle-print-all.txt index ebea47cd7c0..b94e83e407d 100644 --- a/Tests/LibWeb/Text/expected/css/getComputedStyle-print-all.txt +++ b/Tests/LibWeb/Text/expected/css/getComputedStyle-print-all.txt @@ -186,6 +186,7 @@ margin-right: 8px margin-top: 8px mask-composite: add mask-image: none +mask-mode: match-source mask-type: luminance max-block-size: none max-height: none diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/css-cascade/all-prop-revert-layer.txt b/Tests/LibWeb/Text/expected/wpt-import/css/css-cascade/all-prop-revert-layer.txt index 1a61420238e..895900c6c20 100644 --- a/Tests/LibWeb/Text/expected/wpt-import/css/css-cascade/all-prop-revert-layer.txt +++ b/Tests/LibWeb/Text/expected/wpt-import/css/css-cascade/all-prop-revert-layer.txt @@ -1,8 +1,8 @@ Harness status: OK -Found 249 tests +Found 250 tests -242 Pass +243 Pass 7 Fail Pass accent-color Pass border-collapse @@ -187,6 +187,7 @@ Pass margin-right Pass margin-top Pass mask-composite Pass mask-image +Pass mask-mode Pass mask-type Pass max-block-size Pass max-height