Title: [185027] trunk/Source/WebCore
Revision
185027
Author
[email protected]
Date
2015-05-29 19:48:59 -0700 (Fri, 29 May 2015)

Log Message

[iOS] Reduce tiling coverage when doing a pure pinch zoom with no panning.
<https://webkit.org/b/145481>
<rdar://problem/20989389>

Reviewed by Benjamin Poulain.

When we're zooming in with a pinch gesture but not panning the page
at the same time, make the coverage rect be the visible rect.

This reduces memory pressure during zooming, especially on slower
devices that struggle to keep up with the current viewport.

* platform/graphics/ca/TileController.cpp:
(WebCore::TileController::computeTileCoverageRect):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (185026 => 185027)


--- trunk/Source/WebCore/ChangeLog	2015-05-30 02:07:02 UTC (rev 185026)
+++ trunk/Source/WebCore/ChangeLog	2015-05-30 02:48:59 UTC (rev 185027)
@@ -1,3 +1,20 @@
+2015-05-29  Andreas Kling  <[email protected]>
+
+        [iOS] Reduce tiling coverage when doing a pure pinch zoom with no panning.
+        <https://webkit.org/b/145481>
+        <rdar://problem/20989389>
+
+        Reviewed by Benjamin Poulain.
+
+        When we're zooming in with a pinch gesture but not panning the page
+        at the same time, make the coverage rect be the visible rect.
+
+        This reduces memory pressure during zooming, especially on slower
+        devices that struggle to keep up with the current viewport.
+
+        * platform/graphics/ca/TileController.cpp:
+        (WebCore::TileController::computeTileCoverageRect):
+
 2015-05-29  Keith Miller  <[email protected]>
 
         WeakMap reference w/ DOM element as key does not survive long enough.

Modified: trunk/Source/WebCore/platform/graphics/ca/TileController.cpp (185026 => 185027)


--- trunk/Source/WebCore/platform/graphics/ca/TileController.cpp	2015-05-30 02:07:02 UTC (rev 185026)
+++ trunk/Source/WebCore/platform/graphics/ca/TileController.cpp	2015-05-30 02:48:59 UTC (rev 185027)
@@ -349,7 +349,9 @@
             futureRect.setY(futureRect.y() - verticalMargin);
     }
 
-    if (m_velocity.scaleChangeRate <= 0 && !m_velocity.horizontalVelocity && !m_velocity.verticalVelocity) {
+    if (!m_velocity.horizontalVelocity && !m_velocity.verticalVelocity) {
+        if (m_velocity.scaleChangeRate > 0)
+            return visibleRect;
         futureRect.setWidth(futureRect.width() + horizontalMargin);
         futureRect.setHeight(futureRect.height() + verticalMargin);
         futureRect.setX(futureRect.x() - horizontalMargin / 2);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to