All uses of the Layer hierarchy that cannot be converted to using an iterator should only happen inside of PropertyTreeBuilder (with the exception of code that constructs the layer tree, and unit tests).
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b365de0a276e993e014c561183c6e8beb2b99051 commit b365de0a276e993e014c561183c6e8beb2b99051 Author: sunxd <sunxd@chromium.org> Date: Thu Apr 28 20:32:57 2016 cc: Move main thread hierarchy dependencies into PropertyTreeBuilder Move PreCalculateMetaInformation to PropertyTreeBuilder. Convert Layer::children() calls to using LayerListIterator. BUG= 600390 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review-Url: https://codereview.chromium.org/1921503005 Cr-Commit-Position: refs/heads/master@{#390461} [modify] https://crrev.com/b365de0a276e993e014c561183c6e8beb2b99051/cc/layers/layer_iterator_unittest.cc [modify] https://crrev.com/b365de0a276e993e014c561183c6e8beb2b99051/cc/layers/layer_position_constraint_unittest.cc [modify] https://crrev.com/b365de0a276e993e014c561183c6e8beb2b99051/cc/test/layer_test_common.cc [modify] https://crrev.com/b365de0a276e993e014c561183c6e8beb2b99051/cc/test/layer_tree_host_common_test.cc [modify] https://crrev.com/b365de0a276e993e014c561183c6e8beb2b99051/cc/trees/damage_tracker_unittest.cc [modify] https://crrev.com/b365de0a276e993e014c561183c6e8beb2b99051/cc/trees/draw_property_utils.cc [modify] https://crrev.com/b365de0a276e993e014c561183c6e8beb2b99051/cc/trees/layer_tree_host.cc [modify] https://crrev.com/b365de0a276e993e014c561183c6e8beb2b99051/cc/trees/layer_tree_host.h [modify] https://crrev.com/b365de0a276e993e014c561183c6e8beb2b99051/cc/trees/layer_tree_host_common.cc [modify] https://crrev.com/b365de0a276e993e014c561183c6e8beb2b99051/cc/trees/layer_tree_host_common.h [modify] https://crrev.com/b365de0a276e993e014c561183c6e8beb2b99051/cc/trees/layer_tree_host_common_unittest.cc [modify] https://crrev.com/b365de0a276e993e014c561183c6e8beb2b99051/cc/trees/layer_tree_host_impl_unittest.cc [modify] https://crrev.com/b365de0a276e993e014c561183c6e8beb2b99051/cc/trees/layer_tree_host_unittest_serialization.cc [modify] https://crrev.com/b365de0a276e993e014c561183c6e8beb2b99051/cc/trees/layer_tree_impl.cc [modify] https://crrev.com/b365de0a276e993e014c561183c6e8beb2b99051/cc/trees/occlusion_tracker_unittest.cc [modify] https://crrev.com/b365de0a276e993e014c561183c6e8beb2b99051/cc/trees/property_tree_builder.cc [modify] https://crrev.com/b365de0a276e993e014c561183c6e8beb2b99051/cc/trees/property_tree_builder.h [modify] https://crrev.com/b365de0a276e993e014c561183c6e8beb2b99051/content/renderer/gpu/gpu_benchmarking_extension.cc
Comment 1 by ajuma@chromium.org
, Apr 4 2016