Prepopulated tiles may never be unparented from TileGrids with aggressive tile retent...
authortimothy_horton@apple.com <timothy_horton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 3 Jun 2014 18:59:28 +0000 (18:59 +0000)
committertimothy_horton@apple.com <timothy_horton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 3 Jun 2014 18:59:28 +0000 (18:59 +0000)
commitbec1261dc49097a6ae8a889b64e933427f9b8354
tree77e3e331ebe63a93614a4343ec4b754817445106
parent181be522a9c140166f0c8eefda7f1307a957fb1b
Prepopulated tiles may never be unparented from TileGrids with aggressive tile retention on
https://bugs.webkit.org/show_bug.cgi?id=133471

Reviewed by Simon Fraser.

* platform/graphics/ca/mac/TileController.h:
* platform/graphics/ca/mac/TileGrid.h:
(WebCore::TileGrid::TileCohortInfo::TileCohortInfo):
* platform/graphics/ca/mac/TileGrid.mm:
(WebCore::TileGrid::TileCohortInfo::timeUntilExpiration):
(WebCore::TileGrid::cohortRemovalTimerFired):
Factor timeUntilExpiration() out of cohortRemovalTimerFired().

(WebCore::TileGrid::revalidateTiles):
Ensure that secondary tiles that never touch the primary coverage rect
are still unparented eventually (after 2 seconds, the same lifetime we use
for cohorts in non-aggressive retention).
Schedule another revalidateTiles if we left parented secondary tiles behind.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169565 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/ca/mac/TileController.h
Source/WebCore/platform/graphics/ca/mac/TileGrid.h
Source/WebCore/platform/graphics/ca/mac/TileGrid.mm