| Index: third_party/WebKit/LayoutTests/compositing/fixed-raster-scale-use-counts.html
 | 
| diff --git a/third_party/WebKit/LayoutTests/compositing/fixed-raster-scale-use-counts.html b/third_party/WebKit/LayoutTests/compositing/fixed-raster-scale-use-counts.html
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..706af40715ff3130a15c87da39c659eea4b8428f
 | 
| --- /dev/null
 | 
| +++ b/third_party/WebKit/LayoutTests/compositing/fixed-raster-scale-use-counts.html
 | 
| @@ -0,0 +1,59 @@
 | 
| +<!DOCTYPE html>
 | 
| +<script src="../resources/js-test.js"></script>
 | 
| +<script>
 | 
| +window.jsTestIsAsync = true;
 | 
| +
 | 
| +var FixedRasterScaleBlurryContent = 1373; // From UseCounter.h
 | 
| +var FixedRasterScalePotentialPerformanceRegression = 1374; // From UseCounter.h
 | 
| +
 | 
| +function verify(step) {
 | 
| +  switch (step) {
 | 
| +   case 0: // initial state
 | 
| +    shouldBeFalse("window.internals.isUseCounted(document, FixedRasterScaleBlurryContent)");
 | 
| +    shouldBeFalse("window.internals.isUseCounted(document, FixedRasterScalePotentialPerformanceRegression)");
 | 
| +    break;
 | 
| +   case 1: // first transform set to 1.0 scale
 | 
| +    shouldBeFalse("window.internals.isUseCounted(document, FixedRasterScaleBlurryContent)");
 | 
| +    shouldBeFalse("window.internals.isUseCounted(document, FixedRasterScalePotentialPerformanceRegression)");
 | 
| +    break;
 | 
| +   case 2: // remainder of transforms are set to != 1.0 scale 
 | 
| +   case 3:
 | 
| +   case 4:
 | 
| +   case 5:
 | 
| +    shouldBeTrue("window.internals.isUseCounted(document, FixedRasterScaleBlurryContent)");
 | 
| +    shouldBeFalse("window.internals.isUseCounted(document, FixedRasterScalePotentialPerformanceRegression)");
 | 
| +    break;
 | 
| +   default:
 | 
| +    shouldBeTrue("window.internals.isUseCounted(document, FixedRasterScaleBlurryContent)");
 | 
| +    shouldBeTrue("window.internals.isUseCounted(document, FixedRasterScalePotentialPerformanceRegression)");
 | 
| +    break;
 | 
| +  }
 | 
| +}
 | 
| +
 | 
| +function mutate(step) {
 | 
| +  var div = document.getElementById("div");
 | 
| +
 | 
| +  // First scale is 1.0; scale is > 1.0 for the remainder of steps.
 | 
| +  var scale = 2 * (step + 1);
 | 
| +  div.style.transform = "translateZ(0) scale(" + scale + ", " + scale + ")";
 | 
| +}
 | 
| +
 | 
| +function schedule(step) {
 | 
| +  if (step <= 8) {
 | 
| +    if (window.testRunner) {
 | 
| +      window.testRunner.capturePixelsAsyncThen(function() {
 | 
| +        verify(step);
 | 
| +        mutate(step);
 | 
| +        schedule(step+1);
 | 
| +      });
 | 
| +    }
 | 
| +  } else {
 | 
| +    finishJSTest();
 | 
| +  }
 | 
| +}
 | 
| +
 | 
| +requestAnimationFrame(function() { schedule(0); });
 | 
| +</script>
 | 
| +<div id="div" style="transform:translateZ(0); width:100px; height:100px; background-color:blue;">non-solid div</div>
 | 
| +
 | 
| +</html>
 | 
| 
 |