svg/hixie/perf has different repaint region in debug vs release
authorzimmermann@webkit.org <zimmermann@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 14 Feb 2012 10:54:15 +0000 (10:54 +0000)
committerzimmermann@webkit.org <zimmermann@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 14 Feb 2012 10:54:15 +0000 (10:54 +0000)
https://bugs.webkit.org/show_bug.cgi?id=78516

Reviewed by Hajime Morita.

Based on patch by Tony Chang <tony@chromium.org>.

The problem is the progress text in the lower right.  It says,
"Test in progress... X of 10".  Depending on how fast the test runs,
this text is never painted and the repaint region changes.  Disable
painting of the intermediate text and only include the final text.

Extended Tonys original patch to cover all svg/hixie/perf tests that
suffered from this issue - also avoid using setTimeout between the
individual steps, as we're only interessted in the final repaint
region, not the intermediate ones.

* platform/mac/svg/hixie/perf/001-expected.png:
* platform/mac/svg/hixie/perf/002-expected.png:
* platform/mac/svg/hixie/perf/003-expected.png:
* svg/hixie/perf/001.xml:
* svg/hixie/perf/002.xml:
* svg/hixie/perf/003.xml:
* svg/hixie/perf/004.xml:
* svg/hixie/perf/005.xml:
* svg/hixie/perf/006.xml:

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

LayoutTests/ChangeLog
LayoutTests/platform/mac/svg/hixie/perf/001-expected.png
LayoutTests/platform/mac/svg/hixie/perf/002-expected.png
LayoutTests/platform/mac/svg/hixie/perf/003-expected.png
LayoutTests/svg/hixie/perf/001.xml
LayoutTests/svg/hixie/perf/002.xml
LayoutTests/svg/hixie/perf/003.xml
LayoutTests/svg/hixie/perf/004.xml
LayoutTests/svg/hixie/perf/005.xml
LayoutTests/svg/hixie/perf/006.xml

index 464104a..a1c6450 100644 (file)
@@ -1,5 +1,34 @@
 2012-02-14  Nikolas Zimmermann  <nzimmermann@rim.com>
 
+        svg/hixie/perf has different repaint region in debug vs release
+        https://bugs.webkit.org/show_bug.cgi?id=78516
+
+        Reviewed by Hajime Morita.
+
+        Based on patch by Tony Chang <tony@chromium.org>.
+
+        The problem is the progress text in the lower right.  It says,
+        "Test in progress... X of 10".  Depending on how fast the test runs,
+        this text is never painted and the repaint region changes.  Disable
+        painting of the intermediate text and only include the final text.
+
+        Extended Tonys original patch to cover all svg/hixie/perf tests that
+        suffered from this issue - also avoid using setTimeout between the
+        individual steps, as we're only interessted in the final repaint
+        region, not the intermediate ones.
+
+        * platform/mac/svg/hixie/perf/001-expected.png:
+        * platform/mac/svg/hixie/perf/002-expected.png:
+        * platform/mac/svg/hixie/perf/003-expected.png:
+        * svg/hixie/perf/001.xml:
+        * svg/hixie/perf/002.xml:
+        * svg/hixie/perf/003.xml:
+        * svg/hixie/perf/004.xml:
+        * svg/hixie/perf/005.xml:
+        * svg/hixie/perf/006.xml:
+
+2012-02-14  Nikolas Zimmermann  <nzimmermann@rim.com>
+
         Not reviewed. Add mixing Lion pixel test result for a svg/carto.net test.
 
         * platform/mac/svg/carto.net/scrollbar-expected.png: Added.
index 87e0fb6..bc4741e 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/hixie/perf/001-expected.png and b/LayoutTests/platform/mac/svg/hixie/perf/001-expected.png differ
index 0cad5a5..f144e87 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/hixie/perf/002-expected.png and b/LayoutTests/platform/mac/svg/hixie/perf/002-expected.png differ
index e193d41..57f2ba3 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/hixie/perf/003-expected.png and b/LayoutTests/platform/mac/svg/hixie/perf/003-expected.png differ
index e05ec17..e24ee36 100644 (file)
   var dx = 5;
   var dy = -5;
   var count = 0;
-  if (window.layoutTestController)
-    layoutTestController.waitUntilDone();
   function repaintTest() {
    if ((cx + r + dx > 390) || (cx - r + dx < -190))
      dx =- dx;
    c.setAttribute('cy', cy);
    ++count;
    if (count < max) {
-     window.setTimeout(repaintTest, 0);
-     t.firstChild.data = 'Test in progress... ' + count + ' of ' + max;
+     if (window.layoutTestController)
+       repaintTest();
+     else {
+       window.setTimeout(repaintTest, 0);
+       t.firstChild.data = 'Test in progress... ' + count + ' of ' + max;
+     }
    } else {
-     if (window.layoutTestController) {
+     if (window.layoutTestController)
        t.firstChild.data = 'Test completed';
-       layoutTestController.notifyDone();
-     } else {
+     else {
        var end = new Date();
        var elapsed = (end - start) / 1000;
        t.firstChild.data = 'Test completed in ' + elapsed.toFixed(2) + 's.';
index 404d04b..ffd9c46 100644 (file)
   var dx = 5;
   var dy = -5;
   var count = 0;
-  if (window.layoutTestController)
-    layoutTestController.waitUntilDone();
   function repaintTest() {
    if ((cx + r + dx > 390) || (cx - r + dx < -190))
      dx =- dx;
    c.setAttribute('cy', cy);
    ++count;
    if (count < max) {
-     window.setTimeout(repaintTest, 0);
-     t.firstChild.data = 'Test in progress... ' + count + ' of ' + max;
+     if (window.layoutTestController)
+       repaintTest();
+     else {
+       window.setTimeout(repaintTest, 0);
+       t.firstChild.data = 'Test in progress... ' + count + ' of ' + max;
+     }
    } else {
-     if (window.layoutTestController) {
+     if (window.layoutTestController)
        t.firstChild.data = 'Test completed';
-       layoutTestController.notifyDone();
-     } else {
+     else {
        var end = new Date();
        var elapsed = (end - start) / 1000;
        t.firstChild.data = 'Test completed in ' + elapsed.toFixed(2) + 's.';
index 06679b6..fc2dca2 100644 (file)
@@ -46,8 +46,6 @@
   var maxPerBlock = Xs.length / (idealTime / delay);
   var maxBlocks = Xs.length / maxPerBlock;
   var count = 0;
-  if (window.layoutTestController)
-    layoutTestController.waitUntilDone();
   function repaintTest() {
     for (var subcount = 0; subcount < maxPerBlock; subcount += 1) {
       var index = count * maxPerBlock + subcount;
     }
     ++count;
     if (count < maxBlocks) {
-      window.setTimeout(repaintTest, delay);
-      t.firstChild.data = 'Test in progress... ' + count + ' of ' + maxBlocks;
+      if (window.layoutTestController)
+        repaintTest();
+      else {
+        window.setTimeout(repaintTest, delay);
+        t.firstChild.data = 'Test in progress... ' + count + ' of ' + maxBlocks;
+      }
     } else {
-      if (window.layoutTestController) {
+      if (window.layoutTestController)
         t.firstChild.data = 'Test completed';
-        layoutTestController.notifyDone();
-      } else {
+      else {
         var end = new Date();
         var elapsed = (end - start) / 1000;
         t.firstChild.data = 'Test completed in ' + elapsed.toFixed(2) + 's.';
index 808e4e9..8333fbe 100644 (file)
@@ -46,8 +46,6 @@
   var maxPerBlock = Xs.length / (idealTime / delay);
   var maxBlocks = Xs.length / maxPerBlock;
   var count = 0;
-  if (window.layoutTestController)
-    layoutTestController.waitUntilDone();
   function repaintTest() {
     for (var subcount = 0; subcount < maxPerBlock; subcount += 1) {
       var index = count * maxPerBlock + subcount;
     }
     ++count;
     if (count < maxBlocks) {
-      window.setTimeout(repaintTest, delay);
-      t.firstChild.data = 'Test in progress... ' + count + ' of ' + maxBlocks;
+      if (window.layoutTestController)
+        repaintTest();
+      else {
+        window.setTimeout(repaintTest, delay);
+        t.firstChild.data = 'Test in progress... ' + count + ' of ' + maxBlocks;
+      }
     } else {
-      if (window.layoutTestController) {
+      if (window.layoutTestController)
         t.firstChild.data = 'Test completed';
-        layoutTestController.notifyDone();
-      } else {
+      else {
         var end = new Date();
         var elapsed = (end - start) / 1000;
         t.firstChild.data = 'Test completed in ' + elapsed.toFixed(2) + 's.';
index f08e08c..3b9e400 100644 (file)
@@ -52,8 +52,6 @@
   var maxPerBlock = Xs.length / (idealTime / delay);
   var maxBlocks = Xs.length / maxPerBlock;
   var count = 0;
-  if (window.layoutTestController)
-    layoutTestController.waitUntilDone();
   function repaintTest() {
     for (var subcount = 0; subcount < maxPerBlock; subcount += 1) {
       var index = count * maxPerBlock + subcount;
     }
     ++count;
     if (count < maxBlocks) {
-      window.setTimeout(repaintTest, delay);
-      t.firstChild.data = 'Test in progress... ' + count + ' of ' + maxBlocks;
+      if (window.layoutTestController)
+        repaintTest();
+      else {
+        window.setTimeout(repaintTest, delay);
+        t.firstChild.data = 'Test in progress... ' + count + ' of ' + maxBlocks;
+      }
     } else {
-      if (window.layoutTestController) {
+      if (window.layoutTestController)
         t.firstChild.data = 'Test completed';
-        layoutTestController.notifyDone();
-      } else {
+      else {
         var end = new Date();
         var elapsed = (end - start) / 1000;
         t.firstChild.data = 'Test completed in ' + elapsed.toFixed(2) + 's.';
index e746689..17d0392 100644 (file)
@@ -52,8 +52,6 @@
   var maxPerBlock = Xs.length / (idealTime / delay);
   var maxBlocks = Xs.length / maxPerBlock;
   var count = 0;
-  if (window.layoutTestController)
-    layoutTestController.waitUntilDone();
   function repaintTest() {
     for (var subcount = 0; subcount < maxPerBlock; subcount += 1) {
       var index = count * maxPerBlock + subcount;
     }
     ++count;
     if (count < maxBlocks) {
-      window.setTimeout(repaintTest, delay);
-      t.firstChild.data = 'Test in progress... ' + count + ' of ' + maxBlocks;
+      if (window.layoutTestController)
+        repaintTest();
+      else {
+        window.setTimeout(repaintTest, delay);
+        t.firstChild.data = 'Test in progress... ' + count + ' of ' + maxBlocks;
+      }
     } else {
-      if (window.layoutTestController) {
+      if (window.layoutTestController)
         t.firstChild.data = 'Test completed';
-        layoutTestController.notifyDone();
-      } else {
+      else {
         var end = new Date();
         var elapsed = (end - start) / 1000;
         t.firstChild.data = 'Test completed in ' + elapsed.toFixed(2) + 's.';