Update image test
authorjonlee@apple.com <jonlee@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 3 Mar 2016 20:26:46 +0000 (20:26 +0000)
committerjonlee@apple.com <jonlee@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 3 Mar 2016 20:26:46 +0000 (20:26 +0000)
https://bugs.webkit.org/show_bug.cgi?id=154962

Rubber-stamped by Darin Adler.

* Animometer/tests/master/image-data.html: Make each canvas have a compositing layer.
* Animometer/tests/master/resources/image-data.js:
(initialize): Update to load multiple images serially.
(_loadImage):
(tune): Use display instead of visibility. When showing an element anew, move it somewhere else.
(_createTestElement): Set up the element, refactor out placement of element to _refreshElement.
(_refreshElement): Place element in a tile grid.
(animate):
(_getRandomNeighboringPixelIndex): Use a more conservative distribution to make the effect last a little longer.
* Animometer/tests/master/resources/compass.svg: Added.
* Animometer/tests/master/resources/console.svg: Added.
* Animometer/tests/master/resources/contribute.svg: Added.
* Animometer/tests/master/resources/debugger.svg: Added.
* Animometer/tests/master/resources/inspector.svg: Added.
* Animometer/tests/master/resources/layout.svg: Added.
* Animometer/tests/master/resources/performance.svg: Added.
* Animometer/tests/master/resources/script.svg: Added.
* Animometer/tests/master/resources/shortcuts.svg: Added.
* Animometer/tests/master/resources/standards.svg: Added.
* Animometer/tests/master/resources/storage.svg: Added.
* Animometer/tests/master/resources/styles.svg: Added.
* Animometer/tests/master/resources/timeline.svg: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@197514 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 files changed:
PerformanceTests/Animometer/tests/master/image-data.html
PerformanceTests/Animometer/tests/master/resources/compass.svg [new file with mode: 0644]
PerformanceTests/Animometer/tests/master/resources/console.svg [new file with mode: 0644]
PerformanceTests/Animometer/tests/master/resources/contribute.svg [new file with mode: 0644]
PerformanceTests/Animometer/tests/master/resources/debugger.svg [new file with mode: 0644]
PerformanceTests/Animometer/tests/master/resources/image-data.js
PerformanceTests/Animometer/tests/master/resources/inspector.svg [new file with mode: 0644]
PerformanceTests/Animometer/tests/master/resources/layout.svg [new file with mode: 0644]
PerformanceTests/Animometer/tests/master/resources/performance.svg [new file with mode: 0644]
PerformanceTests/Animometer/tests/master/resources/script.svg [new file with mode: 0644]
PerformanceTests/Animometer/tests/master/resources/shortcuts.svg [new file with mode: 0644]
PerformanceTests/Animometer/tests/master/resources/standards.svg [new file with mode: 0644]
PerformanceTests/Animometer/tests/master/resources/storage.svg [new file with mode: 0644]
PerformanceTests/Animometer/tests/master/resources/styles.svg [new file with mode: 0644]
PerformanceTests/Animometer/tests/master/resources/timeline.svg [new file with mode: 0644]
PerformanceTests/ChangeLog

index 4c5fa8d..36b52c9 100644 (file)
@@ -9,8 +9,9 @@
         background-color: #000;
     }
 
-    #stage div {
+    #stage canvas {
         position: absolute;
+        transform: translateZ(0);
     }
 
     </style>
diff --git a/PerformanceTests/Animometer/tests/master/resources/compass.svg b/PerformanceTests/Animometer/tests/master/resources/compass.svg
new file mode 100644 (file)
index 0000000..3f94e7a
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright © 2016 Apple Inc. All rights reserved. -->
+<svg width="48px" height="48px" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg">
+    <path d="M 24 45.7600002 L 24 45.7600002 C 36.0177159 45.7600002 45.7599999 36.0177161 45.7599999 24.0000001 C 45.7599999 11.9822838 36.0177159 2.24000001 24 2.24000001 C 11.9822838 2.24000001 2.23999999 11.9822838 2.23999999 24.0000001 C 2.23999999 36.0177161 11.9822838 45.7600002 24 45.7600002 L 24 45.7600002 L 24 45.7600002 L 24 45.7600002 Z M 24 48 L 24 48 C 10.745166 48 8.52651283e-14 37.254834 8.52651283e-14 24.0000001 C 8.52651283e-14 10.745166 10.745166 0 24 0 C 37.254834 0 48 10.745166 48 24.0000001 C 48 37.254834 37.254834 48 24 48 L 24 48 L 24 48 L 24 48 Z" fill="rgb(142, 142, 147)"/>
+    <path fill="white" d="M 19.2141787 30.7527044 C 20.0566026 31.3582067 21.0164459 31.8087988 22.052466 32.0629879 L 24.0150243 38.3621108 L 25.9644157 32.0671275 C 28.9532689 31.3397602 31.304042 28.97474 32.0270276 25.9677724 L 38.2840894 24.0065666 L 32.38318 22.1457238 L 30.1049072 24.2136546 C 29.9995478 27.5073249 27.2907334 30.1510903 24.0134391 30.1359337 C 23.1661809 30.1431339 22.3840431 29.959524 21.6645278 29.6641888 L 19.2141787 30.7527044 L 19.2141787 30.7527044 L 19.2141787 30.7527044 Z M 28.8019182 17.2563866 C 27.4120183 16.2548466 25.9438825 15.9331447 25.9438825 15.9331447 L 23.9849759 9.63788916 L 22.0355845 15.9328727 C 19.0467312 16.6602398 16.695958 19.0252601 15.9729726 22.0322277 L 9.71591065 23.9934336 C 9.71591065 23.9934336 13.7573684 25.2679011 15.7780972 25.9051349 L 17.8923556 23.9486543 C 17.9116726 20.5783691 20.6200789 17.8803136 23.9912031 17.8674375 C 24.8266313 17.8130168 26.1806153 18.2277657 26.3381938 18.3358993 C 26.3381937 18.3358993 28.8019182 17.2563866 28.8019182 17.2563866 L 28.8019182 17.2563866 L 28.8019182 17.2563866 Z"/>
+    <path fill="white" d="M 22.4528571 21.5612813 L 10.1267612 32.8610634 L 25.4820204 26.3285511 L 37.8732388 15.1389366 L 22.4528571 21.5612813 L 22.4528571 21.5612813 L 22.4528571 21.5612813 Z"/>
+</svg>
diff --git a/PerformanceTests/Animometer/tests/master/resources/console.svg b/PerformanceTests/Animometer/tests/master/resources/console.svg
new file mode 100644 (file)
index 0000000..e3c7611
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright © 2016 Apple Inc. All rights reserved. -->
+<svg width="48px" height="48px" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg">
+    <rect stroke="rgb(0, 136, 204)" stroke-width="2.5" x="5.03735352" y="5.03735352" width="37.925293" height="37.925293" rx="4" fill="none"/>
+    <path d="M 13.164202 13.164202 L 24 24 L 13.164202 34.835798 M 24 14 L 35 14 M 29.5 24 L 34.9999999 24 M 24 34 L 35 34" stroke="white" stroke-width="2.5"  fill="none" />
+</svg>
diff --git a/PerformanceTests/Animometer/tests/master/resources/contribute.svg b/PerformanceTests/Animometer/tests/master/resources/contribute.svg
new file mode 100644 (file)
index 0000000..68860ef
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright © 2016 Apple Inc. All rights reserved. -->
+<svg width="48px" height="48px" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg">
+    <path fill="rgb(203, 170, 68)" d="M 24 45.76 L 24 45.76 C 36.0177161 45.76 45.76 36.0177162 45.76 24 C 45.76 11.9822838 36.0177161 2.24 24 2.24 C 11.9822838 2.24 2.24 11.9822838 2.24 24 C 2.24 36.0177162 11.9822838 45.76 24 45.76 L 24 45.76 L 24 45.76 L 24 45.76 Z M 24 48 L 24 48 C 10.745166 48 -1.77635684e-14 37.254834 -1.77635684e-14 24 C -1.77635684e-14 10.745166 10.745166 2.84217094e-14 24 2.84217094e-14 C 37.254834 2.84217094e-14 48 10.745166 48 24 C 48 37.254834 37.254834 48 24 48 L 24 48 L 24 48 L 24 48 Z"/>
+    <path d="M 29.4897098 23.3065925 L 26.2706917 20.9393745 L 26.6482584 24.3031351 L 28.4802897 29.4247528 L 29.4897098 33.8205977 L 30.4989581 29.4247528 L 32.3309894 24.3031351 L 32.7087278 20.9393745 L 29.4897098 23.3065925 Z M 18.8503641 23.3065925 L 15.631346 20.9393745 L 16.0090845 24.3031351 L 17.8411157 29.4247528 L 18.8503641 33.8205977 L 19.8597841 29.4247528 L 21.6916437 24.3031351 L 22.0693821 20.9393745 L 18.8503641 23.3065925 Z M 37.2876041 24.3031351 L 39.1196354 29.4247528 L 40.3400738 34.740219 L 38.3454433 35 L 36.6368638 29.562799 C 36.6368638 29.562799 34.8092967 25.6310573 34.8092967 25.4866582 C 34.8092967 25.6310573 32.9819013 29.562799 32.9819013 29.562799 L 31.2733218 35 L 29.4897098 34.7676909 L 27.7060977 35 L 25.9975182 29.562799 C 25.9975182 29.562799 24.1701228 25.6310573 24.1701228 25.4866582 C 24.1701228 25.6310573 22.3425557 29.562799 22.3425557 29.562799 L 20.6339762 35 L 18.8503641 34.7676909 L 17.066752 35 L 15.3581725 29.562799 C 15.3581725 29.562799 13.5307771 25.6310573 13.5307771 25.4866582 C 13.5307771 25.6310573 11.7033817 29.562799 11.7033817 29.562799 L 9.9946305 35 L 8 34.740219 L 9.22043846 29.4247528 L 11.0524697 24.3031351 L 11.4302081 20.9393745 L 8.21101841 23.3065925 L 8.21101841 21.228001 L 11.6719607 18.326455 L 12.3810787 18.2218901 L 12.3810787 17.9233051 C 11.4619725 17.51054 10.825655 16.6183906 10.825655 15.5839024 C 10.825655 14.156738 12.0368217 13 13.5307771 13 C 15.0247325 13 16.2358992 14.156738 16.2358992 15.5839024 C 16.2358992 16.6183906 15.5995817 17.51054 14.6804755 17.9233051 L 14.6804755 18.2218901 L 15.3895935 18.326455 L 18.8503641 21.228001 L 22.3113064 18.326455 L 23.0204244 18.2218901 L 23.0204244 17.9233051 C 22.1013182 17.51054 21.4650007 16.6183906 21.4650007 15.5839024 C 21.4650007 14.156738 22.6761674 13 24.1701228 13 C 25.6640782 13 26.8750732 14.156738 26.8750732 15.5839024 C 26.8750732 16.6183906 26.2387556 17.51054 25.3198211 17.9233051 L 25.3198211 18.2218901 L 26.0289391 18.326455 L 29.4897098 21.228001 L 32.9504804 18.326455 L 33.6595984 18.2218901 L 33.6595984 17.9233051 C 32.7406639 17.51054 32.1043463 16.6183906 32.1043463 15.5839024 C 32.1043463 14.156738 33.3153413 13 34.8092967 13 C 36.3034238 13 37.5142471 14.156738 37.5144188 15.5839024 C 37.5144188 16.6183906 36.8781013 17.51054 35.9591668 17.9233051 L 35.9591668 18.2218901 L 36.6682848 18.326455 L 40.1290554 21.228001 L 40.1290554 23.3065925 L 36.9100374 20.9393745 L 37.2876041 24.3031351 Z" fill="white"/>
+</svg>
diff --git a/PerformanceTests/Animometer/tests/master/resources/debugger.svg b/PerformanceTests/Animometer/tests/master/resources/debugger.svg
new file mode 100644 (file)
index 0000000..646ddf4
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright © 2016 Apple Inc. All rights reserved. -->
+<svg width="48px" height="48px" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg">
+    <path d="M 24.1320008 44.328125 C 32.1512251 44.328125 38.6520901 35.226914 38.6520901 24 C 38.6520901 12.773086 32.1512251 3.671875 24.1320008 3.671875 C 16.1127765 3.671875 9.61191153 12.773086 9.61191153 24 C 9.61191153 35.226914 16.1127765 44.328125 24.1320008 44.328125 Z M 13.7861328 10.5 L 34.4768075 10.5 L 13.7861328 10.5 Z M 24.25 11 L 24.25 44.328125 M 34.1640625 37.0680804 L 39.9720982 42.8761161 M 38.5200893 22.25 L 44.328125 22.25 M 9.47991071 22.25 L 3.671875 22.25 M 13.8359375 10.9319196 L 8.02790179 5.12388393 M 34.1640625 10.9319196 L 39.9720982 5.12388393 M 13.972 37.068 L 8.164 42.876" fill="none" stroke="rgb(0, 136, 204)" stroke-width="2.5"/>
+</svg>
index 23ae922..f25ca8f 100644 (file)
@@ -8,32 +8,66 @@ var ImageDataStage = Utilities.createSubclass(Stage,
         this._offsetIndex = 0;
     }, {
 
-    testImageSrc: './../resources/yin-yang.png',
+    imageWidth: 100,
+    imageHeight: 100,
+    pixelStride: 4,
+    rowStride: 400,
+    weightNegativeThreshold: 0.04,
+    weightPositiveThreshold: 0.96,
+    imageSrcs: [
+        "compass",
+        "console",
+        "contribute",
+        "debugger",
+        "inspector",
+        "layout",
+        "performance",
+        "script",
+        "shortcuts",
+        "standards",
+        "storage",
+        "styles",
+        "timeline"
+    ],
+    images: [],
 
     initialize: function(benchmark)
     {
         Stage.prototype.initialize.call(this, benchmark);
 
         var waitForLoad = new SimplePromise;
+
+        var lastPromise;
+        var images = this.images;
+        this.imageSrcs.forEach(function(imageSrc) {
+            var promise = this._loadImage("resources/" + imageSrc + ".svg");
+            if (!lastPromise)
+                lastPromise = promise;
+            else {
+                lastPromise = lastPromise.then(function(img) {
+                    images.push(img);
+                    return promise;
+                });
+            }
+        }, this);
+
+        lastPromise.then(function(img) {
+            images.push(img);
+            benchmark.readyPromise.resolve();
+        }.bind(this));
+    },
+
+    _loadImage: function(src) {
         var img = new Image;
+        var promise = new SimplePromise;
 
         img.addEventListener('load', function onImageLoad(e) {
             img.removeEventListener('load', onImageLoad);
-            waitForLoad.resolve(img);
+            promise.resolve(img);
         });
 
-        img.src = this.testImageSrc;
-
-        waitForLoad.then(function(img) {
-            this.testImage = img;
-            this.testImageWidth = img.naturalWidth;
-            this.testImageHeight = img.naturalHeight;
-
-            this.diffuseXOffset = 4,
-            this.diffuseYOffset = this.testImageWidth * 4;
-
-            benchmark.readyPromise.resolve();
-        }.bind(this));
+        img.src = src;
+        return promise;
     },
 
     tune: function(count)
@@ -44,14 +78,16 @@ var ImageDataStage = Utilities.createSubclass(Stage,
         if (count < 0) {
             this._offsetIndex = Math.max(this._offsetIndex + count, 0);
             for (var i = this._offsetIndex; i < this.testElements.length; ++i)
-                this.testElements[i].style.visibility = "hidden";
+                this.testElements[i].style.display = "none";
             return;
         }
 
         this._offsetIndex = this._offsetIndex + count;
         var index = Math.min(this._offsetIndex, this.testElements.length);
-        for (var i = 0; i < index; ++i)
-            this.testElements[i].style.visibility = "";
+        for (var i = 0; i < index; ++i) {
+            this.testElements[i].style.display = "block";
+            this._refreshElement(this.testElements[i]);
+        }
         if (this._offsetIndex <= this.testElements.length)
             return;
 
@@ -65,38 +101,35 @@ var ImageDataStage = Utilities.createSubclass(Stage,
 
     _createTestElement: function() {
         var element = document.createElement('canvas');
-        element.width = this.testImageWidth;
-        element.height = this.testImageHeight;
-
-        var context = element.getContext("2d");
+        element.width = this.imageWidth;
+        element.height = this.imageHeight;
+        element.style.width = this.imageWidth + 'px';
+        element.style.height = this.imageHeight + 'px';
 
-        // Put draw image into the canvas
-        context.drawImage(this.testImage, 0, 0, this.testImageWidth, this.testImageHeight);
+        this._refreshElement(element);
+        return element;
+    },
 
-        // randomize location
-        var left = Stage.randomInt(0, this.size.width - this.testImageWidth);
-        var top = Stage.randomInt(0, this.size.height - this.testImageHeight);
+    _refreshElement: function(element) {
+        var top = Stage.randomInt(0, Math.floor((this.size.height - this.imageHeight) / this.imageHeight)) * this.imageHeight;
+        var left = Stage.randomInt(0, Math.floor((this.size.width - this.imageWidth) / this.imageWidth)) * this.imageWidth;
 
         element.style.top = top + 'px';
         element.style.left = left + 'px';
-        element.style.width = this.testImageWidth + 'px';
-        element.style.height = this.testImageHeight + 'px';
-
-        return element;
     },
 
     animate: function(timeDelta) {
         for (var i = 0; i < this._offsetIndex; ++i) {
-            var context = this.testElements[i].getContext("2d");
+            var element = this.testElements[i];
+            var context = element.getContext("2d");
 
             // Get image data
-            var imageData = context.getImageData(0, 0, this.testImageWidth, this.testImageHeight);
+            var imageData = context.getImageData(0, 0, this.imageWidth, this.imageHeight);
 
-            var rgbaLen = 4,
-                didDraw = false,
+            var didDraw = false,
                 neighborPixelIndex,
                 dataLen = imageData.data.length;
-            for (var j = 0; j < dataLen; j += rgbaLen) {
+            for (var j = 0; j < dataLen; j += this.pixelStride) {
                 if (imageData.data[j + 3] === 0)
                     continue;
 
@@ -107,38 +140,24 @@ var ImageDataStage = Utilities.createSubclass(Stage,
                 imageData.data[j] = imageData.data[neighborPixelIndex];
                 imageData.data[j + 1] = imageData.data[neighborPixelIndex + 1];
                 imageData.data[j + 2] = imageData.data[neighborPixelIndex + 2];
-                imageData.data[j + 3] = Math.max(imageData.data[neighborPixelIndex + 3] - j % 10, 0);
+                imageData.data[j + 3] = imageData.data[neighborPixelIndex + 3];
                 didDraw = true;
             }
 
-            // Put the image data back into the canvas
-            context.putImageData(imageData, 0, 0);
-
-             // If it didn't draw restart
-            if (!didDraw)
-                context.drawImage(this.testImage, 0, 0, this.testImageWidth, this.testImageHeight)
+            if (didDraw)
+                context.putImageData(imageData, 0, 0);
+            else {
+                this._refreshElement(element);
+                element.getContext("2d").drawImage(this.images[Stage.randomInt(0, this.images.length - 1)], 0, 0, this.imageWidth, this.imageHeight);
+            }
         }
     },
 
-    _getRandomNeighboringPixelIndex: function(pixelIdx, pixelArrayLength) {
-        var xOffset = Stage.randomInt(-1, 1),
-            yOffset = Stage.randomInt(-1, 1),
-            resultPixelIdx = pixelIdx;
-
-        // Add X to the result
-        resultPixelIdx += (this.diffuseXOffset * xOffset);
-        // Add Y to the result
-        resultPixelIdx += (this.diffuseYOffset * yOffset);
-
-        // Don't fall off the end of the image
-        if (resultPixelIdx > pixelArrayLength)
-            resultPixelIdx = pixelIdx;
-
-        // Don't fall off the beginning of the image
-        if (resultPixelIdx < 0)
-            resultPixelIdx = 0;
-
-        return resultPixelIdx;
+    _getRandomNeighboringPixelIndex: function(pixelIdx, pixelArrayLength)
+    {
+        var xOffset = Math.floor((Pseudo.random() - this.weightNegativeThreshold) / (this.weightPositiveThreshold - this.weightNegativeThreshold));
+        var yOffset = Math.floor((Pseudo.random() - this.weightNegativeThreshold) / (this.weightPositiveThreshold - this.weightNegativeThreshold));
+        return (pixelIdx + this.pixelStride * xOffset + this.rowStride * yOffset) % pixelArrayLength;
     },
 
     complexity: function()
diff --git a/PerformanceTests/Animometer/tests/master/resources/inspector.svg b/PerformanceTests/Animometer/tests/master/resources/inspector.svg
new file mode 100644 (file)
index 0000000..68cc413
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright © 2016 Apple Inc. All rights reserved. -->
+<svg width="48px" height="48px" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg">
+    <circle fill="none" stroke="rgb(0, 136, 204)" stroke-width="2.5" cx="24" cy="24" r="18"/>
+    <path d="M 28.5 25.5 L 48 25.5 L 48 23 L 28.5 23 L 28.5 25.5 M 23 28.5 L 23 48 L 25.5 48 L 25.5 28.5 L 23 28.5 M 0 25.5 L 19.5 25.5 L 19.5 23 L 5.99520433e-15 23 L 0 25.5 M 23 0 L 23 19.5 L 25.5 19.5 L 25.5 0 L 23 0" fill="white"/>
+</svg>
diff --git a/PerformanceTests/Animometer/tests/master/resources/layout.svg b/PerformanceTests/Animometer/tests/master/resources/layout.svg
new file mode 100644 (file)
index 0000000..73db97e
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright © 2016 Apple Inc. All rights reserved. -->
+<svg width="48px" height="48px" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg">
+    <path d="M 44.5086986 24.2230775 L 24.1090229 24.2230775 L 24.1090229 4.50363839 L 24.1090229 4.50363839" fill="none" stroke="white" stroke-width="2.5"/>
+    <rect x="3.71000004" y="4.50363839" width="40.7993514" height="39.4388783" fill="none" stroke="rgb(191, 109, 113)" stroke-width="2.5"/>
+</svg>
diff --git a/PerformanceTests/Animometer/tests/master/resources/performance.svg b/PerformanceTests/Animometer/tests/master/resources/performance.svg
new file mode 100644 (file)
index 0000000..37c4e95
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright © 2016 Apple Inc. All rights reserved. -->
+<svg width="48px" height="48px" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg">
+    <path d="M 24 45.76 L 24 45.76 C 36.0177161 45.76 45.76 36.0177162 45.76 24 C 45.76 11.9822838 36.0177161 2.24 24 2.24 C 11.9822838 2.24 2.24 11.9822838 2.24 24 C 2.24 36.0177162 11.9822838 45.76 24 45.76 L 24 45.76 L 24 45.76 L 24 45.76 Z M 24 48 L 24 48 C 10.745166 48 -1.77635684e-14 37.254834 -1.77635684e-14 24 C -1.77635684e-14 10.745166 10.745166 2.84217094e-14 24 2.84217094e-14 C 37.254834 2.84217094e-14 48 10.745166 48 24 C 48 37.254834 37.254834 48 24 48 L 24 48 L 24 48 L 24 48 Z" fill="rgb(152, 188, 77)"/>
+    <path d="M 25.4586474 22.9633529 L 36.6273818 12.9367924 L 19.3784717 20.0882179 L 22.54035 25.0378408 L 11.3720064 35.0646845 L 28.6179627 27.9103051 L 25.4586474 22.9633529 L 25.4586474 22.9633529 Z" fill="white"/>
+</svg>
diff --git a/PerformanceTests/Animometer/tests/master/resources/script.svg b/PerformanceTests/Animometer/tests/master/resources/script.svg
new file mode 100644 (file)
index 0000000..5e3f9c1
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright © 2016 Apple Inc. All rights reserved. -->
+<svg width="48px" height="48px" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg">
+    <path d="M 9.4057939 17.7395629 C 10.1528885 17.0482595 11.14598 16.6062505 12.2562501 16.6062505 C 14.6587038 16.6062505 16.5125003 18.7103026 16.5125003 20.8625007 C 16.5125003 20.8625007 18.178953 19.2008056 19.0121793 18.369958 C 21.6138782 15.7756868 26.817276 10.5871443 26.817276 10.5871443 C 26.817276 10.5871443 37.1931445 21.9632427 37.5748423 22.4630973 C 38.0895548 23.1371422 39.2154452 24.3686768 39.2154452 26.5456407 C 39.2154452 27.6292862 38.7691081 28.6850409 38.0240604 29.4729943 C 37.2725506 30.267782 21.5041804 45.9478026 22.256517 45.2395774 C 23.0871144 44.4575043 23.6062505 43.3509701 23.6062505 42.1437514 C 23.6062505 39.8308355 22.4995839 38.7247751 21.9516194 38.0693479 C 21.9377433 38.0527505 21.4369464 37.5002693 20.6469581 36.6292772 L 15.0937502 42.1437514 C 15.0937502 44.4944134 16.9993383 46.4000015 19.3500004 46.4000015 C 20.4737422 46.4000015 21.4957691 45.9558816 22.256517 45.2395774 L 22.256517 45.2395773 C 22.2567055 45.2393999 22.256895 45.2392214 22.2570855 45.2390419 C 23.0873513 44.4569993 23.6062505 43.3506946 23.6062505 42.1437514 C 23.6062505 39.8308355 22.4995839 38.7247751 21.9516194 38.0693479 C 21.4036549 37.4139207 10.6902909 25.670612 9.9591809 24.8251984 C 9.2280709 23.9797848 8 23.049163 8 20.8625007 C 8 19.6863826 8.5362909 18.5441335 9.4057939 17.7395629 C 8.5362926 18.5441317 24.254167 2.7911567 25.2247918 1.98986582 C 25.9645636 1.37915353 26.8917931 1 27.8625007 1 C 30.1068344 1 32.1634331 3.09747093 32.1634331 5.25625015 L 16.5125003 20.8625007 C 16.5125003 18.7103026 14.6587038 16.6062505 12.2562501 16.6062505 C 11.1459801 16.6062505 10.1528886 17.0482595 9.405794 17.7395627 L 9.4057939 17.7395629 Z" fill="none" stroke="rgb(153, 127, 166)" stroke-width="2.5"/>
+</svg>
diff --git a/PerformanceTests/Animometer/tests/master/resources/shortcuts.svg b/PerformanceTests/Animometer/tests/master/resources/shortcuts.svg
new file mode 100644 (file)
index 0000000..edaa849
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright © 2016 Apple Inc. All rights reserved. -->
+<svg width="48px" height="48px" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg">
+    <path d="M 5 35.8242187 C 5 39.7527757 8.1847243 42.9375 12.1132812 42.9375 C 16.0418382 42.9375 19.2265625 39.7527757 19.2265625 35.8242187 L 19.2265625 11.9442883 C 19.2265625 8.1847243 16.0418382 5 12.1132812 5 C 8.1847243 5 5 8.1847243 5 12.1132812 C 5 16.0418382 8.1847243 19.2265625 12.1132812 19.2265625 L 35.8928161 19.2265625 C 39.7527757 19.2265625 42.9375 16.0418382 42.9375 12.1132812 C 42.9375 8.1847243 39.7527757 5 35.8242188 5 C 31.8956618 5 28.7109375 8.1847243 28.7109375 12.1132812 L 28.7109375 35.8190088 C 28.7109375 39.7527757 31.8956618 42.9375 35.8242187 42.9375 C 39.7527757 42.9375 42.9375 39.7527757 42.9375 35.8242188 C 42.9375 31.8956618 39.7527757 28.7109375 35.8242187 28.7109375 L 12.1184912 28.7109375 C 8.1847243 28.7109375 5 31.8956618 5 35.8242187 Z" fill="none" stroke="rgb(0, 136, 204)" stroke-width="2.5"/>
+</svg>
diff --git a/PerformanceTests/Animometer/tests/master/resources/standards.svg b/PerformanceTests/Animometer/tests/master/resources/standards.svg
new file mode 100644 (file)
index 0000000..ac1e693
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright © 2016 Apple Inc. All rights reserved. -->
+<svg width="48px" height="48px" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg">
+    <path d="M 42.0710239 24.0177617 C 39.1538386 16.9070258 32.1617573 11.8990479 24 11.8990479 C 16.3635634 11.8990479 9.75107907 16.2831086 6.54212676 22.6716502 M 30.9761247 44.4830419 C 32.2260967 41.0462637 32.9749756 36.6675422 32.9749756 31.8990479 C 32.9749756 20.8533529 28.9567421 11.8990479 24 11.8990479 C 19.0432579 11.8990479 15.0250244 20.8533529 15.0250244 31.8990479 C 15.0250244 36.5317055 15.7318455 40.7964804 16.9182797 44.1870585 L 16.9182797 44.1870585 M 6.58618164 23.392334 C 6.58618164 25.4881886 14.5338788 27.1872144 24.3378601 27.1872144 C 34.1418414 27.1872144 42.0895386 25.4881886 42.0895386 23.392334 M 7.57792629 35.5492537 C 10.9596878 37.443268 17.049483 38.7070228 24 38.7070228 C 31.5250917 38.7070228 38.041274 37.2256916 41.204187 35.0669761 M 24.25 12.9990234 L 24.25 45" fill="none" stroke="white" stroke-width="2.5"/>
+    <path d="M 8.20156221 41.7446204 L 4.60455725 1.39999998 L 44.1294427 1.39999998 L 40.5286241 41.7383005 L 24.34281 46.2255399 L 8.20156221 41.7446204 Z" fill="none" stroke="#BF7600" stroke-width="2.5"/>
+</svg>
diff --git a/PerformanceTests/Animometer/tests/master/resources/storage.svg b/PerformanceTests/Animometer/tests/master/resources/storage.svg
new file mode 100644 (file)
index 0000000..c34a9ed
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright © 2016 Apple Inc. All rights reserved. -->
+<svg width="48px" height="48px" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg">
+    <path d="M 39.9236499 31.5126111 C 41.869091 32.6498521 43 34.0625041 43 35.6923077 C 43 40.1632127 34.4896382 43 24 43 C 13.5103618 43 5 40.1632127 5 35.6923077 C 5 34.0625041 6.130909 32.6498521 8.07635005 31.5126111 C 9.14708175 31.9858647 10.3798534 32.4104194 11.7445378 32.7755154 C 9.22593316 33.7562269 7.92307692 34.9214488 7.92307692 35.6923077 C 7.92307692 36.4947878 9.3350136 37.7246485 12.0606138 38.728817 C 15.168606 39.8738668 19.433505 40.5384615 24 40.5384615 C 28.566495 40.5384615 32.831394 39.8738668 35.9393862 38.728817 C 38.6649864 37.7246485 40.0769231 36.4947878 40.0769231 35.6923077 C 40.0769231 34.9214488 38.7740668 33.7562269 36.2554622 32.7755154 C 37.6201466 32.4104194 38.8529182 31.9858647 39.9236499 31.5126111 Z M 39.9236499 19.8203034 C 41.869091 20.9575444 43 22.3701964 43 24 C 43 28.470905 34.4896382 31.3076923 24 31.3076923 C 13.5103618 31.3076923 5 28.470905 5 24 C 5 22.3701964 6.130909 20.9575444 8.07635005 19.8203034 C 9.06881359 20.2589632 10.2004933 20.6557834 11.4473978 21.0021956 C 9.12353139 22.0250817 7.92307692 23.2072017 7.92307692 24 C 7.92307692 24.8598001 9.3350136 26.177508 12.0606138 27.2534028 C 15.168606 28.4802419 19.433505 29.1923077 24 29.1923077 C 28.566495 29.1923077 32.831394 28.4802419 35.9393862 27.2534028 C 38.6649864 26.177508 40.0769231 24.8598001 40.0769231 24 C 40.0769231 23.2072017 38.8764686 22.0250817 36.5526022 21.0021956 C 37.7995067 20.6557834 38.9311864 20.2589632 39.9236499 19.8203034 Z M 43 12.3076923 C 43 7.83678727 34.4896382 5 24 5 C 13.5103618 5 5 7.83678727 5 12.3076923 C 5 16.7785973 13.5103618 19.6153846 24 19.6153846 C 34.4896382 19.6153846 43 16.7785973 43 12.3076923 Z M 12.0606138 15.3442016 C 9.3350136 14.3400331 7.92307692 13.1101724 7.92307692 12.3076923 C 7.92307692 11.5052122 9.3350136 10.2753515 12.0606138 9.27118298 C 15.168606 8.12613322 19.433505 7.46153846 24 7.46153846 C 28.566495 7.46153846 32.831394 8.12613322 35.9393862 9.27118298 C 38.6649864 10.2753515 40.0769231 11.5052122 40.0769231 12.3076923 C 40.0769231 13.1101724 38.6649864 14.3400331 35.9393862 15.3442016 C 32.831394 16.4892514 28.566495 17.1538462 24 17.1538462 C 19.433505 17.1538462 15.168606 16.4892514 12.0606138 15.3442016 Z" fill="rgb(153, 127, 166)"/>
+</svg>
diff --git a/PerformanceTests/Animometer/tests/master/resources/styles.svg b/PerformanceTests/Animometer/tests/master/resources/styles.svg
new file mode 100644 (file)
index 0000000..f50cff7
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright © 2016 Apple Inc. All rights reserved. -->
+<svg width="48px" height="48px" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg">
+    <path d="M 32.2807541 19.800573 C 30.8515632 18.9532817 29.6775632 16.9314716 29.6582461 15.2582558 L 29.5886562 9.2305008 C 29.5694759 7.56913954 30.7023175 6.90315961 32.1417063 7.75649663 L 37.3271003 10.8306408 C 38.7562912 11.677932 39.9302912 13.6997422 39.9496083 15.3729579 L 40.0191983 21.400713 C 40.0383785 23.0620742 38.905537 23.7280542 37.4661481 22.8747171 L 32.2807541 19.800573 L 32.2807541 19.800573 L 32.2807541 19.800573 Z M 22.7106927 25.0325153 C 21.2837011 24.186528 20.1113895 22.1575845 20.0922204 20.4971883 L 19.9529996 8.43813667 C 19.9338489 6.77933205 21.0737602 6.11960178 22.5021209 6.96640082 L 32.8759556 13.1164953 C 34.3029471 13.9624827 35.4752587 15.9914262 35.4944279 17.6518224 L 35.6336486 29.710874 C 35.6527994 31.3696786 34.512888 32.0294089 33.0845273 31.1826098 L 22.7106927 25.0325153 L 22.7106927 25.0325153 L 22.7106927 25.0325153 Z M 11.6578029 32.7104298 C 9.75514746 31.5824467 8.19206532 28.8771886 8.16650648 26.6633271 L 7.98087883 10.5845916 C 7.95534449 8.37285211 9.47522625 7.49321175 11.3797072 8.62227714 L 25.2114868 16.8224031 C 27.1141422 17.9503863 28.6772243 20.6556443 28.7027831 22.8695059 L 28.8884108 38.9482414 C 28.9139451 41.1599809 27.3940634 42.0396212 25.4895824 40.9105558 L 11.6578029 32.7104298 L 11.6578029 32.7104298 L 11.6578029 32.7104298 Z" fill="none" stroke="rgb(191, 109, 113)" stroke-width="2.5"/>
+</svg>
diff --git a/PerformanceTests/Animometer/tests/master/resources/timeline.svg b/PerformanceTests/Animometer/tests/master/resources/timeline.svg
new file mode 100644 (file)
index 0000000..cd1e8a4
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright © 2016 Apple Inc. All rights reserved. -->
+<svg width="48px" height="48px" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg">
+    <path d="M 24 45.76 L 24 45.76 C 36.0177161 45.76 45.76 36.0177162 45.76 24 C 45.76 11.9822838 36.0177161 2.24 24 2.24 C 11.9822838 2.24 2.24 11.9822838 2.24 24 C 2.24 36.0177162 11.9822838 45.76 24 45.76 L 24 45.76 L 24 45.76 L 24 45.76 Z M 24 48 L 24 48 C 10.745166 48 0 37.254834 0 24 C 0 10.745166 10.745166 0 24 0 C 37.254834 0 48 10.745166 48 24 C 48 37.254834 37.254834 48 24 48 L 24 48 L 24 48 L 24 48 Z" fill="rgb(0, 136, 204)"/>
+    <path d="M 24.625 7.57617187 L 24.625 24.5833333 L 15 24.5833333" fill="none" stroke="white" stroke-width="2.5"/>
+</svg>
index b0d3233..e9ccdb1 100644 (file)
@@ -1,3 +1,33 @@
+2016-03-03  Jon Lee  <jonlee@apple.com>
+
+        Update image test
+        https://bugs.webkit.org/show_bug.cgi?id=154962
+
+        Rubber-stamped by Darin Adler.
+
+        * Animometer/tests/master/image-data.html: Make each canvas have a compositing layer.
+        * Animometer/tests/master/resources/image-data.js:
+        (initialize): Update to load multiple images serially.
+        (_loadImage):
+        (tune): Use display instead of visibility. When showing an element anew, move it somewhere else.
+        (_createTestElement): Set up the element, refactor out placement of element to _refreshElement.
+        (_refreshElement): Place element in a tile grid.
+        (animate):
+        (_getRandomNeighboringPixelIndex): Use a more conservative distribution to make the effect last a little longer.
+        * Animometer/tests/master/resources/compass.svg: Added.
+        * Animometer/tests/master/resources/console.svg: Added.
+        * Animometer/tests/master/resources/contribute.svg: Added.
+        * Animometer/tests/master/resources/debugger.svg: Added.
+        * Animometer/tests/master/resources/inspector.svg: Added.
+        * Animometer/tests/master/resources/layout.svg: Added.
+        * Animometer/tests/master/resources/performance.svg: Added.
+        * Animometer/tests/master/resources/script.svg: Added.
+        * Animometer/tests/master/resources/shortcuts.svg: Added.
+        * Animometer/tests/master/resources/standards.svg: Added.
+        * Animometer/tests/master/resources/storage.svg: Added.
+        * Animometer/tests/master/resources/styles.svg: Added.
+        * Animometer/tests/master/resources/timeline.svg: Added.
+
 2016-03-02  Jon Lee  <jonlee@apple.com>
 
         Add some new controllers, and refine tests