| Index: ui/compositor/layer_owner_unittest.cc
|
| diff --git a/ui/compositor/layer_owner_unittest.cc b/ui/compositor/layer_owner_unittest.cc
|
| index 6390ecaf4633f026c409573114a6defb216f003e..60e10389ffc38e1aee702c8da022cba965f1d39c 100644
|
| --- a/ui/compositor/layer_owner_unittest.cc
|
| +++ b/ui/compositor/layer_owner_unittest.cc
|
| @@ -4,12 +4,59 @@
|
|
|
| #include "ui/compositor/layer_owner.h"
|
|
|
| +#include "base/test/null_task_runner.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| +#include "ui/compositor/compositor.h"
|
| #include "ui/compositor/layer.h"
|
| #include "ui/compositor/layer_animator.h"
|
| #include "ui/compositor/scoped_layer_animation_settings.h"
|
| +#include "ui/compositor/test/context_factories_for_test.h"
|
| +#include "ui/gfx/native_widget_types.h"
|
|
|
| namespace ui {
|
| +namespace {
|
| +
|
| +// Test fixture for LayerOwner tests that require a ui::Compositor.
|
| +class LayerOwnerTestWithCompositor : public testing::Test {
|
| + public:
|
| + LayerOwnerTestWithCompositor();
|
| + ~LayerOwnerTestWithCompositor() override;
|
| +
|
| + void SetUp() override;
|
| + void TearDown() override;
|
| +
|
| + protected:
|
| + ui::Compositor* compositor() { return compositor_.get(); }
|
| +
|
| + private:
|
| + scoped_ptr<ui::Compositor> compositor_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(LayerOwnerTestWithCompositor);
|
| +};
|
| +
|
| +LayerOwnerTestWithCompositor::LayerOwnerTestWithCompositor() {
|
| +}
|
| +
|
| +LayerOwnerTestWithCompositor::~LayerOwnerTestWithCompositor() {
|
| +}
|
| +
|
| +void LayerOwnerTestWithCompositor::SetUp() {
|
| + scoped_refptr<base::SingleThreadTaskRunner> task_runner =
|
| + new base::NullTaskRunner();
|
| +
|
| + ui::ContextFactory* context_factory =
|
| + ui::InitializeContextFactoryForTests(false);
|
| +
|
| + compositor_.reset(new ui::Compositor(gfx::kNullAcceleratedWidget,
|
| + context_factory, task_runner));
|
| +}
|
| +
|
| +void LayerOwnerTestWithCompositor::TearDown() {
|
| + compositor_.reset();
|
| + ui::TerminateContextFactoryForTests();
|
| +}
|
| +
|
| +} // namespace
|
|
|
| TEST(LayerOwnerTest, RecreateLayerHonorsTargetVisibilityAndOpacity) {
|
| LayerOwner owner;
|
| @@ -30,4 +77,29 @@ TEST(LayerOwnerTest, RecreateLayerHonorsTargetVisibilityAndOpacity) {
|
| EXPECT_EQ(0.0f, owner.layer()->opacity());
|
| }
|
|
|
| +TEST(LayerOwnerTest, RecreateRootLayerWithNullCompositor) {
|
| + LayerOwner owner;
|
| + Layer* layer = new Layer;
|
| + owner.SetLayer(layer);
|
| +
|
| + scoped_ptr<Layer> layer_copy = owner.RecreateLayer();
|
| +
|
| + EXPECT_EQ(nullptr, owner.layer()->GetCompositor());
|
| + EXPECT_EQ(nullptr, layer_copy->GetCompositor());
|
| +}
|
| +
|
| +TEST_F(LayerOwnerTestWithCompositor, RecreateRootLayerWithCompositor) {
|
| + LayerOwner owner;
|
| + Layer* layer = new Layer;
|
| + owner.SetLayer(layer);
|
| +
|
| + compositor()->SetRootLayer(layer);
|
| +
|
| + scoped_ptr<Layer> layer_copy = owner.RecreateLayer();
|
| +
|
| + EXPECT_EQ(compositor(), owner.layer()->GetCompositor());
|
| + EXPECT_EQ(owner.layer(), compositor()->root_layer());
|
| + EXPECT_EQ(nullptr, layer_copy->GetCompositor());
|
| +}
|
| +
|
| } // namespace ui
|
|
|