Status: PASS | Duration: 7ms | Subtests: 1/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi
/svg/painting/reftests/display-none-mask.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Mask behaviour when mask image is missing or display:none</title> <link rel="match" href="display-none-mask-ref.html"> <link name="author" title="Timothy Nikkel" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1624532"> <link name="author" title="Mike Bremford" href="http://bfo.com"> <!-- edited 202010 --> <link rel="help" href="https://drafts.fxtf.org/css-masking-1/#the-mask-image"> <link rel="help" href="https://drafts.fxtf.org/css-masking-1/#MaskElement"> <link rel="help" href="https://github.com/w3c/fxtf-drafts/issues/245"> <meta name="assert" content="A missing or invalid mask image is equivalent to transparent black (i.e. nothing is displayed). A mask with display:none is disabled (which is a change to the specified behaviour as of issue 245)"> </head> <body> <svg width="200" height="200"> <!-- missing/invalid mask is equivalent to transparent black - nothing displayed --> <foreignObject x="0" y="0" width="200" height="200" style="mask: url('#notfound');"> <div style="width: 200px; height: 200px; background: red"></div> </foreignObject> </svg> <svg width="200" height="200"> <!-- display:none on mask means mask is not applied (new in https://github.com/w3c/fxtf-drafts/issues/245) --> <foreignObject x="0" y="0" width="200" height="200" style="mask: url('#noneMask');"> <div style="width: 200px; height: 200px; background: green"></div> </foreignObject> </svg> <svg width="200" height="200"> <foreignObject x="0" y="0" width="200" height="200"> <!-- missing/invalid mask is equivalent to transparent black - nothing displayed --> <div style="width: 200px; height: 200px; background: red; mask: url('#notfound');"></div> </foreignObject> </svg> <svg width="200" height="200"> <foreignObject x="0" y="0" width="200" height="200"> <!-- display:none on mask means mask is not applied (new in https://github.com/w3c/fxtf-drafts/issues/245) --> <div style="width: 200px; height: 200px; background: green; mask: url('#noneMask');"></div> </foreignObject> </svg> <svg width="200" height="200" style="display:none"> <defs> <mask id="noneMask"> <rect x="0" y="0" width="200" height="200" fill="#4d4d4d"></rect> </mask> </defs> </svg> <!-- make sure masking actually works --> <svg width="200" height="200"> <defs> <mask id="aMask"> <rect x="0" y="0" width="100" height="50" fill="#ffffff"></rect> <rect x="0" y="100" width="100" height="50" fill="#ffffff"></rect> </mask> </defs> <foreignObject x="0" y="0" width="200" height="200" style="mask: url('#aMask');"> <div style="width: 200px; height: 200px; background: green;"></div> </foreignObject> </svg> <svg width="200" height="200"> <foreignObject x="0" y="0" width="200" height="200"> <div style="width: 200px; height: 200px; background: green; mask: url('#aMask');"></div> </foreignObject> </svg> <!-- make sure masking works on active content --> <svg width="200" height="200"> <foreignObject x="0" y="0" width="200" height="200" style="mask: url('#aMask');"> <div style="width: 200px; height: 200px; background: green; will-change: transform"></div> </foreignObject> </svg> <svg width="200" height="200"> <foreignObject x="0" y="0" width="200" height="200"> <div style="width: 200px; height: 200px; background: green; will-change: transform; mask: url('#aMask');"></div> </foreignObject> </svg> </body> </html>
/svg/painting/reftests/display-none-mask-ref.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> </head> <body> <svg width="200" height="200"> <foreignObject x="0" y="0" width="200" height="200"> <div style="width: 200px; height: 200px;"></div> </foreignObject> </svg> <svg width="200" height="200"> <foreignObject x="0" y="0" width="200" height="200"> <div style="width: 200px; height: 200px; background: green"></div> </foreignObject> </svg> <svg width="200" height="200"> <foreignObject x="0" y="0" width="200" height="200"> <div style="width: 200px; height: 200px;"></div> </foreignObject> </svg> <svg width="200" height="200"> <foreignObject x="0" y="0" width="200" height="200"> <div style="width: 200px; height: 200px; background: green"></div> </foreignObject> </svg> <!-- make sure masking actually works --> <svg width="200" height="200"> <rect x="0" y="0" width="100" height="50" fill="green"></rect> <rect x="0" y="100" width="100" height="50" fill="green"></rect> </svg> <svg width="200" height="200"> <rect x="0" y="0" width="100" height="50" fill="green"></rect> <rect x="0" y="100" width="100" height="50" fill="green"></rect> </svg> <!-- make sure masking works on active content --> <svg width="200" height="200"> <rect x="0" y="0" width="100" height="50" fill="green"></rect> <rect x="0" y="100" width="100" height="50" fill="green"></rect> </svg> <svg width="200" height="200"> <rect x="0" y="0" width="100" height="50" fill="green"></rect> <rect x="0" y="100" width="100" height="50" fill="green"></rect> </svg> </body> </html>