haikuwebkit/LayoutTests/fast/shadow-dom/svg-radial-gradient-dynamic...

46 lines
1.4 KiB
HTML
Raw Permalink Normal View History

Updating href on linearGradient and radialGradient doesn't update its rendering https://bugs.webkit.org/show_bug.cgi?id=191934 Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2018-11-28 Reviewed by Ryosuke Niwa. Source/WebCore: Mark the gradient renderer for repaint when the value of the 'href' attribute changes. Tests: fast/shadow-dom/svg-linear-gradient-dynamic-update-href-in-shadow-tree.html fast/shadow-dom/svg-radial-gradient-dynamic-update-href-in-shadow-tree.html svg/dynamic-updates/SVGLinearGradientElement-svgdom-href-prop.html svg/dynamic-updates/SVGRadialGradientElement-svgdom-href-prop.html * svg/SVGGradientElement.cpp: (WebCore::SVGGradientElement::svgAttributeChanged): LayoutTests: * fast/shadow-dom/svg-linear-gradient-dynamic-update-href-in-shadow-tree-expected.html: Added. * fast/shadow-dom/svg-linear-gradient-dynamic-update-href-in-shadow-tree.html: Added. * fast/shadow-dom/svg-radial-gradient-dynamic-update-href-in-shadow-tree-expected.html: Added. * fast/shadow-dom/svg-radial-gradient-dynamic-update-href-in-shadow-tree.html: Added. * svg/dynamic-updates/SVGLinearGradientElement-svgdom-href-prop-expected.html: Added. * svg/dynamic-updates/SVGLinearGradientElement-svgdom-href-prop.html: Added. * svg/dynamic-updates/SVGRadialGradientElement-svgdom-href-prop-expected.html: Added. * svg/dynamic-updates/SVGRadialGradientElement-svgdom-href-prop.html: Added. Canonical link: https://commits.webkit.org/206801@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238651 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-11-29 01:29:54 +00:00
<!DOCTYPE html>
<html>
<style>
#host {
width: 100px;
height: 100px;
}
</style>
<body>
<p>Test passes if you see a single 100px by 100px green box below.</p>
<div id="host"></div>
<svg>
<radialGradient id="gradient">
<stop offset="0" stop-color="red" />
</radialGradient>
</svg>
<template>
<svg viewbox="0 0 100 100">
<radialGradient id="gradient">
<stop offset="0" stop-color="green" />
</radialGradient>
<radialGradient id="blue-gradient">
<stop offset="0" stop-color="blue" />
</radialGradient>
<radialGradient id="gradientUse" fill="red" href="#blue-gradient" />
<rect id="rect" width="100" height="100" fill="url(#gradientUse)" />
</svg>
</template>
<script>
window.onload = () => {
if (window.testRunner)
testRunner.waitUntilDone();
const shadowRoot = host.attachShadow({mode: 'closed'});
shadowRoot.appendChild(document.querySelector('template').content.cloneNode(true));
requestAnimationFrame(() => {
shadowRoot.querySelector('#gradientUse').setAttribute('href', '#gradient');
if (window.testRunner)
testRunner.notifyDone();
});
}
</script>
</body>
</html>