Index: cc/trees/draw_property_utils.cc |
diff --git a/cc/trees/draw_property_utils.cc b/cc/trees/draw_property_utils.cc |
index f8fc1181f00ed714c678ccd2ca0db2c2557d0881..35563c73d5def2c90e46c2ad9708cc8d7ed56f71 100644 |
--- a/cc/trees/draw_property_utils.cc |
+++ b/cc/trees/draw_property_utils.cc |
@@ -420,32 +420,29 @@ void FindLayersThatNeedUpdates(LayerTreeHost* layer_tree_host, |
const TransformTree& transform_tree, |
const EffectTree& effect_tree, |
LayerList* update_layer_list) { |
- LayerTreeHostCommon::CallFunctionForEveryLayer( |
- layer_tree_host, |
- [&](Layer* layer) { |
- bool layer_is_drawn = |
- effect_tree.Node(layer->effect_tree_index())->data.is_drawn; |
- |
- if (!IsRootLayer(layer) && |
- LayerShouldBeSkipped(layer, layer_is_drawn, transform_tree, |
- effect_tree)) |
- return; |
- |
- if (LayerNeedsUpdate(layer, layer_is_drawn, transform_tree)) { |
- update_layer_list->push_back(layer); |
- } |
+ for (auto* layer : *layer_tree_host) { |
+ bool layer_is_drawn = |
+ effect_tree.Node(layer->effect_tree_index())->data.is_drawn; |
- // Append mask layers to the update layer list. They don't have valid |
- // visible rects, so need to get added after the above calculation. |
- // Replica layers don't need to be updated. |
- if (Layer* mask_layer = layer->mask_layer()) |
- update_layer_list->push_back(mask_layer); |
- if (Layer* replica_layer = layer->replica_layer()) { |
- if (Layer* mask_layer = replica_layer->mask_layer()) |
- update_layer_list->push_back(mask_layer); |
- } |
- }, |
- CallFunctionLayerType::BASIC_LAYER); |
+ if (!IsRootLayer(layer) && |
+ LayerShouldBeSkipped(layer, layer_is_drawn, transform_tree, |
+ effect_tree)) |
+ continue; |
+ |
+ if (LayerNeedsUpdate(layer, layer_is_drawn, transform_tree)) { |
+ update_layer_list->push_back(layer); |
+ } |
+ |
+ // Append mask layers to the update layer list. They don't have valid |
+ // visible rects, so need to get added after the above calculation. |
+ // Replica layers don't need to be updated. |
+ if (Layer* mask_layer = layer->mask_layer()) |
+ update_layer_list->push_back(mask_layer); |
+ if (Layer* replica_layer = layer->replica_layer()) { |
+ if (Layer* mask_layer = replica_layer->mask_layer()) |
+ update_layer_list->push_back(mask_layer); |
+ } |
+ } |
} |
static void ResetIfHasNanCoordinate(gfx::RectF* rect) { |