Index: cc/trees/layer_tree_host_impl_unittest.cc |
diff --git a/cc/trees/layer_tree_host_impl_unittest.cc b/cc/trees/layer_tree_host_impl_unittest.cc |
index bf60a074e87f600b6c33f21f251f9e3be1c06bb7..c6c799621331793c5a908b0446f5e834c06434f0 100644 |
--- a/cc/trees/layer_tree_host_impl_unittest.cc |
+++ b/cc/trees/layer_tree_host_impl_unittest.cc |
@@ -3136,7 +3136,7 @@ class LayerTreeHostImplTestScrollbarOpacity : public LayerTreeHostImplTest { |
EffectNode* active_tree_node = |
host_impl_->active_tree()->property_trees()->effect_tree.Node( |
active_scrollbar_layer->effect_tree_index()); |
- EXPECT_FLOAT_EQ(active_scrollbar_layer->Opacity(), |
+ EXPECT_FLOAT_EQ(OpacityForLayer(active_scrollbar_layer), |
active_tree_node->opacity); |
if (expecting_animations) { |
@@ -3166,13 +3166,14 @@ class LayerTreeHostImplTestScrollbarOpacity : public LayerTreeHostImplTest { |
pending_scrollbar_layer->effect_tree_index()); |
host_impl_->pending_tree() |
->property_trees() |
- ->always_use_active_tree_opacity_effect_ids.push_back(400); |
+ ->always_use_active_tree_opacity_effect_ids.push_back( |
+ ElementId(500, 0)); |
if (expecting_animations) { |
EXPECT_FLOAT_EQ(1.f, active_tree_node->opacity); |
- EXPECT_FLOAT_EQ(1.f, active_scrollbar_layer->Opacity()); |
+ EXPECT_FLOAT_EQ(1.f, OpacityForLayer(active_scrollbar_layer)); |
} else { |
EXPECT_FLOAT_EQ(0.f, active_tree_node->opacity); |
- EXPECT_FLOAT_EQ(0.f, active_scrollbar_layer->Opacity()); |
+ EXPECT_FLOAT_EQ(0.f, OpacityForLayer(active_scrollbar_layer)); |
} |
EXPECT_FLOAT_EQ(0.f, pending_tree_node->opacity); |
host_impl_->ActivateSyncTree(); |
@@ -3181,10 +3182,10 @@ class LayerTreeHostImplTestScrollbarOpacity : public LayerTreeHostImplTest { |
active_scrollbar_layer->effect_tree_index()); |
if (expecting_animations) { |
EXPECT_FLOAT_EQ(1.f, active_tree_node->opacity); |
- EXPECT_FLOAT_EQ(1.f, active_scrollbar_layer->Opacity()); |
+ EXPECT_FLOAT_EQ(1.f, OpacityForLayer(active_scrollbar_layer)); |
} else { |
EXPECT_FLOAT_EQ(0.f, active_tree_node->opacity); |
- EXPECT_FLOAT_EQ(0.f, active_scrollbar_layer->Opacity()); |
+ EXPECT_FLOAT_EQ(0.f, OpacityForLayer(active_scrollbar_layer)); |
} |
} |
}; |
@@ -7249,12 +7250,16 @@ class BlendStateCheckLayer : public LayerImpl { |
gfx::Size(1, 1), false, false); |
test_blending_draw_quad->visible_rect = quad_visible_rect_; |
EXPECT_EQ(blend_, test_blending_draw_quad->ShouldDrawWithBlending()); |
- EXPECT_EQ(has_render_surface_, !!GetRenderSurface(this)); |
+ EXPECT_EQ(has_render_surface_, |
+ GetRenderSurface(this) != GetRenderSurface(comparison_layer_)); |
} |
- void SetExpectation(bool blend, bool has_render_surface) { |
+ void SetExpectation(bool blend, |
+ bool has_render_surface, |
+ LayerImpl* comparison_layer) { |
blend_ = blend; |
has_render_surface_ = has_render_surface; |
+ comparison_layer_ = comparison_layer; |
quads_appended_ = false; |
} |
@@ -7273,6 +7278,7 @@ class BlendStateCheckLayer : public LayerImpl { |
: LayerImpl(tree_impl, id), |
blend_(false), |
has_render_surface_(false), |
+ comparison_layer_(nullptr), |
quads_appended_(false), |
quad_rect_(5, 5, 5, 5), |
quad_visible_rect_(5, 5, 5, 5), |
@@ -7288,6 +7294,7 @@ class BlendStateCheckLayer : public LayerImpl { |
bool blend_; |
bool has_render_surface_; |
+ LayerImpl* comparison_layer_; |
bool quads_appended_; |
gfx::Rect quad_rect_; |
gfx::Rect opaque_content_rect_; |
@@ -7316,7 +7323,7 @@ TEST_F(LayerTreeHostImplTest, BlendingOffWhenDrawingOpaqueLayers) { |
// Opaque layer, drawn without blending. |
layer1->SetContentsOpaque(true); |
- layer1->SetExpectation(false, false); |
+ layer1->SetExpectation(false, false, root); |
layer1->SetUpdateRect(gfx::Rect(layer1->bounds())); |
host_impl_->active_tree()->BuildPropertyTreesForTesting(); |
EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
@@ -7326,7 +7333,7 @@ TEST_F(LayerTreeHostImplTest, BlendingOffWhenDrawingOpaqueLayers) { |
// Layer with translucent content and painting, so drawn with blending. |
layer1->SetContentsOpaque(false); |
- layer1->SetExpectation(true, false); |
+ layer1->SetExpectation(true, false, root); |
layer1->SetUpdateRect(gfx::Rect(layer1->bounds())); |
host_impl_->active_tree()->BuildPropertyTreesForTesting(); |
host_impl_->active_tree()->set_needs_update_draw_properties(); |
@@ -7339,7 +7346,7 @@ TEST_F(LayerTreeHostImplTest, BlendingOffWhenDrawingOpaqueLayers) { |
layer1->SetContentsOpaque(true); |
layer1->test_properties()->opacity = 0.5f; |
layer1->NoteLayerPropertyChanged(); |
- layer1->SetExpectation(true, false); |
+ layer1->SetExpectation(true, false, root); |
layer1->SetUpdateRect(gfx::Rect(layer1->bounds())); |
host_impl_->active_tree()->BuildPropertyTreesForTesting(); |
EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
@@ -7351,7 +7358,7 @@ TEST_F(LayerTreeHostImplTest, BlendingOffWhenDrawingOpaqueLayers) { |
layer1->SetContentsOpaque(true); |
layer1->test_properties()->opacity = 0.5f; |
layer1->NoteLayerPropertyChanged(); |
- layer1->SetExpectation(true, false); |
+ layer1->SetExpectation(true, false, root); |
layer1->SetUpdateRect(gfx::Rect(layer1->bounds())); |
host_impl_->active_tree()->BuildPropertyTreesForTesting(); |
EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
@@ -7369,12 +7376,12 @@ TEST_F(LayerTreeHostImplTest, BlendingOffWhenDrawingOpaqueLayers) { |
layer1->SetContentsOpaque(true); |
layer1->test_properties()->opacity = 1.f; |
layer1->NoteLayerPropertyChanged(); |
- layer1->SetExpectation(false, false); |
+ layer1->SetExpectation(false, false, root); |
layer1->SetUpdateRect(gfx::Rect(layer1->bounds())); |
layer2->SetContentsOpaque(true); |
layer2->test_properties()->opacity = 1.f; |
layer2->NoteLayerPropertyChanged(); |
- layer2->SetExpectation(false, false); |
+ layer2->SetExpectation(false, false, root); |
layer2->SetUpdateRect(gfx::Rect(layer1->bounds())); |
host_impl_->active_tree()->BuildPropertyTreesForTesting(); |
host_impl_->active_tree()->set_needs_update_draw_properties(); |
@@ -7387,9 +7394,9 @@ TEST_F(LayerTreeHostImplTest, BlendingOffWhenDrawingOpaqueLayers) { |
// Parent layer with translucent content, drawn with blending. |
// Child layer with opaque content, drawn without blending. |
layer1->SetContentsOpaque(false); |
- layer1->SetExpectation(true, false); |
+ layer1->SetExpectation(true, false, root); |
layer1->SetUpdateRect(gfx::Rect(layer1->bounds())); |
- layer2->SetExpectation(false, false); |
+ layer2->SetExpectation(false, false, root); |
layer2->SetUpdateRect(gfx::Rect(layer1->bounds())); |
host_impl_->active_tree()->BuildPropertyTreesForTesting(); |
host_impl_->active_tree()->set_needs_update_draw_properties(); |
@@ -7403,9 +7410,9 @@ TEST_F(LayerTreeHostImplTest, BlendingOffWhenDrawingOpaqueLayers) { |
// blending. |
// Child layer with opaque content, drawn without blending. |
layer1->SetContentsOpaque(true); |
- layer1->SetExpectation(false, false); |
+ layer1->SetExpectation(false, false, root); |
layer1->SetUpdateRect(gfx::Rect(layer1->bounds())); |
- layer2->SetExpectation(false, false); |
+ layer2->SetExpectation(false, false, root); |
layer2->SetUpdateRect(gfx::Rect(layer1->bounds())); |
host_impl_->active_tree()->BuildPropertyTreesForTesting(); |
EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
@@ -7423,9 +7430,9 @@ TEST_F(LayerTreeHostImplTest, BlendingOffWhenDrawingOpaqueLayers) { |
layer1->test_properties()->opacity = 0.5f; |
layer1->NoteLayerPropertyChanged(); |
layer1->test_properties()->force_render_surface = true; |
- layer1->SetExpectation(false, true); |
+ layer1->SetExpectation(false, true, root); |
layer1->SetUpdateRect(gfx::Rect(layer1->bounds())); |
- layer2->SetExpectation(false, false); |
+ layer2->SetExpectation(false, false, layer1); |
layer2->SetUpdateRect(gfx::Rect(layer1->bounds())); |
host_impl_->active_tree()->BuildPropertyTreesForTesting(); |
EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
@@ -7440,12 +7447,12 @@ TEST_F(LayerTreeHostImplTest, BlendingOffWhenDrawingOpaqueLayers) { |
layer1->SetContentsOpaque(true); |
layer1->test_properties()->opacity = 1.f; |
layer1->NoteLayerPropertyChanged(); |
- layer1->SetExpectation(false, false); |
+ layer1->SetExpectation(false, false, root); |
layer1->SetUpdateRect(gfx::Rect(layer1->bounds())); |
layer2->SetContentsOpaque(true); |
layer2->test_properties()->opacity = 0.5f; |
layer2->NoteLayerPropertyChanged(); |
- layer2->SetExpectation(true, false); |
+ layer2->SetExpectation(true, false, layer1); |
layer2->SetUpdateRect(gfx::Rect(layer1->bounds())); |
host_impl_->active_tree()->BuildPropertyTreesForTesting(); |
EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
@@ -7458,12 +7465,12 @@ TEST_F(LayerTreeHostImplTest, BlendingOffWhenDrawingOpaqueLayers) { |
layer1->SetContentsOpaque(true); |
layer1->test_properties()->opacity = 1.f; |
layer1->NoteLayerPropertyChanged(); |
- layer1->SetExpectation(false, false); |
+ layer1->SetExpectation(false, false, root); |
layer1->SetUpdateRect(gfx::Rect(layer1->bounds())); |
layer2->SetContentsOpaque(false); |
layer2->test_properties()->opacity = 1.f; |
layer2->NoteLayerPropertyChanged(); |
- layer2->SetExpectation(true, false); |
+ layer2->SetExpectation(true, false, root); |
layer2->SetUpdateRect(gfx::Rect(layer1->bounds())); |
host_impl_->active_tree()->BuildPropertyTreesForTesting(); |
EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
@@ -7477,12 +7484,12 @@ TEST_F(LayerTreeHostImplTest, BlendingOffWhenDrawingOpaqueLayers) { |
layer1->SetContentsOpaque(true); |
layer1->test_properties()->opacity = 1.f; |
layer1->NoteLayerPropertyChanged(); |
- layer1->SetExpectation(false, false); |
+ layer1->SetExpectation(false, false, root); |
layer1->SetUpdateRect(gfx::Rect(layer1->bounds())); |
layer2->SetContentsOpaque(true); |
layer2->test_properties()->opacity = 1.f; |
layer2->NoteLayerPropertyChanged(); |
- layer2->SetExpectation(false, false); |
+ layer2->SetExpectation(false, false, root); |
layer2->SetUpdateRect(gfx::Rect(layer1->bounds())); |
host_impl_->active_tree()->BuildPropertyTreesForTesting(); |
EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
@@ -7496,7 +7503,7 @@ TEST_F(LayerTreeHostImplTest, BlendingOffWhenDrawingOpaqueLayers) { |
layer1->SetQuadRect(gfx::Rect(5, 5, 5, 5)); |
layer1->SetQuadVisibleRect(gfx::Rect(5, 5, 5, 5)); |
layer1->SetOpaqueContentRect(gfx::Rect(5, 5, 2, 5)); |
- layer1->SetExpectation(true, false); |
+ layer1->SetExpectation(true, false, root); |
layer1->SetUpdateRect(gfx::Rect(layer1->bounds())); |
host_impl_->active_tree()->BuildPropertyTreesForTesting(); |
host_impl_->active_tree()->set_needs_update_draw_properties(); |
@@ -7510,7 +7517,7 @@ TEST_F(LayerTreeHostImplTest, BlendingOffWhenDrawingOpaqueLayers) { |
layer1->SetQuadRect(gfx::Rect(5, 5, 5, 5)); |
layer1->SetQuadVisibleRect(gfx::Rect(5, 5, 5, 2)); |
layer1->SetOpaqueContentRect(gfx::Rect(5, 5, 2, 5)); |
- layer1->SetExpectation(true, false); |
+ layer1->SetExpectation(true, false, root); |
layer1->SetUpdateRect(gfx::Rect(layer1->bounds())); |
host_impl_->active_tree()->BuildPropertyTreesForTesting(); |
host_impl_->active_tree()->set_needs_update_draw_properties(); |
@@ -7524,7 +7531,7 @@ TEST_F(LayerTreeHostImplTest, BlendingOffWhenDrawingOpaqueLayers) { |
layer1->SetQuadRect(gfx::Rect(5, 5, 5, 5)); |
layer1->SetQuadVisibleRect(gfx::Rect(7, 5, 3, 5)); |
layer1->SetOpaqueContentRect(gfx::Rect(5, 5, 2, 5)); |
- layer1->SetExpectation(true, false); |
+ layer1->SetExpectation(true, false, root); |
layer1->SetUpdateRect(gfx::Rect(layer1->bounds())); |
host_impl_->active_tree()->BuildPropertyTreesForTesting(); |
host_impl_->active_tree()->set_needs_update_draw_properties(); |
@@ -7539,7 +7546,7 @@ TEST_F(LayerTreeHostImplTest, BlendingOffWhenDrawingOpaqueLayers) { |
layer1->SetQuadRect(gfx::Rect(5, 5, 5, 5)); |
layer1->SetQuadVisibleRect(gfx::Rect(5, 5, 2, 5)); |
layer1->SetOpaqueContentRect(gfx::Rect(5, 5, 2, 5)); |
- layer1->SetExpectation(false, false); |
+ layer1->SetExpectation(false, false, root); |
layer1->SetUpdateRect(gfx::Rect(layer1->bounds())); |
host_impl_->active_tree()->BuildPropertyTreesForTesting(); |
host_impl_->active_tree()->set_needs_update_draw_properties(); |
@@ -7629,7 +7636,8 @@ class LayerTreeHostImplViewportCoveredTest : public LayerTreeHostImplTest { |
->root_layer_for_testing() |
->test_properties() |
->children[0]); |
- child_->SetExpectation(false, false); |
+ child_->SetExpectation(false, false, |
+ host_impl_->active_tree()->root_layer_for_testing()); |
child_->SetContentsOpaque(true); |
} |