| Index: cc/trees/layer_tree_host_unittest_picture.cc
|
| diff --git a/cc/trees/layer_tree_host_unittest_picture.cc b/cc/trees/layer_tree_host_unittest_picture.cc
|
| index 731f69214afcfc462f2c4a65c3cae4d110962c58..f290989915eaec78f821a15c7243bd95619b2f59 100644
|
| --- a/cc/trees/layer_tree_host_unittest_picture.cc
|
| +++ b/cc/trees/layer_tree_host_unittest_picture.cc
|
| @@ -4,7 +4,10 @@
|
|
|
| #include "cc/trees/layer_tree_host.h"
|
|
|
| +#include "cc/layers/solid_color_layer.h"
|
| +#include "cc/test/fake_content_layer.h"
|
| #include "cc/test/fake_content_layer_client.h"
|
| +#include "cc/test/fake_content_layer_impl.h"
|
| #include "cc/test/fake_picture_layer.h"
|
| #include "cc/test/fake_picture_layer_impl.h"
|
| #include "cc/test/layer_tree_test.h"
|
| @@ -115,5 +118,76 @@ class LayerTreeHostPictureTestTwinLayer
|
|
|
| MULTI_THREAD_TEST_F(LayerTreeHostPictureTestTwinLayer);
|
|
|
| +class LayerTreeHostPictureNoUpdateTileProprityForZeroOpacityLayer
|
| + : public LayerTreeHostPictureTest {
|
| + protected:
|
| + virtual void SetupTree() OVERRIDE {
|
| + parent_layer_ = FakeContentLayer::Create(&parent_client_);
|
| + parent_layer_->SetBounds(gfx::Size(40, 40));
|
| + parent_layer_->SetOpacity(0.f);
|
| + parent_layer_->SetIsDrawable(true);
|
| +
|
| + scoped_refptr<Layer> root = SolidColorLayer::Create();
|
| + root->SetBounds(gfx::Size(60, 60));
|
| + root->SetOpacity(1.f);
|
| + root->SetIsDrawable(true);
|
| + root->AddChild(parent_layer_);
|
| + layer_tree_host()->SetRootLayer(root);
|
| +
|
| + wheel_handler_ = FakeContentLayer::Create(NULL);
|
| + wheel_handler_->SetBounds(gfx::Size(10, 10));
|
| + wheel_handler_->SetHaveWheelEventHandlers(true);
|
| + wheel_handler_->SetIsDrawable(true);
|
| + parent_layer_->AddChild(wheel_handler_);
|
| +
|
| + picture_ = FakePictureLayer::Create(&picture_client_);
|
| + picture_->SetBounds(gfx::Size(30, 30));
|
| + picture_->SetPosition(gfx::Point(10, 0));
|
| + picture_->SetIsDrawable(true);
|
| + parent_layer_->AddChild(picture_);
|
| +
|
| + LayerTreeHostPictureTest::SetupTree();
|
| + }
|
| +
|
| + virtual void BeginTest() OVERRIDE {
|
| + PostSetNeedsCommitToMainThread();
|
| + }
|
| +
|
| + virtual void DrawLayersOnThread(LayerTreeHostImpl* impl) OVERRIDE {
|
| + LayerTreeHostPictureTest::DrawLayersOnThread(impl);
|
| + FakeContentLayerImpl* parent =
|
| + static_cast<FakeContentLayerImpl*>(impl->RootLayer()->children()[0]);
|
| + EXPECT_TRUE(parent->DrawsContent());
|
| + EXPECT_FALSE(parent->opacity());
|
| + EXPECT_EQ(0u, parent->append_quads_count());
|
| + ASSERT_EQ(2u, parent->children().size());
|
| +
|
| + FakeContentLayerImpl* child =
|
| + static_cast<FakeContentLayerImpl*>(parent->children()[0]);
|
| + EXPECT_TRUE(child->opacity());
|
| + EXPECT_EQ(0u, child->append_quads_count());
|
| +
|
| + FakePictureLayerImpl* picimpl =
|
| + static_cast<FakePictureLayerImpl*>(parent->children()[1]);
|
| + EXPECT_TRUE(picimpl->opacity());
|
| + EXPECT_EQ(0u, picimpl->append_quads_count());
|
| + EXPECT_EQ(0u, picimpl->update_tile_priorities_count());
|
| +
|
| + EndTest();
|
| + }
|
| +
|
| + virtual void AfterTest() OVERRIDE {}
|
| +
|
| + private:
|
| + FakeContentLayerClient parent_client_;
|
| + FakeContentLayerClient picture_client_;
|
| + scoped_refptr<FakeContentLayer> parent_layer_;
|
| + scoped_refptr<FakeContentLayer> wheel_handler_;
|
| + scoped_refptr<FakePictureLayer> picture_;
|
| +};
|
| +
|
| +MULTI_THREAD_TEST_F(
|
| + LayerTreeHostPictureNoUpdateTileProprityForZeroOpacityLayer);
|
| +
|
| } // namespace
|
| } // namespace cc
|
|
|