| Index: cc/resources/raster_tile_priority_queue.cc
|
| diff --git a/cc/resources/raster_tile_priority_queue.cc b/cc/resources/raster_tile_priority_queue.cc
|
| index cbe90f9498d8ff27934312490f95905660e998ff..3eee94137201323c06aff1a34ef992bd7b1eaae6 100644
|
| --- a/cc/resources/raster_tile_priority_queue.cc
|
| +++ b/cc/resources/raster_tile_priority_queue.cc
|
| @@ -69,8 +69,23 @@ WhichTree HigherPriorityTree(
|
| const PictureLayerImpl::LayerRasterTileIterator* pending_iterator,
|
| const Tile* shared_tile) {
|
| switch (tree_priority) {
|
| - case SMOOTHNESS_TAKES_PRIORITY:
|
| + case SMOOTHNESS_TAKES_PRIORITY: {
|
| + const Tile* active_tile = shared_tile ? shared_tile : **active_iterator;
|
| + const Tile* pending_tile = shared_tile ? shared_tile : **pending_iterator;
|
| +
|
| + const TilePriority& active_priority = active_tile->priority(ACTIVE_TREE);
|
| + const TilePriority& pending_priority =
|
| + pending_tile->priority(PENDING_TREE);
|
| +
|
| + // If we're down to eventually bin tiles on the active tree, process the
|
| + // pending tree to allow tiles required for activation to be initialized
|
| + // when memory policy only allows prepaint.
|
| + if (active_priority.priority_bin == TilePriority::EVENTUALLY &&
|
| + pending_priority.priority_bin == TilePriority::NOW) {
|
| + return PENDING_TREE;
|
| + }
|
| return ACTIVE_TREE;
|
| + }
|
| case NEW_CONTENT_TAKES_PRIORITY:
|
| return PENDING_TREE;
|
| case SAME_PRIORITY_FOR_BOTH_TREES: {
|
|
|