summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DEPS2
-rw-r--r--cc/layers/layer_iterator.cc95
-rw-r--r--cc/layers/layer_iterator.h35
-rw-r--r--cc/layers/layer_iterator_unittest.cc51
-rw-r--r--cc/trees/layer_tree_host.cc3
-rw-r--r--cc/trees/layer_tree_impl.cc2
6 files changed, 5 insertions, 183 deletions
diff --git a/DEPS b/DEPS
index 3d6db14..b45a15c 100644
--- a/DEPS
+++ b/DEPS
@@ -70,7 +70,7 @@ deps = {
"/external/angle.git@e5014a97e29c0d88d47c693ed168c00f61551e53",
"src/third_party/trace-viewer":
- (Var("googlecode_url") % "trace-viewer") + "/trunk@1023",
+ (Var("googlecode_url") % "trace-viewer") + "/trunk@1028",
"src/third_party/WebKit":
Var("webkit_trunk") + "@" + Var("webkit_revision"),
diff --git a/cc/layers/layer_iterator.cc b/cc/layers/layer_iterator.cc
index c33e753..a52c3f1 100644
--- a/cc/layers/layer_iterator.cc
+++ b/cc/layers/layer_iterator.cc
@@ -17,81 +17,6 @@ template <typename LayerType,
typename LayerList,
typename RenderSurfaceType,
typename ActionType>
-void LayerIteratorActions::BackToFront::Begin(
- LayerIterator<LayerType, LayerList, RenderSurfaceType, ActionType>* it) {
- it->target_render_surface_layer_index_ = 0;
- it->current_layer_index_ =
- LayerIteratorValue::kLayerIndexRepresentingTargetRenderSurface;
-
- highest_target_render_surface_layer_ = 0;
-}
-
-template <typename LayerType,
- typename LayerList,
- typename RenderSurfaceType,
- typename ActionType>
-void LayerIteratorActions::BackToFront::End(
- LayerIterator<LayerType, LayerList, RenderSurfaceType, ActionType>* it) {
- it->target_render_surface_layer_index_ =
- LayerIteratorValue::kInvalidTargetRenderSurfaceLayerIndex;
- it->current_layer_index_ = 0;
-}
-
-template <typename LayerType,
- typename LayerList,
- typename RenderSurfaceType,
- typename ActionType>
-void LayerIteratorActions::BackToFront::Next(
- LayerIterator<LayerType, LayerList, RenderSurfaceType, ActionType>* it) {
- // If the current layer has a RS, move to its layer list. Otherwise,
- // visit the next layer in the current RS layer list.
- if (it->current_layer_represents_contributing_render_surface()) {
- // Save our position in the child_layers list for the RenderSurface,
- // then jump to the next RenderSurface. Save where we
- // came from in the next RenderSurface so we can get back to it.
- it->target_render_surface()->current_layer_index_history_ =
- it->current_layer_index_;
- int previous_target_render_surface_layer =
- it->target_render_surface_layer_index_;
-
- it->target_render_surface_layer_index_ =
- ++highest_target_render_surface_layer_;
- it->current_layer_index_ =
- LayerIteratorValue::kLayerIndexRepresentingTargetRenderSurface;
-
- it->target_render_surface()->target_render_surface_layer_index_history_ =
- previous_target_render_surface_layer;
- } else {
- ++it->current_layer_index_;
-
- int target_render_surface_num_children =
- it->target_render_surface_children().size();
- while (it->current_layer_index_ == target_render_surface_num_children) {
- // Jump back to the previous RenderSurface,
- // and get back the position where we were in that list,
- // and move to the next position there.
- if (!it->target_render_surface_layer_index_) {
- // End of the list
- it->target_render_surface_layer_index_ =
- LayerIteratorValue::kInvalidTargetRenderSurfaceLayerIndex;
- it->current_layer_index_ = 0;
- return;
- }
- it->target_render_surface_layer_index_ = it->target_render_surface()
- ->target_render_surface_layer_index_history_;
- it->current_layer_index_ =
- it->target_render_surface()->current_layer_index_history_ + 1;
-
- target_render_surface_num_children =
- it->target_render_surface_children().size();
- }
- }
-}
-
-template <typename LayerType,
- typename LayerList,
- typename RenderSurfaceType,
- typename ActionType>
void LayerIteratorActions::FrontToBack::Begin(
LayerIterator<LayerType, LayerList, RenderSurfaceType, ActionType>* it) {
it->target_render_surface_layer_index_ = 0;
@@ -176,26 +101,6 @@ void LayerIteratorActions::FrontToBack::GoToHighestInSubtree(
// Declare each of the above functions for Layer and LayerImpl classes
// so that they are linked.
-template CC_EXPORT void LayerIteratorActions::BackToFront::Begin(
- LayerIterator<Layer, RenderSurfaceLayerList, RenderSurface, BackToFront>*
- it);
-template CC_EXPORT void LayerIteratorActions::BackToFront::End(
- LayerIterator<Layer, RenderSurfaceLayerList, RenderSurface, BackToFront>*
- it);
-template CC_EXPORT void LayerIteratorActions::BackToFront::Next(
- LayerIterator<Layer, RenderSurfaceLayerList, RenderSurface, BackToFront>*
- it);
-
-template CC_EXPORT void LayerIteratorActions::BackToFront::Begin(
- LayerIterator<LayerImpl, LayerImplList, RenderSurfaceImpl, BackToFront>*
- it);
-template CC_EXPORT void LayerIteratorActions::BackToFront::End(
- LayerIterator<LayerImpl, LayerImplList, RenderSurfaceImpl, BackToFront>*
- it);
-template CC_EXPORT void LayerIteratorActions::BackToFront::Next(
- LayerIterator<LayerImpl, LayerImplList, RenderSurfaceImpl, BackToFront>*
- it);
-
template CC_EXPORT void LayerIteratorActions::FrontToBack::Next(
LayerIterator<Layer, RenderSurfaceLayerList, RenderSurface, FrontToBack>*
it);
diff --git a/cc/layers/layer_iterator.h b/cc/layers/layer_iterator.h
index b8a02c3..5b13273 100644
--- a/cc/layers/layer_iterator.h
+++ b/cc/layers/layer_iterator.h
@@ -69,11 +69,8 @@ namespace cc {
// refers to the layer itself, as a child of the
// current target RenderSurface.
//
-// The BackToFront iterator will return a layer representing the target surface
-// before returning layers representing themselves as children of the current
-// target surface. Whereas the FrontToBack ordering will iterate over children
-// layers of a surface before the layer representing the surface
-// as a target surface.
+// The FrontToBack iterator will iterate over children layers of a surface
+// before the layer representing the surface as a target surface.
//
// To use the iterators:
//
@@ -237,34 +234,6 @@ class LayerIterator {
// Orderings for iterating over the RenderSurface-Layer tree.
struct CC_EXPORT LayerIteratorActions {
- // Walks layers sorted by z-order from back to front.
- class CC_EXPORT BackToFront {
- public:
- template <typename LayerType,
- typename LayerList,
- typename RenderSurfaceType,
- typename ActionType>
- void Begin(
- LayerIterator<LayerType, LayerList, RenderSurfaceType, ActionType>* it);
-
- template <typename LayerType,
- typename LayerList,
- typename RenderSurfaceType,
- typename ActionType>
- void End(
- LayerIterator<LayerType, LayerList, RenderSurfaceType, ActionType>* it);
-
- template <typename LayerType,
- typename LayerList,
- typename RenderSurfaceType,
- typename ActionType>
- void Next(
- LayerIterator<LayerType, LayerList, RenderSurfaceType, ActionType>* it);
-
- private:
- int highest_target_render_surface_layer_;
- };
-
// Walks layers sorted by z-order from front to back
class CC_EXPORT FrontToBack {
public:
diff --git a/cc/layers/layer_iterator_unittest.cc b/cc/layers/layer_iterator_unittest.cc
index c2ab71b..c781d28 100644
--- a/cc/layers/layer_iterator_unittest.cc
+++ b/cc/layers/layer_iterator_unittest.cc
@@ -54,10 +54,6 @@ typedef LayerIterator<Layer,
RenderSurfaceLayerList,
RenderSurface,
LayerIteratorActions::FrontToBack> FrontToBack;
-typedef LayerIterator<Layer,
- RenderSurfaceLayerList,
- RenderSurface,
- LayerIteratorActions::BackToFront> BackToFront;
void ResetCounts(RenderSurfaceLayerList* render_surface_layer_list) {
for (unsigned surface_index = 0;
@@ -101,27 +97,9 @@ void IterateFrontToBack(
}
}
-void IterateBackToFront(
- RenderSurfaceLayerList* render_surface_layer_list) {
- ResetCounts(render_surface_layer_list);
- int count = 0;
- for (BackToFront it = BackToFront::Begin(render_surface_layer_list);
- it != BackToFront::End(render_surface_layer_list);
- ++it, ++count) {
- TestLayer* layer = static_cast<TestLayer*>(*it);
- if (it.represents_target_render_surface())
- layer->count_representing_target_surface_ = count;
- if (it.represents_contributing_render_surface())
- layer->count_representing_contributing_surface_ = count;
- if (it.represents_itself())
- layer->count_representing_itself_ = count;
- }
-}
-
TEST(LayerIteratorTest, EmptyTree) {
RenderSurfaceLayerList render_surface_layer_list;
- IterateBackToFront(&render_surface_layer_list);
IterateFrontToBack(&render_surface_layer_list);
}
@@ -145,13 +123,6 @@ TEST(LayerIteratorTest, SimpleTree) {
root_layer.get(), root_layer->bounds(), &render_surface_layer_list);
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
- IterateBackToFront(&render_surface_layer_list);
- EXPECT_COUNT(root_layer, 0, -1, 1);
- EXPECT_COUNT(first, -1, -1, 2);
- EXPECT_COUNT(second, -1, -1, 3);
- EXPECT_COUNT(third, -1, -1, 4);
- EXPECT_COUNT(fourth, -1, -1, 5);
-
IterateFrontToBack(&render_surface_layer_list);
EXPECT_COUNT(root_layer, 5, -1, 4);
EXPECT_COUNT(first, -1, -1, 3);
@@ -188,17 +159,6 @@ TEST(LayerIteratorTest, ComplexTree) {
root_layer.get(), root_layer->bounds(), &render_surface_layer_list);
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
- IterateBackToFront(&render_surface_layer_list);
- EXPECT_COUNT(root_layer, 0, -1, 1);
- EXPECT_COUNT(root1, -1, -1, 2);
- EXPECT_COUNT(root2, -1, -1, 3);
- EXPECT_COUNT(root21, -1, -1, 4);
- EXPECT_COUNT(root22, -1, -1, 5);
- EXPECT_COUNT(root221, -1, -1, 6);
- EXPECT_COUNT(root23, -1, -1, 7);
- EXPECT_COUNT(root231, -1, -1, 8);
- EXPECT_COUNT(root3, -1, -1, 9);
-
IterateFrontToBack(&render_surface_layer_list);
EXPECT_COUNT(root_layer, 9, -1, 8);
EXPECT_COUNT(root1, -1, -1, 7);
@@ -244,17 +204,6 @@ TEST(LayerIteratorTest, ComplexTreeMultiSurface) {
root_layer.get(), root_layer->bounds(), &render_surface_layer_list);
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
- IterateBackToFront(&render_surface_layer_list);
- EXPECT_COUNT(root_layer, 0, -1, 1);
- EXPECT_COUNT(root1, -1, -1, 2);
- EXPECT_COUNT(root2, 4, 3, -1);
- EXPECT_COUNT(root21, -1, -1, 5);
- EXPECT_COUNT(root22, 7, 6, 8);
- EXPECT_COUNT(root221, -1, -1, 9);
- EXPECT_COUNT(root23, 11, 10, 12);
- EXPECT_COUNT(root231, -1, -1, 13);
- EXPECT_COUNT(root3, -1, -1, 14);
-
IterateFrontToBack(&render_surface_layer_list);
EXPECT_COUNT(root_layer, 14, -1, 13);
EXPECT_COUNT(root1, -1, -1, 12);
diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc
index baa0afb..8bbf742 100644
--- a/cc/trees/layer_tree_host.cc
+++ b/cc/trees/layer_tree_host.cc
@@ -893,11 +893,10 @@ void LayerTreeHost::SetPrioritiesForSurfaces(size_t surface_memory_bytes) {
void LayerTreeHost::SetPrioritiesForLayers(
const RenderSurfaceLayerList& update_list) {
- // Use BackToFront since it's cheap and this isn't order-dependent.
typedef LayerIterator<Layer,
RenderSurfaceLayerList,
RenderSurface,
- LayerIteratorActions::BackToFront> LayerIteratorType;
+ LayerIteratorActions::FrontToBack> LayerIteratorType;
PriorityCalculator calculator;
LayerIteratorType end = LayerIteratorType::End(&update_list);
diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc
index aa587b4..8c87b75 100644
--- a/cc/trees/layer_tree_impl.cc
+++ b/cc/trees/layer_tree_impl.cc
@@ -597,7 +597,7 @@ scoped_ptr<base::Value> LayerTreeImpl::AsValue() const {
typedef LayerIterator<LayerImpl,
LayerImplList,
RenderSurfaceImpl,
- LayerIteratorActions::BackToFront> LayerIteratorType;
+ LayerIteratorActions::FrontToBack> LayerIteratorType;
LayerIteratorType end = LayerIteratorType::End(&render_surface_layer_list_);
for (LayerIteratorType it = LayerIteratorType::Begin(
&render_surface_layer_list_); it != end; ++it) {