| Index: cc/layers/surface_layer_impl_unittest.cc
|
| diff --git a/cc/layers/surface_layer_impl_unittest.cc b/cc/layers/surface_layer_impl_unittest.cc
|
| index ea556d8dae165f109aa62c55536b2e1ab792abc7..33d8b49ba785f5d8cdd9a42c22a575775d6abf2e 100644
|
| --- a/cc/layers/surface_layer_impl_unittest.cc
|
| +++ b/cc/layers/surface_layer_impl_unittest.cc
|
| @@ -6,6 +6,7 @@
|
|
|
| #include <stddef.h>
|
|
|
| +#include "cc/layers/append_quads_data.h"
|
| #include "cc/test/layer_test_common.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| @@ -66,5 +67,38 @@ TEST(SurfaceLayerImplTest, Occlusion) {
|
| }
|
| }
|
|
|
| +TEST(SurfaceLayerImplTest, LayerBoundsDiffFromSurfaceLayerSize) {
|
| + LayerTestCommon::LayerImplTest impl;
|
| + SurfaceLayerImpl* surface_layer_impl =
|
| + impl.AddChildToRoot<SurfaceLayerImpl>();
|
| + const LocalFrameId kArbitraryLocalFrameId(9,
|
| + base::UnguessableToken::Create());
|
| +
|
| + gfx::Size layer_size(100, 300);
|
| + gfx::Size surface_size(350, 350);
|
| + float surface_scale = 2.f;
|
| + surface_layer_impl->SetBounds(layer_size);
|
| + surface_layer_impl->SetDrawsContent(true);
|
| + SurfaceId surface_id(kArbitraryFrameSinkId, kArbitraryLocalFrameId);
|
| + surface_layer_impl->SetSurfaceId(surface_id);
|
| + surface_layer_impl->SetSurfaceScale(surface_scale);
|
| + surface_layer_impl->SetSurfaceSize(surface_size);
|
| +
|
| + std::unique_ptr<RenderPass> render_pass = RenderPass::Create();
|
| + AppendQuadsData data;
|
| + surface_layer_impl->AppendQuads(render_pass.get(), &data);
|
| +
|
| + const QuadList& quads = render_pass->quad_list;
|
| + ASSERT_EQ(1u, quads.size());
|
| + EXPECT_EQ(DrawQuad::SURFACE_CONTENT, quads.front()->material);
|
| + const SharedQuadState* shared_quad_state = quads.front()->shared_quad_state;
|
| +
|
| + gfx::Transform transform;
|
| + float scale_x = 350.f / 100.f;
|
| + float scale_y = 350.f / 300.f;
|
| + transform.Scale(SK_MScalar1 / scale_x, SK_MScalar1 / scale_y);
|
| + EXPECT_EQ(transform, shared_quad_state->quad_to_target_transform);
|
| +}
|
| +
|
| } // namespace
|
| } // namespace cc
|
|
|