| Index: cc/trees/layer_tree_host_unittest_copyrequest.cc
|
| diff --git a/cc/trees/layer_tree_host_unittest_copyrequest.cc b/cc/trees/layer_tree_host_unittest_copyrequest.cc
|
| index 9e39762cd6b0c6a22884fa725bca247f51906403..86c7dc282727ad0502208347df9ebbdab710c9e1 100644
|
| --- a/cc/trees/layer_tree_host_unittest_copyrequest.cc
|
| +++ b/cc/trees/layer_tree_host_unittest_copyrequest.cc
|
| @@ -496,6 +496,59 @@ class LayerTreeHostCopyRequestTestClippedOut
|
| SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F(
|
| LayerTreeHostCopyRequestTestClippedOut);
|
|
|
| +class LayerTreeHostCopyRequestTestScaledLayer
|
| + : public LayerTreeHostCopyRequestTest {
|
| + protected:
|
| + void SetupTree() override {
|
| + root_ = Layer::Create(layer_settings());
|
| + root_->SetBounds(gfx::Size(20, 20));
|
| +
|
| + gfx::Transform scale;
|
| + scale.Scale(2, 2);
|
| +
|
| + copy_layer_ = Layer::Create(layer_settings());
|
| + copy_layer_->SetBounds(gfx::Size(10, 10));
|
| + copy_layer_->SetTransform(scale);
|
| + root_->AddChild(copy_layer_);
|
| +
|
| + child_layer_ = FakePictureLayer::Create(layer_settings(), &client_);
|
| + child_layer_->SetBounds(gfx::Size(10, 10));
|
| + copy_layer_->AddChild(child_layer_);
|
| +
|
| + layer_tree_host()->SetRootLayer(root_);
|
| + LayerTreeHostCopyRequestTest::SetupTree();
|
| + client_.set_bounds(root_->bounds());
|
| + }
|
| +
|
| + void BeginTest() override {
|
| + PostSetNeedsCommitToMainThread();
|
| +
|
| + scoped_ptr<CopyOutputRequest> request =
|
| + CopyOutputRequest::CreateBitmapRequest(base::Bind(
|
| + &LayerTreeHostCopyRequestTestScaledLayer::CopyOutputCallback,
|
| + base::Unretained(this)));
|
| + request->set_area(gfx::Rect(5, 5));
|
| + copy_layer_->RequestCopyOfOutput(std::move(request));
|
| + }
|
| +
|
| + void CopyOutputCallback(scoped_ptr<CopyOutputResult> result) {
|
| + // The request area is expressed in layer space, but the result's size takes
|
| + // into account the transform from layer space to surface space.
|
| + EXPECT_EQ(gfx::Size(10, 10), result->size());
|
| + EndTest();
|
| + }
|
| +
|
| + void AfterTest() override {}
|
| +
|
| + FakeContentLayerClient client_;
|
| + scoped_refptr<Layer> root_;
|
| + scoped_refptr<Layer> copy_layer_;
|
| + scoped_refptr<FakePictureLayer> child_layer_;
|
| +};
|
| +
|
| +SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F(
|
| + LayerTreeHostCopyRequestTestScaledLayer);
|
| +
|
| class LayerTreeHostTestAsyncTwoReadbacksWithoutDraw
|
| : public LayerTreeHostCopyRequestTest {
|
| protected:
|
|
|