summaryrefslogtreecommitdiffstats
path: root/cc/trees/layer_tree_host_impl.cc
diff options
context:
space:
mode:
authordanakj <danakj@chromium.org>2015-02-13 15:37:56 -0800
committerCommit bot <commit-bot@chromium.org>2015-02-13 23:38:46 +0000
commit7e094504b6010caa1e17ccd526738c374366f81f (patch)
treeaa46bd912ce3aaa630d3f87eabf307391ae444f5 /cc/trees/layer_tree_host_impl.cc
parent3a102500b93e21a1c43c0e6d7901e5771dbf4478 (diff)
downloadchromium_src-7e094504b6010caa1e17ccd526738c374366f81f.zip
chromium_src-7e094504b6010caa1e17ccd526738c374366f81f.tar.gz
chromium_src-7e094504b6010caa1e17ccd526738c374366f81f.tar.bz2
cc: Fix bug in generating picture layer pairs from 2 lists.
When splitting the picture pile list on LayerTreeHostImpl up into a list on each LayerTreeImpl, a bug was introduced in the pair gathering code. If a layer is not in the RSLL on the active tree, we need to still generate a pair for the pending twin if it is in the RSLL, so that we will raster the layer and block activation on it. R=enne, vmpstr BUG=458411 NOTRY=true Review URL: https://codereview.chromium.org/926023003 Cr-Commit-Position: refs/heads/master@{#316327}
Diffstat (limited to 'cc/trees/layer_tree_host_impl.cc')
-rw-r--r--cc/trees/layer_tree_host_impl.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
index 047e068..eee50ec 100644
--- a/cc/trees/layer_tree_host_impl.cc
+++ b/cc/trees/layer_tree_host_impl.cc
@@ -1217,9 +1217,12 @@ void LayerTreeHostImpl::GetPictureLayerImplPairs(
for (auto& layer : pending_tree_->picture_layers()) {
if (need_valid_tile_priorities && !layer->HasValidTilePriorities())
continue;
- if (layer->GetPendingOrActiveTwinLayer()) {
- // Already captured from the active tree.
- continue;
+ if (PictureLayerImpl* twin_layer = layer->GetPendingOrActiveTwinLayer()) {
+ if (!need_valid_tile_priorities ||
+ twin_layer->HasValidTilePriorities()) {
+ // Already captured from the active tree.
+ continue;
+ }
}
layer_pairs->push_back(PictureLayerImpl::Pair(nullptr, layer));
}