From 6ec7b8da05d21a3878bd21c691b41e675d74bb1c Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Mon, 17 Jul 2017 13:57:45 +0200 Subject: BASELINE: Update Chromium to 60.0.3112.70 Change-Id: I9911c2280a014d4632f254857876a395d4baed2d Reviewed-by: Alexandru Croitor --- chromium/cc/trees/tree_synchronizer.cc | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'chromium/cc/trees/tree_synchronizer.cc') diff --git a/chromium/cc/trees/tree_synchronizer.cc b/chromium/cc/trees/tree_synchronizer.cc index 52f1bb384c7..87efee06cab 100644 --- a/chromium/cc/trees/tree_synchronizer.cc +++ b/chromium/cc/trees/tree_synchronizer.cc @@ -74,6 +74,25 @@ std::unique_ptr ReuseOrCreateLayerImpl(OwnedLayerImplMap* old_layers, return layer_impl; } +#if DCHECK_IS_ON() +template +static void AssertValidPropertyTreeIndices(LayerType* layer) { + DCHECK(layer); + DCHECK_NE(layer->transform_tree_index(), TransformTree::kInvalidNodeId); + DCHECK_NE(layer->effect_tree_index(), EffectTree::kInvalidNodeId); + DCHECK_NE(layer->clip_tree_index(), ClipTree::kInvalidNodeId); + DCHECK_NE(layer->scroll_tree_index(), ScrollTree::kInvalidNodeId); +} + +static bool LayerHasValidPropertyTreeIndices(LayerImpl* layer) { + DCHECK(layer); + return layer->transform_tree_index() != TransformTree::kInvalidNodeId && + layer->effect_tree_index() != EffectTree::kInvalidNodeId && + layer->clip_tree_index() != ClipTree::kInvalidNodeId && + layer->scroll_tree_index() != ScrollTree::kInvalidNodeId; +} +#endif + template void PushLayerList(OwnedLayerImplMap* old_layers, LayerTreeType* host, @@ -83,6 +102,15 @@ void PushLayerList(OwnedLayerImplMap* old_layers, std::unique_ptr layer_impl( ReuseOrCreateLayerImpl(old_layers, layer, tree_impl)); +#if DCHECK_IS_ON() + // Every layer should have valid property tree indices + AssertValidPropertyTreeIndices(layer); + // Every layer_impl should either have valid property tree indices already + // or the corresponding layer should push them onto layer_impl. + DCHECK(LayerHasValidPropertyTreeIndices(layer_impl.get()) || + host->LayerNeedsPushPropertiesForTesting(layer)); +#endif + tree_impl->AddToLayerList(layer_impl.get()); tree_impl->AddLayer(std::move(layer_impl)); } -- cgit v1.2.1