Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/paint/invalidation/svg/animated-svg-as-image-background-offscreen.html |
| diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/svg/animated-svg-as-image-background-offscreen.html b/third_party/WebKit/LayoutTests/paint/invalidation/svg/animated-svg-as-image-background-offscreen.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..0d1e8227ea5d1488b61ea5b44255a1450beeaba0 |
| --- /dev/null |
| +++ b/third_party/WebKit/LayoutTests/paint/invalidation/svg/animated-svg-as-image-background-offscreen.html |
| @@ -0,0 +1,37 @@ |
| +<!DOCTYPE html> |
| +<script src="../resources/text-based-repaint.js"></script> |
| +<script> |
| +window.testIsAsync = true; |
| + |
| +// Disable under-invalidation checking because the "under-invalidation" of |
| +// offscreen SVG animation is intentional. |
| +if (window.internals) |
| + internals.runtimeFlags.paintUnderInvalidationCheckingEnabled = false; |
| + |
| +function repaintTest() { |
| + if (window.internals) |
| + internals.advanceImageAnimation(testTarget); |
| + requestAnimationFrame(function() { |
| + finishRepaintTest(); |
| + }); |
| +} |
| + |
| +function targetImageOnload() { |
| + // Scroll targetImage offscreen. |
| + window.scrollTo(0, 1000); |
| + runRepaintTest(); |
| +} |
| + |
| +window.onload = function() { |
| + targetImage.style.background = "url(../../../svg/as-image/resources/animated-rect-fixed-size-2.svg)"; |
|
chrishtr
2017/03/30 15:42:35
Does this sufficiently test the case of an animate
fs
2017/03/31 10:32:46
Yes, this should trigger the code in LayoutBox::im
|
| + |
| + // Use a parallel image element as a hack to detect whether the image has loaded, and therefore |
| + // we'll get a frame. |
|
chrishtr
2017/03/30 15:42:35
onload events don't work for SVG Images? Weird. Wh
fs
2017/03/31 10:32:46
They do, but for background images you won't get a
|
| + testTarget.onload = targetImageOnload; |
| + testTarget.src = "../../../svg/as-image/resources/animated-rect-fixed-size-2.svg"; |
| +} |
| +</script> |
| +<div style="height: 2000px; width: 2000px;"> |
| + <div id="targetImage" style="width: 50px; height: 50px"></div> |
| + <img id="testTarget" style="visibility: hidden"> |
| +</div> |