Title: [156301] trunk
Revision
156301
Author
[email protected]
Date
2013-09-23 15:16:44 -0700 (Mon, 23 Sep 2013)

Log Message

REGRESSION (r155998): when zooming in, tiles are too small
https://bugs.webkit.org/show_bug.cgi?id=121765

Source/WebCore:

Reviewed by Dean Jackson.

In r155998 I made GraphicsLayerCA take root-relative transforms
into account when computing contentsScale, and landed a bunch of
new results which should actually have told me that I broke page
scaling.

We don't want to take page scale into account when computing contentsScale,
because we already do so, so ignore the transform on the layer that
applies page scale (the only transform it should ever has is the page scale).

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateRootRelativeScale):

LayoutTests:

Reviewed by Dean Jackson.

Fix results of tests that showed that we had incorrect tiling
behavior on zooming.

* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt:
* platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt:
* platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-expected.txt:
* platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt:
* platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (156300 => 156301)


--- trunk/LayoutTests/ChangeLog	2013-09-23 22:09:24 UTC (rev 156300)
+++ trunk/LayoutTests/ChangeLog	2013-09-23 22:16:44 UTC (rev 156301)
@@ -1,3 +1,19 @@
+2013-09-23  Simon Fraser  <[email protected]>
+
+        REGRESSION (r155998): when zooming in, tiles are too small
+        https://bugs.webkit.org/show_bug.cgi?id=121765
+
+        Reviewed by Dean Jackson.
+        
+        Fix results of tests that showed that we had incorrect tiling
+        behavior on zooming.
+
+        * platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt:
+        * platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt:
+        * platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-expected.txt:
+        * platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt:
+        * platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
+
 2013-09-23  Antonio Gomes  <[email protected]>
 
         iframe and scrollbar with "overflow:auto" should support autoscroll with mousedrag

Modified: trunk/LayoutTests/platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt (156300 => 156301)


--- trunk/LayoutTests/platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt	2013-09-23 22:09:24 UTC (rev 156300)
+++ trunk/LayoutTests/platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt	2013-09-23 22:16:44 UTC (rev 156301)
@@ -9,7 +9,7 @@
       (contentsOpaque 1)
       (transform [1.60 0.00 0.00 0.00] [0.00 1.60 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 0.00 1.00])
       (visible rect 0.00, 0.00 490.63 x 365.63)
-      (contentsScale 2.56)
+      (contentsScale 1.60)
       (children 1
         (GraphicsLayer
           (position 8.00 8.00)
@@ -17,7 +17,7 @@
           (contentsOpaque 1)
           (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 1.00 1.00])
           (visible rect 0.00, 0.00 482.63 x 357.63)
-          (contentsScale 2.56)
+          (contentsScale 1.60)
         )
       )
     )

Modified: trunk/LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt (156300 => 156301)


--- trunk/LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt	2013-09-23 22:09:24 UTC (rev 156300)
+++ trunk/LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt	2013-09-23 22:16:44 UTC (rev 156301)
@@ -17,9 +17,9 @@
         (GraphicsLayer
           (bounds 785.00 1700.00)
           (drawsContent 1)
-          (tile cache coverage 0, 193 387 x 290)
+          (tile cache coverage 0, 0 445 x 667)
           (tile size 512 x 512)
-          (top left tile 0, 2 tiles grid 4 x 3)
+          (top left tile 0, 0 tiles grid 2 x 3)
           (children 1
             (GraphicsLayer
             )

Modified: trunk/LayoutTests/platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt (156300 => 156301)


--- trunk/LayoutTests/platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt	2013-09-23 22:09:24 UTC (rev 156300)
+++ trunk/LayoutTests/platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt	2013-09-23 22:16:44 UTC (rev 156301)
@@ -13,12 +13,12 @@
       (visible rect 0.00, 0.00 461.76 x 344.12)
       (contentsScale 1.00)
       (tile cache coverage 0, 0 461 x 344)
-      (tile size 1335 x 995)
+      (tile size 785 x 585)
       (top left tile 0, 0 tiles grid 1 x 1)
       (children 1
         (GraphicsLayer
           (visible rect 0.00, 0.00 0.00 x 0.00)
-          (contentsScale 2.89)
+          (contentsScale 1.70)
         )
       )
     )

Modified: trunk/LayoutTests/platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-expected.txt (156300 => 156301)


--- trunk/LayoutTests/platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-expected.txt	2013-09-23 22:09:24 UTC (rev 156300)
+++ trunk/LayoutTests/platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-expected.txt	2013-09-23 22:16:44 UTC (rev 156301)
@@ -12,13 +12,13 @@
       (transform [2.30 0.00 0.00 0.00] [0.00 2.30 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 0.00 1.00])
       (visible rect 0.00, 0.00 341.30 x 254.35)
       (contentsScale 1.00)
-      (tile cache coverage 0, 0 387 x 290)
+      (tile cache coverage 0, 0 445 x 445)
       (tile size 512 x 512)
-      (top left tile 0, 0 tiles grid 4 x 3)
+      (top left tile 0, 0 tiles grid 2 x 2)
       (children 1
         (GraphicsLayer
           (visible rect 0.00, 0.00 0.00 x 0.00)
-          (contentsScale 5.29)
+          (contentsScale 2.30)
         )
       )
     )

Modified: trunk/LayoutTests/platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt (156300 => 156301)


--- trunk/LayoutTests/platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt	2013-09-23 22:09:24 UTC (rev 156300)
+++ trunk/LayoutTests/platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt	2013-09-23 22:16:44 UTC (rev 156301)
@@ -12,13 +12,13 @@
       (transform [2.30 0.00 0.00 0.00] [0.00 2.30 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 0.00 1.00])
       (visible rect 800.00, 1000.00 341.30 x 254.35)
       (contentsScale 1.00)
-      (tile cache coverage 774, 967 387 x 290)
+      (tile cache coverage 667, 890 540 x 445)
       (tile size 512 x 512)
-      (top left tile 8, 10 tiles grid 4 x 3)
+      (top left tile 3, 4 tiles grid 3 x 2)
       (children 1
         (GraphicsLayer
           (visible rect 0.00, 0.00 0.00 x 0.00)
-          (contentsScale 5.29)
+          (contentsScale 2.30)
         )
       )
     )

Modified: trunk/Source/WebCore/ChangeLog (156300 => 156301)


--- trunk/Source/WebCore/ChangeLog	2013-09-23 22:09:24 UTC (rev 156300)
+++ trunk/Source/WebCore/ChangeLog	2013-09-23 22:16:44 UTC (rev 156301)
@@ -1,3 +1,22 @@
+2013-09-23  Simon Fraser  <[email protected]>
+
+        REGRESSION (r155998): when zooming in, tiles are too small
+        https://bugs.webkit.org/show_bug.cgi?id=121765
+
+        Reviewed by Dean Jackson.
+
+        In r155998 I made GraphicsLayerCA take root-relative transforms
+        into account when computing contentsScale, and landed a bunch of
+        new results which should actually have told me that I broke page
+        scaling.
+        
+        We don't want to take page scale into account when computing contentsScale,
+        because we already do so, so ignore the transform on the layer that
+        applies page scale (the only transform it should ever has is the page scale).
+
+        * platform/graphics/ca/GraphicsLayerCA.cpp:
+        (WebCore::GraphicsLayerCA::updateRootRelativeScale):
+
 2013-09-23  Antonio Gomes  <[email protected]>
 
         iframe and scrollbar with "overflow:auto" should support autoscroll with mousedrag

Modified: trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp (156300 => 156301)


--- trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp	2013-09-23 22:09:24 UTC (rev 156300)
+++ trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp	2013-09-23 22:16:44 UTC (rev 156301)
@@ -1064,7 +1064,7 @@
     bool haveTransformAnimation = getTransformFromAnimationsWithMaxScaleImpact(*transformFromRoot, maxScaleImpactTransform, rootRelativeScaleFactor);
     if (haveTransformAnimation)
         transformFromRoot->multiply(maxScaleImpactTransform);
-    else {
+    else if (!appliesPageScale()) {
         TransformationMatrix unanimatedTransform = this->layerTransform(m_position);
         transformFromRoot->multiply(unanimatedTransform);
         rootRelativeScaleFactor = maxScaleFromTransform(*transformFromRoot);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to