| 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)"; | 
| + | 
| +    // Use a parallel image element as a hack to detect whether the image has loaded, and therefore | 
| +    // we'll get a frame. | 
| +    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> | 
|  |