Title: [210121] trunk/Source/WebCore
Revision
210121
Author
[email protected]
Date
2016-12-22 15:52:44 -0800 (Thu, 22 Dec 2016)

Log Message

TileGrid creates new cohorts even when not using temporarilyRetainTileCohorts mode
https://bugs.webkit.org/show_bug.cgi?id=166440

Reviewed by Simon Fraser.

No new tests.

* platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::revalidateTiles):
If we are not temporarily retaining unparented tile cohorts (e.g. on
iOS WebKit2), instead immediately removing all tiles that would go into
the new cohort, avoid starting the cohort at all.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (210120 => 210121)


--- trunk/Source/WebCore/ChangeLog	2016-12-22 23:48:53 UTC (rev 210120)
+++ trunk/Source/WebCore/ChangeLog	2016-12-22 23:52:44 UTC (rev 210121)
@@ -1,3 +1,18 @@
+2016-12-22  Tim Horton  <[email protected]>
+
+        TileGrid creates new cohorts even when not using temporarilyRetainTileCohorts mode
+        https://bugs.webkit.org/show_bug.cgi?id=166440
+
+        Reviewed by Simon Fraser.
+
+        No new tests.
+
+        * platform/graphics/ca/TileGrid.cpp:
+        (WebCore::TileGrid::revalidateTiles):
+        If we are not temporarily retaining unparented tile cohorts (e.g. on
+        iOS WebKit2), instead immediately removing all tiles that would go into
+        the new cohort, avoid starting the cohort at all.
+
 2016-12-22  Zalan Bujtas  <[email protected]>
 
         Do not destroy the RenderNamedFlowFragment as leftover anonymous block.

Modified: trunk/Source/WebCore/platform/graphics/ca/TileGrid.cpp (210120 => 210121)


--- trunk/Source/WebCore/platform/graphics/ca/TileGrid.cpp	2016-12-22 23:48:53 UTC (rev 210120)
+++ trunk/Source/WebCore/platform/graphics/ca/TileGrid.cpp	2016-12-22 23:52:44 UTC (rev 210121)
@@ -395,16 +395,18 @@
     if (needsTileRevalidation)
         m_controller.scheduleTileRevalidation(minimumRevalidationTimerDuration);
 
-    if (tilesInCohort)
-        startedNewCohort(currCohort);
-
     if (!m_controller.shouldAggressivelyRetainTiles()) {
         if (m_controller.shouldTemporarilyRetainTileCohorts())
             scheduleCohortRemoval();
-        else if (tilesInCohort)
+        else if (tilesInCohort) {
             removeTilesInCohort(currCohort);
+            tilesInCohort = 0;
+        }
     }
 
+    if (tilesInCohort)
+        startedNewCohort(currCohort);
+
     if (validationPolicy & PruneSecondaryTiles) {
         removeAllSecondaryTiles();
         m_cohortList.clear();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to