diff options
author | danakj <danakj@chromium.org> | 2015-02-13 15:37:56 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-02-13 23:38:46 +0000 |
commit | 7e094504b6010caa1e17ccd526738c374366f81f (patch) | |
tree | aa46bd912ce3aaa630d3f87eabf307391ae444f5 /cc/trees/layer_tree_host_impl.cc | |
parent | 3a102500b93e21a1c43c0e6d7901e5771dbf4478 (diff) | |
download | chromium_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.cc | 9 |
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)); } |