LibWeb: Support mask-type style attribute for SVGs

This fixes the painting of an SVG on https://discord.com/.
This commit is contained in:
MacDue 2023-11-12 12:22:16 +00:00 committed by Andreas Kling
parent 61fc5349fc
commit 4e9e183a34
2 changed files with 13 additions and 1 deletions

View file

@ -0,0 +1,11 @@
<link rel="match" href="reference/simple-svg-mask-ref.html" />
<svg width="120" viewBox="-10 -10 120 120">
<defs>
<mask id="myMask" mask-type="alpha">
<!-- Everything solid pixel (alpha=255) will be visible -->
<rect x="50" y="0" width="50" height="100" fill="black" />
</mask>
</defs>
<rect x="-10" y="-10" width="120" height="120" fill="blue" />
<rect x="10" y="10" width="80" height="80" fill="red" mask="url(#myMask)" />
</svg>

View file

@ -141,7 +141,8 @@ void SVGGraphicsElement::apply_presentational_hints(CSS::StyleProperties& style)
NamedPropertyID(CSS::PropertyID::Opacity),
NamedPropertyID(CSS::PropertyID::TextAnchor),
NamedPropertyID(CSS::PropertyID::FontSize),
NamedPropertyID(CSS::PropertyID::Mask)
NamedPropertyID(CSS::PropertyID::Mask),
NamedPropertyID(CSS::PropertyID::MaskType)
};
CSS::Parser::ParsingContext parsing_context { document(), CSS::Parser::ParsingContext::Mode::SVGPresentationAttribute };