Title: [210639] branches/safari-603-branch/Source/WebCore
Revision
210639
Author
[email protected]
Date
2017-01-12 08:45:00 -0800 (Thu, 12 Jan 2017)

Log Message

Merge r210095. rdar://problem/29912221

Modified Paths

Diff

Modified: branches/safari-603-branch/Source/WebCore/ChangeLog (210638 => 210639)


--- branches/safari-603-branch/Source/WebCore/ChangeLog	2017-01-12 16:44:58 UTC (rev 210638)
+++ branches/safari-603-branch/Source/WebCore/ChangeLog	2017-01-12 16:45:00 UTC (rev 210639)
@@ -1,5 +1,27 @@
 2017-01-12  Matthew Hanson  <[email protected]>
 
+        Merge r210095. rdar://problem/29912221
+
+    2016-12-21  Tim Horton  <[email protected]>
+
+            TileGrid revalidates tiles twice during flush, first with wrong visible rect
+            https://bugs.webkit.org/show_bug.cgi?id=166406
+
+            Reviewed by Simon Fraser.
+
+            No new tests; existing tests cover this code, this is just a perf win,
+            specifically reducing the amount of layer churn during zooming.
+
+            * platform/graphics/ca/TileGrid.cpp:
+            (WebCore::TileGrid::setScale):
+            Schedule a revalidation, which will happen later in the same flush,
+            instead of doing it immediately. Doing it immediately is problematic,
+            because we're currently in the middle of a GraphicsLayer tree flush,
+            and don't have the complete picture of the new state yet. We're guaranteed
+            to get the new scale *before* the flush calls revalidateTiles.
+
+2017-01-12  Matthew Hanson  <[email protected]>
+
         Merge r210432. rdar://problem/29633667
 
     2017-01-05  Ryosuke Niwa  <[email protected]>

Modified: branches/safari-603-branch/Source/WebCore/platform/graphics/ca/TileGrid.cpp (210638 => 210639)


--- branches/safari-603-branch/Source/WebCore/platform/graphics/ca/TileGrid.cpp	2017-01-12 16:44:58 UTC (rev 210638)
+++ branches/safari-603-branch/Source/WebCore/platform/graphics/ca/TileGrid.cpp	2017-01-12 16:45:00 UTC (rev 210639)
@@ -78,8 +78,7 @@
     transform.scale(1 / m_scale);
     m_containerLayer->setTransform(transform);
 
-    // FIXME: we may revalidateTiles twice in this commit.
-    revalidateTiles(PruneSecondaryTiles);
+    m_controller.setNeedsRevalidateTiles();
 
     m_containerLayer.get().setContentsScale(m_controller.deviceScaleFactor());
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to