| Index: cc/trees/layer_tree_host_pixeltest_readback.cc
|
| diff --git a/cc/trees/layer_tree_host_pixeltest_readback.cc b/cc/trees/layer_tree_host_pixeltest_readback.cc
|
| index e8ad466dfa72633c83b7b164a5239bc501ee9ba1..2377da80f1a1537f23cbaf9be4ebfdbe5d2c82b6 100644
|
| --- a/cc/trees/layer_tree_host_pixeltest_readback.cc
|
| +++ b/cc/trees/layer_tree_host_pixeltest_readback.cc
|
| @@ -1079,196 +1079,6 @@ TEST_F(LayerTreeHostReadbackDeviceScalePixelTest,
|
| "green_small_with_blue_corner.png")));
|
| }
|
|
|
| -class LayerTreeHostReadbackViaCompositeAndReadbackPixelTest
|
| - : public LayerTreePixelTest {
|
| - protected:
|
| - LayerTreeHostReadbackViaCompositeAndReadbackPixelTest()
|
| - : device_scale_factor_(1.f),
|
| - white_client_(SK_ColorWHITE),
|
| - green_client_(SK_ColorGREEN),
|
| - blue_client_(SK_ColorBLUE) {}
|
| -
|
| - virtual void InitializeSettings(LayerTreeSettings* settings) OVERRIDE {
|
| - // Cause the device scale factor to be inherited by contents scales.
|
| - settings->layer_transforms_should_scale_layer_contents = true;
|
| - }
|
| -
|
| - virtual void SetupTree() OVERRIDE {
|
| - layer_tree_host()->SetDeviceScaleFactor(device_scale_factor_);
|
| - LayerTreePixelTest::SetupTree();
|
| - }
|
| -
|
| - virtual void BeginTest() OVERRIDE {
|
| - EXPECT_EQ(device_scale_factor_, layer_tree_host()->device_scale_factor());
|
| - if (TestEnded())
|
| - return;
|
| -
|
| - gfx::Rect device_viewport_copy_rect(
|
| - layer_tree_host()->device_viewport_size());
|
| - if (!device_viewport_copy_subrect_.IsEmpty())
|
| - device_viewport_copy_rect.Intersect(device_viewport_copy_subrect_);
|
| -
|
| - scoped_ptr<SkBitmap> bitmap(new SkBitmap);
|
| - bitmap->allocN32Pixels(device_viewport_copy_rect.width(),
|
| - device_viewport_copy_rect.height());
|
| - layer_tree_host()->CompositeAndReadback(bitmap->getPixels(),
|
| - device_viewport_copy_rect);
|
| -
|
| - result_bitmap_ = bitmap.Pass();
|
| - EndTest();
|
| - }
|
| -
|
| - virtual void DrawLayersOnThread(LayerTreeHostImpl* host_impl) OVERRIDE {
|
| - LayerImpl* root_impl = host_impl->active_tree()->root_layer();
|
| -
|
| - LayerImpl* background_impl = root_impl->children()[0];
|
| - EXPECT_EQ(device_scale_factor_, background_impl->contents_scale_x());
|
| - EXPECT_EQ(device_scale_factor_, background_impl->contents_scale_y());
|
| -
|
| - LayerImpl* green_impl = background_impl->children()[0];
|
| - EXPECT_EQ(device_scale_factor_, green_impl->contents_scale_x());
|
| - EXPECT_EQ(device_scale_factor_, green_impl->contents_scale_y());
|
| -
|
| - LayerImpl* blue_impl = green_impl->children()[0];
|
| - EXPECT_EQ(device_scale_factor_, blue_impl->contents_scale_x());
|
| - EXPECT_EQ(device_scale_factor_, blue_impl->contents_scale_y());
|
| - }
|
| -
|
| - gfx::Rect device_viewport_copy_subrect_;
|
| - float device_scale_factor_;
|
| - SolidColorContentLayerClient white_client_;
|
| - SolidColorContentLayerClient green_client_;
|
| - SolidColorContentLayerClient blue_client_;
|
| -};
|
| -
|
| -TEST_F(LayerTreeHostReadbackViaCompositeAndReadbackPixelTest,
|
| - CompositeAndReadback_Software_1) {
|
| - scoped_refptr<ContentLayer> background = ContentLayer::Create(&white_client_);
|
| - background->SetAnchorPoint(gfx::PointF());
|
| - background->SetBounds(gfx::Size(200, 200));
|
| - background->SetIsDrawable(true);
|
| -
|
| - scoped_refptr<ContentLayer> green = ContentLayer::Create(&green_client_);
|
| - green->SetAnchorPoint(gfx::PointF());
|
| - green->SetBounds(gfx::Size(200, 200));
|
| - green->SetIsDrawable(true);
|
| - background->AddChild(green);
|
| -
|
| - scoped_refptr<ContentLayer> blue = ContentLayer::Create(&blue_client_);
|
| - blue->SetAnchorPoint(gfx::PointF());
|
| - blue->SetPosition(gfx::Point(100, 100));
|
| - blue->SetBounds(gfx::Size(50, 50));
|
| - blue->SetIsDrawable(true);
|
| - green->AddChild(blue);
|
| -
|
| - // Grab the middle of the device viewport.
|
| - device_viewport_copy_subrect_ = gfx::Rect(50, 50, 100, 100);
|
| - device_scale_factor_ = 1.f;
|
| -
|
| - this->impl_side_painting_ = false;
|
| - RunPixelTestWithReadbackTarget(SOFTWARE_WITH_DEFAULT,
|
| - background,
|
| - green.get(),
|
| - base::FilePath(FILE_PATH_LITERAL(
|
| - "green_small_with_blue_corner.png")));
|
| -}
|
| -
|
| -TEST_F(LayerTreeHostReadbackViaCompositeAndReadbackPixelTest,
|
| - CompositeAndReadback_Software_2) {
|
| - scoped_refptr<ContentLayer> background = ContentLayer::Create(&white_client_);
|
| - background->SetAnchorPoint(gfx::PointF());
|
| - background->SetBounds(gfx::Size(100, 100));
|
| - background->SetIsDrawable(true);
|
| -
|
| - scoped_refptr<ContentLayer> green = ContentLayer::Create(&green_client_);
|
| - green->SetAnchorPoint(gfx::PointF());
|
| - green->SetBounds(gfx::Size(100, 100));
|
| - green->SetIsDrawable(true);
|
| - background->AddChild(green);
|
| -
|
| - scoped_refptr<ContentLayer> blue = ContentLayer::Create(&blue_client_);
|
| - blue->SetAnchorPoint(gfx::PointF());
|
| - blue->SetPosition(gfx::Point(50, 50));
|
| - blue->SetBounds(gfx::Size(25, 25));
|
| - blue->SetIsDrawable(true);
|
| - green->AddChild(blue);
|
| -
|
| - // Grab the middle of the device viewport.
|
| - device_viewport_copy_subrect_ = gfx::Rect(50, 50, 100, 100);
|
| - device_scale_factor_ = 2.f;
|
| -
|
| - this->impl_side_painting_ = false;
|
| - RunPixelTestWithReadbackTarget(SOFTWARE_WITH_DEFAULT,
|
| - background,
|
| - green.get(),
|
| - base::FilePath(FILE_PATH_LITERAL(
|
| - "green_small_with_blue_corner.png")));
|
| -}
|
| -
|
| -TEST_F(LayerTreeHostReadbackViaCompositeAndReadbackPixelTest,
|
| - CompositeAndReadback_GL_1) {
|
| - scoped_refptr<ContentLayer> background = ContentLayer::Create(&white_client_);
|
| - background->SetAnchorPoint(gfx::PointF());
|
| - background->SetBounds(gfx::Size(200, 200));
|
| - background->SetIsDrawable(true);
|
| -
|
| - scoped_refptr<ContentLayer> green = ContentLayer::Create(&green_client_);
|
| - green->SetAnchorPoint(gfx::PointF());
|
| - green->SetBounds(gfx::Size(200, 200));
|
| - green->SetIsDrawable(true);
|
| - background->AddChild(green);
|
| -
|
| - scoped_refptr<ContentLayer> blue = ContentLayer::Create(&blue_client_);
|
| - blue->SetAnchorPoint(gfx::PointF());
|
| - blue->SetPosition(gfx::Point(100, 100));
|
| - blue->SetBounds(gfx::Size(50, 50));
|
| - blue->SetIsDrawable(true);
|
| - green->AddChild(blue);
|
| -
|
| - // Grab the middle of the device viewport.
|
| - device_viewport_copy_subrect_ = gfx::Rect(50, 50, 100, 100);
|
| - device_scale_factor_ = 1.f;
|
| -
|
| - this->impl_side_painting_ = false;
|
| - RunPixelTestWithReadbackTarget(GL_WITH_DEFAULT,
|
| - background,
|
| - green.get(),
|
| - base::FilePath(FILE_PATH_LITERAL(
|
| - "green_small_with_blue_corner.png")));
|
| -}
|
| -
|
| -TEST_F(LayerTreeHostReadbackViaCompositeAndReadbackPixelTest,
|
| - CompositeAndReadback_GL_2) {
|
| - scoped_refptr<ContentLayer> background = ContentLayer::Create(&white_client_);
|
| - background->SetAnchorPoint(gfx::PointF());
|
| - background->SetBounds(gfx::Size(100, 100));
|
| - background->SetIsDrawable(true);
|
| -
|
| - scoped_refptr<ContentLayer> green = ContentLayer::Create(&green_client_);
|
| - green->SetAnchorPoint(gfx::PointF());
|
| - green->SetBounds(gfx::Size(100, 100));
|
| - green->SetIsDrawable(true);
|
| - background->AddChild(green);
|
| -
|
| - scoped_refptr<ContentLayer> blue = ContentLayer::Create(&blue_client_);
|
| - blue->SetAnchorPoint(gfx::PointF());
|
| - blue->SetPosition(gfx::Point(50, 50));
|
| - blue->SetBounds(gfx::Size(25, 25));
|
| - blue->SetIsDrawable(true);
|
| - green->AddChild(blue);
|
| -
|
| - // Grab the middle of the device viewport.
|
| - device_viewport_copy_subrect_ = gfx::Rect(50, 50, 100, 100);
|
| - device_scale_factor_ = 2.f;
|
| -
|
| - this->impl_side_painting_ = false;
|
| - RunPixelTestWithReadbackTarget(GL_WITH_DEFAULT,
|
| - background,
|
| - green.get(),
|
| - base::FilePath(FILE_PATH_LITERAL(
|
| - "green_small_with_blue_corner.png")));
|
| -}
|
| -
|
| TEST_F(LayerTreeHostReadbackPixelTest, ReadbackNonRootLayerOutsideViewport) {
|
| scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer(
|
| gfx::Rect(200, 200), SK_ColorWHITE);
|
|
|