| Index: cc/layers/layer_impl_unittest.cc
|
| diff --git a/cc/layers/layer_impl_unittest.cc b/cc/layers/layer_impl_unittest.cc
|
| index f38809f309927447c09750672d468eb1147718d4..cd97f811ae8ed2518f877e57698b797d784bf801 100644
|
| --- a/cc/layers/layer_impl_unittest.cc
|
| +++ b/cc/layers/layer_impl_unittest.cc
|
| @@ -257,8 +257,15 @@ TEST(LayerImplTest, VerifyNeedsUpdateDrawProperties) {
|
| FakeImplProxy proxy;
|
| FakeLayerTreeHostImpl host_impl(&proxy);
|
| EXPECT_TRUE(host_impl.InitializeRenderer(CreateFakeOutputSurface()));
|
| - scoped_ptr<LayerImpl> root = LayerImpl::Create(host_impl.active_tree(), 1);
|
| - root->SetScrollable(true);
|
| + host_impl.active_tree()->SetRootLayer(
|
| + LayerImpl::Create(host_impl.active_tree(), 1));
|
| + LayerImpl* root = host_impl.active_tree()->root_layer();
|
| + scoped_ptr<LayerImpl> layer_ptr =
|
| + LayerImpl::Create(host_impl.active_tree(), 2);
|
| + LayerImpl* layer = layer_ptr.get();
|
| + root->AddChild(layer_ptr.Pass());
|
| + layer->SetScrollable(true);
|
| + DCHECK(host_impl.CanDraw());
|
|
|
| gfx::PointF arbitrary_point_f = gfx::PointF(0.125f, 0.25f);
|
| float arbitrary_number = 0.352f;
|
| @@ -277,83 +284,88 @@ TEST(LayerImplTest, VerifyNeedsUpdateDrawProperties) {
|
| SkXfermode::Mode arbitrary_blend_mode = SkXfermode::kMultiply_Mode;
|
|
|
| // Related filter functions.
|
| - VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters));
|
| - VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters));
|
| - VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(FilterOperations()));
|
| - VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters));
|
| + VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetFilters(arbitrary_filters));
|
| + VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetFilters(arbitrary_filters));
|
| + VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetFilters(FilterOperations()));
|
| + VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetFilters(arbitrary_filters));
|
|
|
| // Related scrolling functions.
|
| - VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetMaxScrollOffset(large_vector2d));
|
| + VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(
|
| + layer->SetMaxScrollOffset(large_vector2d));
|
| VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(
|
| - root->SetMaxScrollOffset(large_vector2d));
|
| - VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->ScrollBy(arbitrary_vector2d));
|
| - VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->ScrollBy(gfx::Vector2d()));
|
| - root->SetScrollDelta(gfx::Vector2d(0, 0));
|
| + layer->SetMaxScrollOffset(large_vector2d));
|
| + VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->ScrollBy(arbitrary_vector2d));
|
| + VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->ScrollBy(gfx::Vector2d()));
|
| + layer->SetScrollDelta(gfx::Vector2d(0, 0));
|
| host_impl.ForcePrepareToDraw();
|
| - VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetScrollDelta(arbitrary_vector2d));
|
| + VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(
|
| + layer->SetScrollDelta(arbitrary_vector2d));
|
| VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(
|
| - root->SetScrollDelta(arbitrary_vector2d));
|
| + layer->SetScrollDelta(arbitrary_vector2d));
|
| VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(
|
| - root->SetScrollOffset(arbitrary_vector2d));
|
| + layer->SetScrollOffset(arbitrary_vector2d));
|
| VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(
|
| - root->SetScrollOffset(arbitrary_vector2d));
|
| + layer->SetScrollOffset(arbitrary_vector2d));
|
|
|
| // Unrelated functions, always set to new values, always set needs update.
|
| - VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetAnchorPointZ(arbitrary_number));
|
| + VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetAnchorPointZ(arbitrary_number));
|
| VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(
|
| - root->SetMaskLayer(LayerImpl::Create(host_impl.active_tree(), 4)));
|
| - VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetMasksToBounds(true));
|
| - VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetContentsOpaque(true));
|
| + layer->SetMaskLayer(LayerImpl::Create(host_impl.active_tree(), 4)));
|
| + VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetMasksToBounds(true));
|
| + VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetContentsOpaque(true));
|
| VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(
|
| - root->SetReplicaLayer(LayerImpl::Create(host_impl.active_tree(), 5)));
|
| - VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetPosition(arbitrary_point_f));
|
| - VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetPreserves3d(true));
|
| + layer->SetReplicaLayer(LayerImpl::Create(host_impl.active_tree(), 5)));
|
| + VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetPosition(arbitrary_point_f));
|
| + VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetPreserves3d(true));
|
| VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(
|
| - root->SetDoubleSided(false)); // constructor initializes it to "true".
|
| - VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetContentBounds(arbitrary_size));
|
| + layer->SetDoubleSided(false)); // constructor initializes it to "true".
|
| + VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetContentBounds(arbitrary_size));
|
| VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(
|
| - root->SetContentsScale(arbitrary_number, arbitrary_number));
|
| - VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetDrawsContent(true));
|
| + layer->SetContentsScale(arbitrary_number, arbitrary_number));
|
| + VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetDrawsContent(true));
|
| VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(
|
| - root->SetBackgroundColor(arbitrary_color));
|
| + layer->SetBackgroundColor(arbitrary_color));
|
| VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(
|
| - root->SetBackgroundFilters(arbitrary_filters));
|
| - VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetOpacity(arbitrary_number));
|
| - VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetBlendMode(arbitrary_blend_mode));
|
| - VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetTransform(arbitrary_transform));
|
| + layer->SetBackgroundFilters(arbitrary_filters));
|
| + VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetOpacity(arbitrary_number));
|
| VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(
|
| - root->SetSublayerTransform(arbitrary_transform));
|
| - VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetBounds(arbitrary_size));
|
| + layer->SetBlendMode(arbitrary_blend_mode));
|
| + VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetTransform(arbitrary_transform));
|
| + VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(
|
| + layer->SetSublayerTransform(arbitrary_transform));
|
| + VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetBounds(arbitrary_size));
|
|
|
| // Unrelated functions, set to the same values, no needs update.
|
| VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(
|
| - root->SetAnchorPointZ(arbitrary_number));
|
| - VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetIsRootForIsolatedGroup(true));
|
| - VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters));
|
| - VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetMasksToBounds(true));
|
| - VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetContentsOpaque(true));
|
| - VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetPosition(arbitrary_point_f));
|
| - VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetPreserves3d(true));
|
| + layer->SetAnchorPointZ(arbitrary_number));
|
| VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(
|
| - root->SetDoubleSided(false)); // constructor initializes it to "true".
|
| + layer->SetIsRootForIsolatedGroup(true));
|
| + VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetFilters(arbitrary_filters));
|
| + VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetMasksToBounds(true));
|
| + VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetContentsOpaque(true));
|
| + VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetPosition(arbitrary_point_f));
|
| + VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetPreserves3d(true));
|
| VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(
|
| - root->SetContentBounds(arbitrary_size));
|
| + layer->SetDoubleSided(false)); // constructor initializes it to "true".
|
| VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(
|
| - root->SetContentsScale(arbitrary_number, arbitrary_number));
|
| - VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetDrawsContent(true));
|
| + layer->SetContentBounds(arbitrary_size));
|
| VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(
|
| - root->SetBackgroundColor(arbitrary_color));
|
| + layer->SetContentsScale(arbitrary_number, arbitrary_number));
|
| + VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetDrawsContent(true));
|
| VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(
|
| - root->SetBackgroundFilters(arbitrary_filters));
|
| - VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetOpacity(arbitrary_number));
|
| + layer->SetBackgroundColor(arbitrary_color));
|
| VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(
|
| - root->SetBlendMode(arbitrary_blend_mode));
|
| - VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetIsRootForIsolatedGroup(true));
|
| + layer->SetBackgroundFilters(arbitrary_filters));
|
| + VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetOpacity(arbitrary_number));
|
| VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(
|
| - root->SetTransform(arbitrary_transform));
|
| + layer->SetBlendMode(arbitrary_blend_mode));
|
| VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(
|
| - root->SetSublayerTransform(arbitrary_transform));
|
| - VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetBounds(arbitrary_size));
|
| + layer->SetIsRootForIsolatedGroup(true));
|
| + VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(
|
| + layer->SetTransform(arbitrary_transform));
|
| + VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(
|
| + layer->SetSublayerTransform(arbitrary_transform));
|
| + VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetBounds(arbitrary_size));
|
| }
|
|
|
| TEST(LayerImplTest, SafeOpaqueBackgroundColor) {
|
|
|