| Index: cc/resources/raster_tile_priority_queue_all.cc
|
| diff --git a/cc/resources/raster_tile_priority_queue_all.cc b/cc/resources/raster_tile_priority_queue_all.cc
|
| index 9baa9b32de7177e67738a675a78dda8f1cf65779..9b1ce90ef9d9b1522757399e1ee2768f4fd27948 100644
|
| --- a/cc/resources/raster_tile_priority_queue_all.cc
|
| +++ b/cc/resources/raster_tile_priority_queue_all.cc
|
| @@ -86,12 +86,21 @@ WhichTree HigherPriorityTree(TreePriority tree_priority,
|
| const TilingSetRasterQueueAll* active_queue,
|
| const TilingSetRasterQueueAll* pending_queue,
|
| const Tile* shared_tile) {
|
| + // In cases when we're given an active tile with a non ideal active resolution
|
| + // (or pending tile with non ideal pending resolution), we should return the
|
| + // other tree. The reason for this is that tiling set iterators will not
|
| + // return non ideal tiles and the only way we get here is if we're skipping
|
| + // twin tiles, but since it's non-ideal on the twin, we shouldn't skip it.
|
| + // TODO(vmpstr): Remove when tiles aren't shared.
|
| + const Tile* active_tile = shared_tile ? shared_tile : active_queue->Top();
|
| + const Tile* pending_tile = shared_tile ? shared_tile : pending_queue->Top();
|
| + if (active_tile->priority(ACTIVE_TREE).resolution == NON_IDEAL_RESOLUTION)
|
| + return PENDING_TREE;
|
| + if (pending_tile->priority(PENDING_TREE).resolution == NON_IDEAL_RESOLUTION)
|
| + return ACTIVE_TREE;
|
| +
|
| switch (tree_priority) {
|
| case SMOOTHNESS_TAKES_PRIORITY: {
|
| - const Tile* active_tile = shared_tile ? shared_tile : active_queue->Top();
|
| - const Tile* pending_tile =
|
| - shared_tile ? shared_tile : pending_queue->Top();
|
| -
|
| const TilePriority& active_priority = active_tile->priority(ACTIVE_TREE);
|
| const TilePriority& pending_priority =
|
| pending_tile->priority(PENDING_TREE);
|
| @@ -108,10 +117,6 @@ WhichTree HigherPriorityTree(TreePriority tree_priority,
|
| case NEW_CONTENT_TAKES_PRIORITY:
|
| return PENDING_TREE;
|
| case SAME_PRIORITY_FOR_BOTH_TREES: {
|
| - const Tile* active_tile = shared_tile ? shared_tile : active_queue->Top();
|
| - const Tile* pending_tile =
|
| - shared_tile ? shared_tile : pending_queue->Top();
|
| -
|
| const TilePriority& active_priority = active_tile->priority(ACTIVE_TREE);
|
| const TilePriority& pending_priority =
|
| pending_tile->priority(PENDING_TREE);
|
|
|