diff --git a/Libraries/LibWeb/CSS/Parser/PropertyParsing.cpp b/Libraries/LibWeb/CSS/Parser/PropertyParsing.cpp index 0303556e74..f5efcea472 100644 --- a/Libraries/LibWeb/CSS/Parser/PropertyParsing.cpp +++ b/Libraries/LibWeb/CSS/Parser/PropertyParsing.cpp @@ -3854,12 +3854,10 @@ RefPtr Parser::parse_mask_value(TokenStream& t mask_composites.append(mask_composite ? mask_composite.release_nonnull() : initial_mask_composite); mask_modes.append(mask_mode ? mask_mode.release_nonnull() : initial_mask_mode); - if (!mask_origin && !mask_clip) { + if (!mask_origin) mask_origin = initial_mask_origin; - mask_clip = initial_mask_clip; - } else if (!mask_clip) { + if (!mask_clip) mask_clip = mask_origin; - } mask_origins.append(mask_origin.release_nonnull()); mask_clips.append(mask_clip.release_nonnull()); diff --git a/Tests/LibWeb/Crash/CSS/mask-parsing-shorthand-multi-layer-mask-clip.html b/Tests/LibWeb/Crash/CSS/mask-parsing-shorthand-multi-layer-mask-clip.html new file mode 100644 index 0000000000..99c46f403f --- /dev/null +++ b/Tests/LibWeb/Crash/CSS/mask-parsing-shorthand-multi-layer-mask-clip.html @@ -0,0 +1,6 @@ + +