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