[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

ojan at chromium.org ojan at chromium.org
Thu Apr 8 01:09:08 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit b986f36714fefd5b5fffee8e2ce54148d81a831d
Author: ojan at chromium.org <ojan at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Jan 15 01:24:20 2010 +0000

    2010-01-13  Ojan Vafai  <ojan at chromium.org>
    
            Reviewed by Eric Seidel.
    
            LayoutTests/animations/play-state.html and LayoutTests/animations/3d/transform-origin-vs-functions.html are flaky
            https://bugs.webkit.org/show_bug.cgi?id=33626
    
            Speculative fixes.
    
            * animations/3d/transform-origin-vs-functions.html:
            Remove timeout for notifyDone and start measurement at
            webkitAnimationStart instead of body onload.
            * animations/play-state-expected.txt:
            * animations/play-state.html:
            Reduce test time in half, but keep the same tolerance level.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53303 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 16e9074..c641de5 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -2,6 +2,22 @@
 
         Reviewed by Eric Seidel.
 
+        LayoutTests/animations/play-state.html and LayoutTests/animations/3d/transform-origin-vs-functions.html are flaky
+        https://bugs.webkit.org/show_bug.cgi?id=33626
+
+        Speculative fixes.
+
+        * animations/3d/transform-origin-vs-functions.html:
+        Remove timeout for notifyDone and start measurement at
+        webkitAnimationStart instead of body onload.
+        * animations/play-state-expected.txt:
+        * animations/play-state.html:
+        Reduce test time in half, but keep the same tolerance level.
+
+2010-01-13  Ojan Vafai  <ojan at chromium.org>
+
+        Reviewed by Eric Seidel.
+
         A few more flaky transitions/animations tests
         https://bugs.webkit.org/show_bug.cgi?id=33642
 
diff --git a/LayoutTests/animations/3d/transform-origin-vs-functions.html b/LayoutTests/animations/3d/transform-origin-vs-functions.html
index e6874c2..9d9978d 100644
--- a/LayoutTests/animations/3d/transform-origin-vs-functions.html
+++ b/LayoutTests/animations/3d/transform-origin-vs-functions.html
@@ -21,7 +21,6 @@
       position: absolute;
       background-color: #282;
       -webkit-animation-duration: 2s;
-      -webkit-animation-name: b1;
       -webkit-animation-iteration-count: infinite;
       -webkit-animation-timing-function: linear;
       -webkit-transform-origin: center center 200px;
@@ -42,7 +41,6 @@
       position: absolute;
       background-color: #282;
       -webkit-animation-duration: 2s;
-      -webkit-animation-name: b2;
       -webkit-animation-iteration-count: infinite;
       -webkit-animation-timing-function: linear;
     }
@@ -63,30 +61,24 @@
       }
 
       result = "";
-      const defaultTolerance = 0.2;
 
       const expected = {
           "b1" : [ 0,0,-1,0, 0,1,0,0, 1,0,0,0, 0,0,0,1 ],
           "b2" : [ 0,0,-1,0, 0,1,0,0, 1,0,0,0, -200,0,200,1 ]
       };
-      
-      const tolerance = 0.2;
 
-      function isEqual(actual, desired, tolerance)
+      const tolerance = 0.2;
+      function isEqual(actual, desired)
       {
-          if (tolerance == undefined || tolerance == 0)
-              tolerance = defaultTolerance;
           var diff = Math.abs(actual - desired);
           return diff <= tolerance;
       }
 
+      var numSnapshots = 0;
+
       function snapshot(id)
       {
           var e = document.getElementById(id);
-          if (!e) {
-              result += "FAIL(element '"+id+"' does not exist"+")<br>";
-              return;
-          }
           var t = window.getComputedStyle(e).webkitTransform;
           var a = t.split("(");
           var array = a[1].split(",");
@@ -94,7 +86,7 @@
           for (i = 0; i < 16; ++i) {
               var actual = parseFloat(array[i]);
               var expect = expected[id][i];
-              if (!isEqual(actual, expect, tolerance)) {
+              if (!isEqual(actual, expect)) {
                   result += "FAIL(element '"+id+"' matrix["+i+"]' was:"+actual+", expected:"+expect+")<br>";
                   pass = false;
               }
@@ -102,17 +94,33 @@
           
           if (pass)
             result += "PASS(element '"+id+"' matches expected value)<br>";
+          
+          numSnapshots++;
+          if (numSnapshots == 2) {
+              document.getElementById('result').innerHTML = result;
+              if (window.layoutTestController)
+                  layoutTestController.notifyDone();
+          }
+      }
+      
+      function snapshotOnTimeout(id) {
+          setTimeout("snapshot('" + id + "')", 250);
       }
 
-      function start()
+      function startAnimation(id)
       {
-          setTimeout("snapshot('b1'); snapshot('b2');", 250);
+          var element = document.getElementById(id);
+          element.addEventListener('webkitAnimationStart', function() {
+              // delay to give hardware animations a chance to start
+              window.setTimeout("snapshotOnTimeout('" + id + "')", 0);
+          }, false);
+          element.style.webkitAnimationName = id;
+      }
 
-          window.setTimeout(function() {
-              document.getElementById('result').innerHTML = result;
-              if (window.layoutTestController)
-                  layoutTestController.notifyDone();
-          }, 300);
+      function start()
+      {
+          startAnimation('b1');
+          startAnimation('b2');
       }
 
     </script>
diff --git a/LayoutTests/animations/play-state-expected.txt b/LayoutTests/animations/play-state-expected.txt
index dd4f796..cb60227 100644
--- a/LayoutTests/animations/play-state-expected.txt
+++ b/LayoutTests/animations/play-state-expected.txt
@@ -1,9 +1,9 @@
-This tests the operation of -webkit-animation-play-state. After 1 seconds the box should stop and after one more second it should start again. We test it both while in motion and when stopped.
+This tests the operation of -webkit-animation-play-state. After half a second the box should stop and after one more half-second it should start again. We test it both while in motion and when stopped.
 
-PASS - "webkitTransform" property for "box1" element at 0.5s saw something close to: 1,0,0,1,25,0
-PASS - "left" property for "box2" element at 0.5s saw something close to: 25
-PASS - "webkitTransform" property for "box1" element at 1.5s saw something close to: 1,0,0,1,50,0
-PASS - "left" property for "box2" element at 1.5s saw something close to: 50
-PASS - "webkitTransform" property for "box1" element at 2.5s saw something close to: 1,0,0,1,75,0
-PASS - "left" property for "box2" element at 2.5s saw something close to: 75
+PASS - "webkitTransform" property for "box1" element at 0.25s saw something close to: 1,0,0,1,25,0
+PASS - "left" property for "box2" element at 0.25s saw something close to: 25
+PASS - "webkitTransform" property for "box1" element at 0.75s saw something close to: 1,0,0,1,50,0
+PASS - "left" property for "box2" element at 0.75s saw something close to: 50
+PASS - "webkitTransform" property for "box1" element at 1.25s saw something close to: 1,0,0,1,75,0
+PASS - "left" property for "box2" element at 1.25s saw something close to: 75
 
diff --git a/LayoutTests/animations/play-state.html b/LayoutTests/animations/play-state.html
index f548559..48245be 100644
--- a/LayoutTests/animations/play-state.html
+++ b/LayoutTests/animations/play-state.html
@@ -9,7 +9,7 @@
       width: 100px;
       background-color: blue;
       margin: 0;
-      -webkit-animation-duration: 2s;
+      -webkit-animation-duration: 1s;
       -webkit-animation-timing-function: linear;
       -webkit-animation-name: "move1";
       -webkit-animation-play-state: running;
@@ -24,7 +24,7 @@
       height: 100px;
       width: 100px;
       background-color: red;
-      -webkit-animation-duration: 2s;
+      -webkit-animation-duration: 1s;
       -webkit-animation-timing-function: linear;
       -webkit-animation-name: "move2";
     }
@@ -38,12 +38,12 @@
     
     const expectedValues = [
       // [animation-name, time, element-id, property, expected-value, tolerance]
-      ["move1", 0.5, "box1", "webkitTransform", [1,0,0,1,25,0], 10],
-      ["move1", 1.5, "box1", "webkitTransform", [1,0,0,1,50,0], 10],
-      ["move1", 2.5, "box1", "webkitTransform", [1,0,0,1,75,0], 10],
-      ["move2", 0.5, "box2", "left", 25, 10],
-      ["move3", 1.5, "box2", "left", 50, 10],
-      ["move4", 2.5, "box2", "left", 75, 10],
+      ["move1", 0.25, "box1", "webkitTransform", [1,0,0,1,25,0], 10],
+      ["move1", 0.75, "box1", "webkitTransform", [1,0,0,1,50,0], 10],
+      ["move1", 1.25, "box1", "webkitTransform", [1,0,0,1,75,0], 10],
+      ["move2", 0.25, "box2", "left", 25, 10],
+      ["move3", 0.75, "box2", "left", 50, 10],
+      ["move4", 1.25, "box2", "left", 75, 10],
     ];
     
     function stop()
@@ -60,8 +60,8 @@
 
     function setTimers()
     {
-        setTimeout(stop, 1000);
-        setTimeout(start, 2000);
+        setTimeout(stop, 500);
+        setTimeout(start, 1000);
     }
     
     runAnimationTest(expectedValues, setTimers, null, true);
@@ -70,8 +70,8 @@
 </head>
 <body>
 <p>
-This tests the operation of -webkit-animation-play-state. After 1 seconds the box should stop and after one
-more second it should start again. We test it both while in motion and when stopped.
+This tests the operation of -webkit-animation-play-state. After half a second the box should stop and after one
+more half-second it should start again. We test it both while in motion and when stopped.
 <div id="box1">
 </div>
 <div id="box2">

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list