| Index: cc/layers/layer_utils_unittest.cc
|
| diff --git a/cc/layers/layer_utils_unittest.cc b/cc/layers/layer_utils_unittest.cc
|
| deleted file mode 100644
|
| index 534a691e47b2c031b6914ebcf9b8754aadb8eea5..0000000000000000000000000000000000000000
|
| --- a/cc/layers/layer_utils_unittest.cc
|
| +++ /dev/null
|
| @@ -1,269 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "cc/layers/layer_utils.h"
|
| -
|
| -#include "cc/animation/transform_operations.h"
|
| -#include "cc/layers/layer_impl.h"
|
| -#include "cc/test/animation_test_common.h"
|
| -#include "cc/test/fake_impl_proxy.h"
|
| -#include "cc/test/fake_layer_tree_host_impl.h"
|
| -#include "cc/test/test_shared_bitmap_manager.h"
|
| -#include "cc/test/test_task_graph_runner.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -#include "ui/gfx/geometry/box_f.h"
|
| -#include "ui/gfx/test/gfx_util.h"
|
| -
|
| -namespace cc {
|
| -namespace {
|
| -
|
| -float diagonal(float width, float height) {
|
| - return std::sqrt(width * width + height * height);
|
| -}
|
| -
|
| -class LayerUtilsGetAnimationBoundsTest : public testing::Test {
|
| - public:
|
| - LayerUtilsGetAnimationBoundsTest()
|
| - : host_impl_(&proxy_, &shared_bitmap_manager_, &task_graph_runner_),
|
| - root_(CreateThreeNodeTree(&host_impl_)),
|
| - parent_(root_->children()[0]),
|
| - child_(parent_->children()[0]) {}
|
| -
|
| - LayerImpl* root() { return root_.get(); }
|
| - LayerImpl* parent() { return parent_; }
|
| - LayerImpl* child() { return child_; }
|
| -
|
| - private:
|
| - static scoped_ptr<LayerImpl> CreateThreeNodeTree(
|
| - LayerTreeHostImpl* host_impl) {
|
| - scoped_ptr<LayerImpl> root = LayerImpl::Create(host_impl->active_tree(), 1);
|
| - root->AddChild(LayerImpl::Create(host_impl->active_tree(), 2));
|
| - root->children()[0]->AddChild(
|
| - LayerImpl::Create(host_impl->active_tree(), 3));
|
| - return root.Pass();
|
| - }
|
| -
|
| - FakeImplProxy proxy_;
|
| - TestSharedBitmapManager shared_bitmap_manager_;
|
| - TestTaskGraphRunner task_graph_runner_;
|
| - FakeLayerTreeHostImpl host_impl_;
|
| - scoped_ptr<LayerImpl> root_;
|
| - LayerImpl* parent_;
|
| - LayerImpl* child_;
|
| -};
|
| -
|
| -TEST_F(LayerUtilsGetAnimationBoundsTest, ScaleRoot) {
|
| - double duration = 1.0;
|
| -
|
| - TransformOperations start;
|
| - start.AppendScale(1.f, 1.f, 1.f);
|
| - TransformOperations end;
|
| - end.AppendScale(2.f, 2.f, 1.f);
|
| - AddAnimatedTransformToLayer(root(), duration, start, end);
|
| -
|
| - root()->SetPosition(gfx::PointF());
|
| - parent()->SetPosition(gfx::PointF());
|
| - parent()->SetBounds(gfx::Size(350, 200));
|
| -
|
| - child()->SetDrawsContent(true);
|
| - child()->draw_properties().screen_space_transform_is_animating = true;
|
| - child()->SetPosition(gfx::PointF(150.f, 50.f));
|
| - child()->SetBounds(gfx::Size(100, 200));
|
| -
|
| - gfx::BoxF box;
|
| - bool success = LayerUtils::GetAnimationBounds(*child(), &box);
|
| - EXPECT_TRUE(success);
|
| - gfx::BoxF expected(150.f, 50.f, 0.f, 350.f, 450.f, 0.f);
|
| - EXPECT_BOXF_EQ(expected, box);
|
| -}
|
| -
|
| -TEST_F(LayerUtilsGetAnimationBoundsTest, TranslateParentLayer) {
|
| - double duration = 1.0;
|
| -
|
| - TransformOperations start;
|
| - start.AppendTranslate(0.f, 0.f, 0.f);
|
| - TransformOperations end;
|
| - end.AppendTranslate(50.f, 50.f, 0.f);
|
| - AddAnimatedTransformToLayer(parent(), duration, start, end);
|
| -
|
| - parent()->SetBounds(gfx::Size(350, 200));
|
| -
|
| - child()->SetDrawsContent(true);
|
| - child()->draw_properties().screen_space_transform_is_animating = true;
|
| - child()->SetPosition(gfx::PointF(150.f, 50.f));
|
| - child()->SetBounds(gfx::Size(100, 200));
|
| -
|
| - gfx::BoxF box;
|
| - bool success = LayerUtils::GetAnimationBounds(*child(), &box);
|
| - EXPECT_TRUE(success);
|
| - gfx::BoxF expected(150.f, 50.f, 0.f, 150.f, 250.f, 0.f);
|
| - EXPECT_BOXF_EQ(expected, box);
|
| -}
|
| -
|
| -TEST_F(LayerUtilsGetAnimationBoundsTest, TranslateChildLayer) {
|
| - double duration = 1.0;
|
| -
|
| - TransformOperations start;
|
| - start.AppendTranslate(0.f, 0.f, 0.f);
|
| - TransformOperations end;
|
| - end.AppendTranslate(50.f, 50.f, 0.f);
|
| - AddAnimatedTransformToLayer(child(), duration, start, end);
|
| -
|
| - parent()->SetBounds(gfx::Size(350, 200));
|
| -
|
| - child()->SetDrawsContent(true);
|
| - child()->draw_properties().screen_space_transform_is_animating = true;
|
| - child()->SetPosition(gfx::PointF(150.f, 50.f));
|
| - child()->SetBounds(gfx::Size(100, 200));
|
| -
|
| - gfx::BoxF box;
|
| - bool success = LayerUtils::GetAnimationBounds(*child(), &box);
|
| - EXPECT_TRUE(success);
|
| - gfx::BoxF expected(150.f, 50.f, 0.f, 150.f, 250.f, 0.f);
|
| - EXPECT_BOXF_EQ(expected, box);
|
| -}
|
| -
|
| -TEST_F(LayerUtilsGetAnimationBoundsTest, TranslateBothLayers) {
|
| - double duration = 1.0;
|
| -
|
| - TransformOperations start;
|
| - start.AppendTranslate(0.f, 0.f, 0.f);
|
| - TransformOperations child_end;
|
| - child_end.AppendTranslate(50.f, 0.f, 0.f);
|
| - AddAnimatedTransformToLayer(parent(), duration, start, child_end);
|
| -
|
| - TransformOperations grand_child_end;
|
| - grand_child_end.AppendTranslate(0.f, 50.f, 0.f);
|
| - AddAnimatedTransformToLayer(child(), duration, start, grand_child_end);
|
| -
|
| - parent()->SetBounds(gfx::Size(350, 200));
|
| -
|
| - child()->SetDrawsContent(true);
|
| - child()->draw_properties().screen_space_transform_is_animating = true;
|
| - child()->SetPosition(gfx::PointF(150.f, 50.f));
|
| - child()->SetBounds(gfx::Size(100, 200));
|
| -
|
| - gfx::BoxF box;
|
| - bool success = LayerUtils::GetAnimationBounds(*child(), &box);
|
| - EXPECT_TRUE(success);
|
| - gfx::BoxF expected(150.f, 50.f, 0.f, 150.f, 250.f, 0.f);
|
| - EXPECT_BOXF_EQ(expected, box);
|
| -}
|
| -
|
| -TEST_F(LayerUtilsGetAnimationBoundsTest, RotateXNoPerspective) {
|
| - double duration = 1.0;
|
| -
|
| - TransformOperations start;
|
| - start.AppendRotate(1.f, 0.f, 0.f, 0.f);
|
| - TransformOperations end;
|
| - end.AppendRotate(1.f, 0.f, 0.f, 90.f);
|
| - AddAnimatedTransformToLayer(child(), duration, start, end);
|
| -
|
| - parent()->SetBounds(gfx::Size(350, 200));
|
| -
|
| - gfx::Size bounds(100, 100);
|
| - child()->SetDrawsContent(true);
|
| - child()->draw_properties().screen_space_transform_is_animating = true;
|
| - child()->SetPosition(gfx::PointF(150.f, 50.f));
|
| - child()->SetBounds(bounds);
|
| - child()->SetTransformOrigin(
|
| - gfx::Point3F(bounds.width() * 0.5f, bounds.height() * 0.5f, 0));
|
| -
|
| - gfx::BoxF box;
|
| - bool success = LayerUtils::GetAnimationBounds(*child(), &box);
|
| - EXPECT_TRUE(success);
|
| - gfx::BoxF expected(150.f, 50.f, -50.f, 100.f, 100.f, 100.f);
|
| - EXPECT_BOXF_EQ(expected, box);
|
| -}
|
| -
|
| -TEST_F(LayerUtilsGetAnimationBoundsTest, RotateXWithPerspective) {
|
| - double duration = 1.0;
|
| -
|
| - TransformOperations start;
|
| - start.AppendRotate(1.f, 0.f, 0.f, 0.f);
|
| - TransformOperations end;
|
| - end.AppendRotate(1.f, 0.f, 0.f, 90.f);
|
| - AddAnimatedTransformToLayer(child(), duration, start, end);
|
| -
|
| - // Make the anchor point not the default 0.5 value and line up with the
|
| - // child center to make the math easier.
|
| - parent()->SetTransformOrigin(
|
| - gfx::Point3F(0.375f * 400.f, 0.375f * 400.f, 0.f));
|
| - parent()->SetBounds(gfx::Size(400, 400));
|
| -
|
| - gfx::Transform perspective;
|
| - perspective.ApplyPerspectiveDepth(100.f);
|
| - parent()->SetTransform(perspective);
|
| -
|
| - gfx::Size bounds(100, 100);
|
| - child()->SetDrawsContent(true);
|
| - child()->draw_properties().screen_space_transform_is_animating = true;
|
| - child()->SetPosition(gfx::PointF(100.f, 100.f));
|
| - child()->SetBounds(bounds);
|
| - child()->SetTransformOrigin(
|
| - gfx::Point3F(bounds.width() * 0.5f, bounds.height() * 0.5f, 0));
|
| -
|
| - gfx::BoxF box;
|
| - bool success = LayerUtils::GetAnimationBounds(*child(), &box);
|
| - EXPECT_TRUE(success);
|
| - gfx::BoxF expected(50.f, 50.f, -33.333336f, 200.f, 200.f, 133.333344f);
|
| - EXPECT_BOXF_EQ(expected, box);
|
| -}
|
| -
|
| -TEST_F(LayerUtilsGetAnimationBoundsTest, RotateZ) {
|
| - double duration = 1.0;
|
| -
|
| - TransformOperations start;
|
| - start.AppendRotate(0.f, 0.f, 1.f, 0.f);
|
| - TransformOperations end;
|
| - end.AppendRotate(0.f, 0.f, 1.f, 90.f);
|
| - AddAnimatedTransformToLayer(child(), duration, start, end);
|
| -
|
| - parent()->SetBounds(gfx::Size(350, 200));
|
| -
|
| - gfx::Size bounds(100, 100);
|
| - child()->SetDrawsContent(true);
|
| - child()->draw_properties().screen_space_transform_is_animating = true;
|
| - child()->SetPosition(gfx::PointF(150.f, 50.f));
|
| - child()->SetBounds(bounds);
|
| - child()->SetTransformOrigin(
|
| - gfx::Point3F(bounds.width() * 0.5f, bounds.height() * 0.5f, 0));
|
| -
|
| - gfx::BoxF box;
|
| - bool success = LayerUtils::GetAnimationBounds(*child(), &box);
|
| - EXPECT_TRUE(success);
|
| - float diag = diagonal(bounds.width(), bounds.height());
|
| - gfx::BoxF expected(150.f + 0.5f * (bounds.width() - diag),
|
| - 50.f + 0.5f * (bounds.height() - diag),
|
| - 0.f,
|
| - diag,
|
| - diag,
|
| - 0.f);
|
| - EXPECT_BOXF_EQ(expected, box);
|
| -}
|
| -
|
| -TEST_F(LayerUtilsGetAnimationBoundsTest, MismatchedTransforms) {
|
| - double duration = 1.0;
|
| -
|
| - TransformOperations start;
|
| - start.AppendTranslate(5, 6, 7);
|
| - TransformOperations end;
|
| - end.AppendRotate(0.f, 0.f, 1.f, 90.f);
|
| - AddAnimatedTransformToLayer(child(), duration, start, end);
|
| -
|
| - parent()->SetBounds(gfx::Size(350, 200));
|
| -
|
| - gfx::Size bounds(100, 100);
|
| - child()->SetDrawsContent(true);
|
| - child()->draw_properties().screen_space_transform_is_animating = true;
|
| - child()->SetPosition(gfx::PointF(150.f, 50.f));
|
| - child()->SetBounds(bounds);
|
| -
|
| - gfx::BoxF box;
|
| - bool success = LayerUtils::GetAnimationBounds(*child(), &box);
|
| - EXPECT_FALSE(success);
|
| -}
|
| -
|
| -} // namespace
|
| -} // namespace cc
|
|
|