Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(38)

Unified Diff: cc/trees/layer_tree_host_common_unittest.cc

Issue 574343003: cc: Change LTHCommon tests to use impl painting. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@pixel_test
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/trees/layer_tree_host_common_unittest.cc
diff --git a/cc/trees/layer_tree_host_common_unittest.cc b/cc/trees/layer_tree_host_common_unittest.cc
index 4f682fef0b73a54772413f8a31b6dff1399de677..cb94159202077baee1f9689628841394ec3de07c 100644
--- a/cc/trees/layer_tree_host_common_unittest.cc
+++ b/cc/trees/layer_tree_host_common_unittest.cc
@@ -23,6 +23,8 @@
#include "cc/test/fake_impl_proxy.h"
#include "cc/test/fake_layer_tree_host.h"
#include "cc/test/fake_layer_tree_host_impl.h"
+#include "cc/test/fake_picture_layer.h"
+#include "cc/test/fake_picture_layer_impl.h"
#include "cc/test/geometry_test_utils.h"
#include "cc/test/layer_tree_host_common_test.h"
#include "cc/trees/layer_tree_impl.h"
@@ -60,9 +62,10 @@ class MockContentLayerClient : public ContentLayerClient {
virtual bool FillsBoundsCompletely() const OVERRIDE { return false; }
};
-scoped_refptr<ContentLayer> CreateDrawableContentLayer(
+scoped_refptr<FakePictureLayer> CreateDrawablePictureLayer(
ContentLayerClient* delegate) {
- scoped_refptr<ContentLayer> to_return = ContentLayer::Create(delegate);
+ scoped_refptr<FakePictureLayer> to_return =
+ FakePictureLayer::Create(delegate);
to_return->SetIsDrawable(true);
return to_return;
}
@@ -3261,13 +3264,13 @@ TEST_F(LayerTreeHostCommonTest, DrawableAndVisibleContentRectsInHighDPI) {
MockContentLayerClient client;
scoped_refptr<Layer> root = Layer::Create();
- scoped_refptr<ContentLayer> render_surface1 =
- CreateDrawableContentLayer(&client);
- scoped_refptr<ContentLayer> render_surface2 =
- CreateDrawableContentLayer(&client);
- scoped_refptr<ContentLayer> child1 = CreateDrawableContentLayer(&client);
- scoped_refptr<ContentLayer> child2 = CreateDrawableContentLayer(&client);
- scoped_refptr<ContentLayer> child3 = CreateDrawableContentLayer(&client);
+ scoped_refptr<FakePictureLayer> render_surface1 =
+ CreateDrawablePictureLayer(&client);
+ scoped_refptr<FakePictureLayer> render_surface2 =
+ CreateDrawablePictureLayer(&client);
+ scoped_refptr<FakePictureLayer> child1 = CreateDrawablePictureLayer(&client);
+ scoped_refptr<FakePictureLayer> child2 = CreateDrawablePictureLayer(&client);
+ scoped_refptr<FakePictureLayer> child3 = CreateDrawablePictureLayer(&client);
root->AddChild(render_surface1);
render_surface1->AddChild(render_surface2);
render_surface2->AddChild(child1);
@@ -3353,15 +3356,15 @@ TEST_F(LayerTreeHostCommonTest, DrawableAndVisibleContentRectsInHighDPI) {
// The root layer does not actually draw content of its own.
EXPECT_RECT_EQ(gfx::Rect(0, 0, 0, 0), root->visible_content_rect());
- // All layer visible content rects are expressed in content space of each
- // layer, so they are also scaled by the device_scale_factor.
- EXPECT_RECT_EQ(gfx::Rect(0, 0, 6, 8),
+ // All layer visible content rects are not expressed in content space of each
+ // layer, so they are also not scaled by the device_scale_factor.
+ EXPECT_RECT_EQ(gfx::Rect(0, 0, 3, 4),
render_surface1->visible_content_rect());
- EXPECT_RECT_EQ(gfx::Rect(0, 0, 14, 26),
+ EXPECT_RECT_EQ(gfx::Rect(0, 0, 7, 13),
render_surface2->visible_content_rect());
- EXPECT_RECT_EQ(gfx::Rect(0, 0, 100, 100), child1->visible_content_rect());
- EXPECT_RECT_EQ(gfx::Rect(0, 0, 100, 100), child2->visible_content_rect());
- EXPECT_RECT_EQ(gfx::Rect(0, 0, 100, 100), child3->visible_content_rect());
+ EXPECT_RECT_EQ(gfx::Rect(0, 0, 50, 50), child1->visible_content_rect());
+ EXPECT_RECT_EQ(gfx::Rect(0, 0, 50, 50), child2->visible_content_rect());
+ EXPECT_RECT_EQ(gfx::Rect(0, 0, 50, 50), child3->visible_content_rect());
}
TEST_F(LayerTreeHostCommonTest, BackFaceCullingWithoutPreserves3d) {
@@ -4009,6 +4012,37 @@ TEST_F(LayerTreeHostCommonTest,
->render_surface()->layer_list().at(1)->id());
}
+class NoScalePictureLayer : public PictureLayer {
+ public:
+ static scoped_refptr<NoScalePictureLayer> Create(ContentLayerClient* client) {
+ return make_scoped_refptr(new NoScalePictureLayer(client));
+ }
+
+ virtual void CalculateContentsScale(float ideal_contents_scale,
+ float* contents_scale_x,
+ float* contents_scale_y,
+ gfx::Size* contentBounds) OVERRIDE {
+ // Skip over the ContentLayer's method to the base Layer class.
+ Layer::CalculateContentsScale(ideal_contents_scale,
+ contents_scale_x,
+ contents_scale_y,
+ contentBounds);
+ }
+
+ private:
+ explicit NoScalePictureLayer(ContentLayerClient* client)
+ : PictureLayer(client) {}
+ virtual ~NoScalePictureLayer() {}
+};
+
+scoped_refptr<NoScalePictureLayer> CreateNoScaleDrawablePictureLayer(
+ ContentLayerClient* delegate) {
+ scoped_refptr<NoScalePictureLayer> to_return =
+ NoScalePictureLayer::Create(delegate);
+ to_return->SetIsDrawable(true);
+ return to_return;
+}
+
class NoScaleContentLayer : public ContentLayer {
public:
static scoped_refptr<NoScaleContentLayer> Create(ContentLayerClient* client) {
@@ -4045,7 +4079,8 @@ TEST_F(LayerTreeHostCommonTest, LayerTransformsInHighDPI) {
MockContentLayerClient delegate;
gfx::Transform identity_matrix;
- scoped_refptr<ContentLayer> parent = CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> parent =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(parent.get(),
identity_matrix,
gfx::Point3F(),
@@ -4054,7 +4089,7 @@ TEST_F(LayerTreeHostCommonTest, LayerTransformsInHighDPI) {
false,
true);
- scoped_refptr<ContentLayer> child = CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> child = CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(child.get(),
identity_matrix,
gfx::Point3F(),
@@ -4063,8 +4098,8 @@ TEST_F(LayerTreeHostCommonTest, LayerTransformsInHighDPI) {
false,
true);
- scoped_refptr<ContentLayer> child_empty =
- CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> child_empty =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(child_empty.get(),
identity_matrix,
gfx::Point3F(),
@@ -4073,8 +4108,8 @@ TEST_F(LayerTreeHostCommonTest, LayerTransformsInHighDPI) {
false,
true);
- scoped_refptr<NoScaleContentLayer> child_no_scale =
- CreateNoScaleDrawableContentLayer(&delegate);
+ scoped_refptr<NoScalePictureLayer> child_no_scale =
+ CreateNoScaleDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(child_no_scale.get(),
identity_matrix,
gfx::Point3F(),
@@ -4101,16 +4136,17 @@ TEST_F(LayerTreeHostCommonTest, LayerTransformsInHighDPI) {
inputs.can_adjust_raster_scales = true;
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, parent);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, child);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
- child_empty);
+ EXPECT_CONTENTS_SCALE_EQ(1, parent);
+ EXPECT_CONTENTS_SCALE_EQ(1, child);
+ EXPECT_CONTENTS_SCALE_EQ(1, child_empty);
EXPECT_CONTENTS_SCALE_EQ(1, child_no_scale);
EXPECT_EQ(1u, render_surface_layer_list.size());
// Verify parent transforms
gfx::Transform expected_parent_transform;
+ expected_parent_transform.Scale(device_scale_factor * page_scale_factor,
+ device_scale_factor * page_scale_factor);
EXPECT_TRANSFORMATION_MATRIX_EQ(expected_parent_transform,
parent->screen_space_transform());
EXPECT_TRANSFORMATION_MATRIX_EQ(expected_parent_transform,
@@ -4134,6 +4170,7 @@ TEST_F(LayerTreeHostCommonTest, LayerTransformsInHighDPI) {
expected_child_transform.Translate(
device_scale_factor * child->position().x(),
device_scale_factor * child->position().y());
+ expected_child_transform.Scale(device_scale_factor, device_scale_factor);
EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform,
child->draw_transform());
EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform,
@@ -4167,9 +4204,8 @@ TEST_F(LayerTreeHostCommonTest, LayerTransformsInHighDPI) {
// Verify child_no_scale transforms
gfx::Transform expected_child_no_scale_transform = child->draw_transform();
// All transforms operate on content rects. The child's content rect
- // incorporates device scale, but the child_no_scale does not; add it here.
- expected_child_no_scale_transform.Scale(device_scale_factor,
- device_scale_factor);
+ // incorporates device scale, the child_no_scale also does.
+
EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_no_scale_transform,
child_no_scale->draw_transform());
EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_no_scale_transform,
@@ -4189,7 +4225,8 @@ TEST_F(LayerTreeHostCommonTest, SurfaceLayerTransformsInHighDPI) {
scoped_refptr<Layer> root = Layer::Create();
- scoped_refptr<ContentLayer> parent = CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> parent =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(parent.get(),
identity_matrix,
gfx::Point3F(),
@@ -4198,8 +4235,8 @@ TEST_F(LayerTreeHostCommonTest, SurfaceLayerTransformsInHighDPI) {
false,
true);
- scoped_refptr<ContentLayer> perspective_surface =
- CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> perspective_surface =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(perspective_surface.get(),
perspective_matrix * scale_small_matrix,
gfx::Point3F(),
@@ -4208,8 +4245,8 @@ TEST_F(LayerTreeHostCommonTest, SurfaceLayerTransformsInHighDPI) {
false,
true);
- scoped_refptr<ContentLayer> scale_surface =
- CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> scale_surface =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(scale_surface.get(),
scale_small_matrix,
gfx::Point3F(),
@@ -4240,15 +4277,15 @@ TEST_F(LayerTreeHostCommonTest, SurfaceLayerTransformsInHighDPI) {
inputs.can_adjust_raster_scales = true;
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, parent);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
- perspective_surface);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
- scale_surface);
+ EXPECT_CONTENTS_SCALE_EQ(1, parent);
+ EXPECT_CONTENTS_SCALE_EQ(1, perspective_surface);
+ EXPECT_CONTENTS_SCALE_EQ(1, scale_surface);
EXPECT_EQ(3u, render_surface_layer_list.size());
gfx::Transform expected_parent_draw_transform;
+ expected_parent_draw_transform.Scale(device_scale_factor * page_scale_factor,
+ device_scale_factor * page_scale_factor);
EXPECT_TRANSFORMATION_MATRIX_EQ(expected_parent_draw_transform,
parent->draw_transform());
@@ -4263,6 +4300,9 @@ TEST_F(LayerTreeHostCommonTest, SurfaceLayerTransformsInHighDPI) {
scale_surface->render_surface()->draw_transform());
gfx::Transform expected_scale_surface_layer_draw_transform =
scale_small_matrix;
+ expected_scale_surface_layer_draw_transform.Scale(
+ device_scale_factor * page_scale_factor,
+ device_scale_factor * page_scale_factor);
EXPECT_TRANSFORMATION_MATRIX_EQ(expected_scale_surface_layer_draw_transform,
scale_surface->draw_transform());
@@ -4279,6 +4319,9 @@ TEST_F(LayerTreeHostCommonTest, SurfaceLayerTransformsInHighDPI) {
expected_perspective_surface_draw_transform.PreconcatTransform(
scale_small_matrix);
gfx::Transform expected_perspective_surface_layer_draw_transform;
+ expected_perspective_surface_layer_draw_transform.Scale(
+ device_scale_factor * page_scale_factor,
+ device_scale_factor * page_scale_factor);
EXPECT_TRANSFORMATION_MATRIX_EQ(
expected_perspective_surface_draw_transform,
perspective_surface->render_surface()->draw_transform());
@@ -4293,7 +4336,8 @@ TEST_F(LayerTreeHostCommonTest,
MockContentLayerClient delegate;
gfx::Transform identity_matrix;
- scoped_refptr<ContentLayer> parent = CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> parent =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(parent.get(),
identity_matrix,
gfx::Point3F(),
@@ -4302,7 +4346,7 @@ TEST_F(LayerTreeHostCommonTest,
false,
true);
- scoped_refptr<ContentLayer> child = CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> child = CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(child.get(),
identity_matrix,
gfx::Point3F(),
@@ -4311,8 +4355,8 @@ TEST_F(LayerTreeHostCommonTest,
false,
true);
- scoped_refptr<NoScaleContentLayer> child_no_scale =
- CreateNoScaleDrawableContentLayer(&delegate);
+ scoped_refptr<NoScalePictureLayer> child_no_scale =
+ CreateNoScaleDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(child_no_scale.get(),
identity_matrix,
gfx::Point3F(),
@@ -4339,14 +4383,16 @@ TEST_F(LayerTreeHostCommonTest,
inputs.can_adjust_raster_scales = true;
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, parent);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, child);
+ EXPECT_CONTENTS_SCALE_EQ(1, parent);
danakj 2014/09/17 14:55:58 we should check the layer's ideal_contents_scale i
+ EXPECT_CONTENTS_SCALE_EQ(1, child);
EXPECT_CONTENTS_SCALE_EQ(1, child_no_scale);
EXPECT_EQ(1u, render_surface_layer_list.size());
// Verify parent transforms
gfx::Transform expected_parent_transform;
+ expected_parent_transform.Scale(device_scale_factor * page_scale_factor,
+ device_scale_factor * page_scale_factor);
EXPECT_TRANSFORMATION_MATRIX_EQ(expected_parent_transform,
parent->screen_space_transform());
EXPECT_TRANSFORMATION_MATRIX_EQ(expected_parent_transform,
@@ -4362,14 +4408,15 @@ TEST_F(LayerTreeHostCommonTest,
gfx::RectF expected_parent_draw_rect(parent->bounds());
expected_parent_draw_rect.Scale(device_scale_factor);
- expected_parent_draw_rect.set_width(ceil(expected_parent_draw_rect.width()));
- expected_parent_draw_rect.set_height(
- ceil(expected_parent_draw_rect.height()));
+ expected_parent_draw_rect.set_width((expected_parent_draw_rect.width()));
+ expected_parent_draw_rect.set_height((expected_parent_draw_rect.height()));
EXPECT_FLOAT_RECT_EQ(expected_parent_draw_rect, parent_draw_rect);
EXPECT_FLOAT_RECT_EQ(expected_parent_draw_rect, parent_screen_space_rect);
// Verify child transforms
gfx::Transform expected_child_transform;
+ expected_child_transform.Scale(device_scale_factor * page_scale_factor,
+ device_scale_factor * page_scale_factor);
EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform,
child->draw_transform());
EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform,
@@ -4385,17 +4432,15 @@ TEST_F(LayerTreeHostCommonTest,
gfx::RectF expected_child_draw_rect(child->bounds());
expected_child_draw_rect.Scale(device_scale_factor);
- expected_child_draw_rect.set_width(ceil(expected_child_draw_rect.width()));
- expected_child_draw_rect.set_height(ceil(expected_child_draw_rect.height()));
+ expected_child_draw_rect.set_width((expected_child_draw_rect.width()));
+ expected_child_draw_rect.set_height((expected_child_draw_rect.height()));
EXPECT_FLOAT_RECT_EQ(expected_child_draw_rect, child_draw_rect);
EXPECT_FLOAT_RECT_EQ(expected_child_draw_rect, child_screen_space_rect);
// Verify child_no_scale transforms
gfx::Transform expected_child_no_scale_transform = child->draw_transform();
// All transforms operate on content rects. The child's content rect
- // incorporates device scale, but the child_no_scale does not; add it here.
- expected_child_no_scale_transform.Scale(device_scale_factor,
- device_scale_factor);
+ // incorporates device scale, the child_no_scale also does.
EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_no_scale_transform,
child_no_scale->draw_transform());
EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_no_scale_transform,
@@ -4417,7 +4462,8 @@ TEST_F(LayerTreeHostCommonTest, ContentsScale) {
scoped_refptr<Layer> root = Layer::Create();
root->SetBounds(gfx::Size(100, 100));
- scoped_refptr<ContentLayer> parent = CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> parent =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(parent.get(),
parent_scale_matrix,
gfx::Point3F(),
@@ -4426,8 +4472,8 @@ TEST_F(LayerTreeHostCommonTest, ContentsScale) {
false,
true);
- scoped_refptr<ContentLayer> child_scale =
- CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> child_scale =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(child_scale.get(),
child_scale_matrix,
gfx::Point3F(),
@@ -4436,8 +4482,8 @@ TEST_F(LayerTreeHostCommonTest, ContentsScale) {
false,
true);
- scoped_refptr<ContentLayer> child_empty =
- CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> child_empty =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(child_empty.get(),
child_scale_matrix,
gfx::Point3F(),
@@ -4446,8 +4492,8 @@ TEST_F(LayerTreeHostCommonTest, ContentsScale) {
false,
true);
- scoped_refptr<NoScaleContentLayer> child_no_scale =
- CreateNoScaleDrawableContentLayer(&delegate);
+ scoped_refptr<NoScalePictureLayer> child_no_scale =
+ CreateNoScaleDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(child_no_scale.get(),
child_scale_matrix,
gfx::Point3F(),
@@ -4478,26 +4524,34 @@ TEST_F(LayerTreeHostCommonTest, ContentsScale) {
inputs.can_adjust_raster_scales = true;
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
- initial_parent_scale, parent);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
- initial_parent_scale * initial_child_scale,
- child_scale);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
- initial_parent_scale * initial_child_scale,
- child_empty);
+ // Picturelayer's content scale is 1.f
+ EXPECT_CONTENTS_SCALE_EQ(1, parent);
+ EXPECT_CONTENTS_SCALE_EQ(1, child_scale);
+ EXPECT_CONTENTS_SCALE_EQ(1, child_empty);
EXPECT_CONTENTS_SCALE_EQ(1, child_no_scale);
- // The parent is scaled up and shouldn't need to scale during draw. The
- // child that can scale its contents should also not need to scale during
+ // The parent is not scaled up and we would need to scale during draw. The
+ // child that can scale its contents should also need to scale during
// draw. This shouldn't change if the child has empty bounds. The other
// children should.
- EXPECT_FLOAT_EQ(1.0, parent->draw_transform().matrix().get(0, 0));
- EXPECT_FLOAT_EQ(1.0, parent->draw_transform().matrix().get(1, 1));
- EXPECT_FLOAT_EQ(1.0, child_scale->draw_transform().matrix().get(0, 0));
- EXPECT_FLOAT_EQ(1.0, child_scale->draw_transform().matrix().get(1, 1));
- EXPECT_FLOAT_EQ(1.0, child_empty->draw_transform().matrix().get(0, 0));
- EXPECT_FLOAT_EQ(1.0, child_empty->draw_transform().matrix().get(1, 1));
+ EXPECT_FLOAT_EQ(
+ device_scale_factor * page_scale_factor * initial_parent_scale,
+ parent->draw_transform().matrix().get(0, 0));
+ EXPECT_FLOAT_EQ(
+ device_scale_factor * page_scale_factor * initial_parent_scale,
+ parent->draw_transform().matrix().get(1, 1));
+ EXPECT_FLOAT_EQ(device_scale_factor * page_scale_factor *
+ initial_parent_scale * initial_child_scale,
+ child_scale->draw_transform().matrix().get(0, 0));
+ EXPECT_FLOAT_EQ(device_scale_factor * page_scale_factor *
+ initial_parent_scale * initial_child_scale,
+ child_scale->draw_transform().matrix().get(1, 1));
+ EXPECT_FLOAT_EQ(device_scale_factor * page_scale_factor *
+ initial_parent_scale * initial_child_scale,
+ child_empty->draw_transform().matrix().get(0, 0));
+ EXPECT_FLOAT_EQ(device_scale_factor * page_scale_factor *
+ initial_parent_scale * initial_child_scale,
+ child_empty->draw_transform().matrix().get(1, 1));
EXPECT_FLOAT_EQ(device_scale_factor * page_scale_factor *
initial_parent_scale * initial_child_scale,
child_no_scale->draw_transform().matrix().get(0, 0));
@@ -4505,84 +4559,6 @@ TEST_F(LayerTreeHostCommonTest, ContentsScale) {
initial_parent_scale * initial_child_scale,
child_no_scale->draw_transform().matrix().get(1, 1));
}
-
- // If the device_scale_factor or page_scale_factor changes, then it should be
- // updated using the initial transform as the raster scale.
- device_scale_factor = 2.25f;
- page_scale_factor = 1.25f;
-
- {
- RenderSurfaceLayerList render_surface_layer_list;
- LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
- root.get(), root->bounds(), &render_surface_layer_list);
- inputs.device_scale_factor = device_scale_factor;
- inputs.page_scale_factor = page_scale_factor;
- inputs.page_scale_application_layer = root.get();
- inputs.can_adjust_raster_scales = true;
- LayerTreeHostCommon::CalculateDrawProperties(&inputs);
-
- EXPECT_CONTENTS_SCALE_EQ(
- device_scale_factor * page_scale_factor * initial_parent_scale, parent);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
- initial_parent_scale * initial_child_scale,
- child_scale);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
- initial_parent_scale * initial_child_scale,
- child_empty);
- EXPECT_CONTENTS_SCALE_EQ(1, child_no_scale);
- }
-
- // If the transform changes, we expect the raster scale to be reset to 1.0.
- SkMScalar second_child_scale = 1.75;
- child_scale_matrix.Scale(second_child_scale / initial_child_scale,
- second_child_scale / initial_child_scale);
- child_scale->SetTransform(child_scale_matrix);
- child_empty->SetTransform(child_scale_matrix);
-
- {
- RenderSurfaceLayerList render_surface_layer_list;
- LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
- root.get(), root->bounds(), &render_surface_layer_list);
- inputs.device_scale_factor = device_scale_factor;
- inputs.page_scale_factor = page_scale_factor;
- inputs.page_scale_application_layer = root.get();
- inputs.can_adjust_raster_scales = true;
- LayerTreeHostCommon::CalculateDrawProperties(&inputs);
-
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
- initial_parent_scale,
- parent);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
- child_scale);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
- child_empty);
- EXPECT_CONTENTS_SCALE_EQ(1, child_no_scale);
- }
-
- // If the device_scale_factor or page_scale_factor changes, then it should be
- // updated, but still using 1.0 as the raster scale.
- device_scale_factor = 2.75f;
- page_scale_factor = 1.75f;
-
- {
- RenderSurfaceLayerList render_surface_layer_list;
- LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
- root.get(), root->bounds(), &render_surface_layer_list);
- inputs.device_scale_factor = device_scale_factor;
- inputs.page_scale_factor = page_scale_factor;
- inputs.page_scale_application_layer = root.get();
- inputs.can_adjust_raster_scales = true;
- LayerTreeHostCommon::CalculateDrawProperties(&inputs);
-
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
- initial_parent_scale,
- parent);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
- child_scale);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
- child_empty);
- EXPECT_CONTENTS_SCALE_EQ(1, child_no_scale);
- }
}
TEST_F(LayerTreeHostCommonTest,
@@ -4601,7 +4577,8 @@ TEST_F(LayerTreeHostCommonTest,
scoped_refptr<Layer> root = Layer::Create();
root->SetBounds(gfx::Size(100, 100));
- scoped_refptr<ContentLayer> parent = CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> parent =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(parent.get(),
parent_scale_matrix,
gfx::Point3F(),
@@ -4610,8 +4587,8 @@ TEST_F(LayerTreeHostCommonTest,
false,
true);
- scoped_refptr<ContentLayer> child_scale =
- CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> child_scale =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(child_scale.get(),
child_scale_matrix,
gfx::Point3F(),
@@ -4620,8 +4597,8 @@ TEST_F(LayerTreeHostCommonTest,
false,
true);
- scoped_refptr<ContentLayer> child_empty =
- CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> child_empty =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(child_empty.get(),
child_scale_matrix,
gfx::Point3F(),
@@ -4630,8 +4607,8 @@ TEST_F(LayerTreeHostCommonTest,
false,
true);
- scoped_refptr<NoScaleContentLayer> child_no_scale =
- CreateNoScaleDrawableContentLayer(&delegate);
+ scoped_refptr<NoScalePictureLayer> child_no_scale =
+ CreateNoScaleDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(child_no_scale.get(),
child_scale_matrix,
gfx::Point3F(),
@@ -4661,26 +4638,30 @@ TEST_F(LayerTreeHostCommonTest,
inputs.page_scale_application_layer = root.get(),
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, parent);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
- child_scale);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
- child_empty);
+ EXPECT_CONTENTS_SCALE_EQ(1, parent);
+ EXPECT_CONTENTS_SCALE_EQ(1, child_scale);
+ EXPECT_CONTENTS_SCALE_EQ(1, child_empty);
EXPECT_CONTENTS_SCALE_EQ(1, child_no_scale);
- // Since the transform scale does not affect contents scale, it should affect
- // the draw transform instead.
- EXPECT_FLOAT_EQ(initial_parent_scale,
- parent->draw_transform().matrix().get(0, 0));
- EXPECT_FLOAT_EQ(initial_parent_scale,
- parent->draw_transform().matrix().get(1, 1));
- EXPECT_FLOAT_EQ(initial_parent_scale * initial_child_scale,
+ // Since the transform scale affects contents scale, it should not affect
+ // the draw transform.
+ EXPECT_FLOAT_EQ(
+ initial_parent_scale * device_scale_factor * page_scale_factor,
+ parent->draw_transform().matrix().get(0, 0));
+ EXPECT_FLOAT_EQ(
+ initial_parent_scale * device_scale_factor * page_scale_factor,
+ parent->draw_transform().matrix().get(1, 1));
+ EXPECT_FLOAT_EQ(initial_parent_scale * initial_child_scale *
+ device_scale_factor * page_scale_factor,
child_scale->draw_transform().matrix().get(0, 0));
- EXPECT_FLOAT_EQ(initial_parent_scale * initial_child_scale,
+ EXPECT_FLOAT_EQ(initial_parent_scale * initial_child_scale *
+ device_scale_factor * page_scale_factor,
child_scale->draw_transform().matrix().get(1, 1));
- EXPECT_FLOAT_EQ(initial_parent_scale * initial_child_scale,
+ EXPECT_FLOAT_EQ(initial_parent_scale * initial_child_scale *
+ device_scale_factor * page_scale_factor,
child_empty->draw_transform().matrix().get(0, 0));
- EXPECT_FLOAT_EQ(initial_parent_scale * initial_child_scale,
+ EXPECT_FLOAT_EQ(initial_parent_scale * initial_child_scale *
+ device_scale_factor * page_scale_factor,
child_empty->draw_transform().matrix().get(1, 1));
EXPECT_FLOAT_EQ(device_scale_factor * page_scale_factor *
initial_parent_scale * initial_child_scale,
@@ -4705,7 +4686,8 @@ TEST_F(LayerTreeHostCommonTest, SmallContentsScale) {
scoped_refptr<Layer> root = Layer::Create();
root->SetBounds(gfx::Size(100, 100));
- scoped_refptr<ContentLayer> parent = CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> parent =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(parent.get(),
parent_scale_matrix,
gfx::Point3F(),
@@ -4714,8 +4696,8 @@ TEST_F(LayerTreeHostCommonTest, SmallContentsScale) {
false,
true);
- scoped_refptr<ContentLayer> child_scale =
- CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> child_scale =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(child_scale.get(),
child_scale_matrix,
gfx::Point3F(),
@@ -4744,13 +4726,8 @@ TEST_F(LayerTreeHostCommonTest, SmallContentsScale) {
inputs.can_adjust_raster_scales = true;
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
- initial_parent_scale,
- parent);
- // The child's scale is < 1, so we should not save and use that scale
- // factor.
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 1,
- child_scale);
+ EXPECT_CONTENTS_SCALE_EQ(1, parent);
+ EXPECT_CONTENTS_SCALE_EQ(1, child_scale);
}
// When chilld's total scale becomes >= 1, we should save and use that scale
@@ -4770,12 +4747,8 @@ TEST_F(LayerTreeHostCommonTest, SmallContentsScale) {
inputs.can_adjust_raster_scales = true;
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
- initial_parent_scale,
- parent);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
- initial_parent_scale * final_child_scale,
- child_scale);
+ EXPECT_CONTENTS_SCALE_EQ(1, parent);
+ EXPECT_CONTENTS_SCALE_EQ(1, child_scale);
}
}
@@ -4794,7 +4767,8 @@ TEST_F(LayerTreeHostCommonTest, ContentsScaleForSurfaces) {
scoped_refptr<Layer> root = Layer::Create();
root->SetBounds(gfx::Size(100, 100));
- scoped_refptr<ContentLayer> parent = CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> parent =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(parent.get(),
parent_scale_matrix,
gfx::Point3F(),
@@ -4803,8 +4777,8 @@ TEST_F(LayerTreeHostCommonTest, ContentsScaleForSurfaces) {
false,
true);
- scoped_refptr<ContentLayer> surface_scale =
- CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> surface_scale =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(surface_scale.get(),
child_scale_matrix,
gfx::Point3F(),
@@ -4813,8 +4787,8 @@ TEST_F(LayerTreeHostCommonTest, ContentsScaleForSurfaces) {
false,
true);
- scoped_refptr<ContentLayer> surface_scale_child_scale =
- CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> surface_scale_child_scale =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(surface_scale_child_scale.get(),
child_scale_matrix,
gfx::Point3F(),
@@ -4823,8 +4797,8 @@ TEST_F(LayerTreeHostCommonTest, ContentsScaleForSurfaces) {
false,
true);
- scoped_refptr<NoScaleContentLayer> surface_scale_child_no_scale =
- CreateNoScaleDrawableContentLayer(&delegate);
+ scoped_refptr<NoScalePictureLayer> surface_scale_child_no_scale =
+ CreateNoScaleDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(surface_scale_child_no_scale.get(),
child_scale_matrix,
gfx::Point3F(),
@@ -4843,8 +4817,8 @@ TEST_F(LayerTreeHostCommonTest, ContentsScaleForSurfaces) {
false,
true);
- scoped_refptr<ContentLayer> surface_no_scale_child_scale =
- CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> surface_no_scale_child_scale =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(surface_no_scale_child_scale.get(),
child_scale_matrix,
gfx::Point3F(),
@@ -4891,46 +4865,47 @@ TEST_F(LayerTreeHostCommonTest, ContentsScaleForSurfaces) {
inputs.can_adjust_raster_scales = true;
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
- EXPECT_CONTENTS_SCALE_EQ(
- device_scale_factor * page_scale_factor * initial_parent_scale, parent);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
- initial_parent_scale * initial_child_scale,
- surface_scale);
+ EXPECT_CONTENTS_SCALE_EQ(1, parent);
+ EXPECT_CONTENTS_SCALE_EQ(1, surface_scale);
EXPECT_CONTENTS_SCALE_EQ(1, surface_no_scale);
- EXPECT_CONTENTS_SCALE_EQ(
- device_scale_factor * page_scale_factor * initial_parent_scale *
- initial_child_scale * initial_child_scale,
- surface_scale_child_scale);
+ EXPECT_CONTENTS_SCALE_EQ(1, surface_scale_child_scale);
EXPECT_CONTENTS_SCALE_EQ(1, surface_scale_child_no_scale);
- EXPECT_CONTENTS_SCALE_EQ(
- device_scale_factor * page_scale_factor * initial_parent_scale *
- initial_child_scale * initial_child_scale,
- surface_no_scale_child_scale);
+ EXPECT_CONTENTS_SCALE_EQ(1, surface_no_scale_child_scale);
EXPECT_CONTENTS_SCALE_EQ(1, surface_no_scale_child_no_scale);
- // The parent is scaled up and shouldn't need to scale during draw.
- EXPECT_FLOAT_EQ(1.0, parent->draw_transform().matrix().get(0, 0));
- EXPECT_FLOAT_EQ(1.0, parent->draw_transform().matrix().get(1, 1));
+ // The parent is not scaled up and should need to scale during draw.
+ EXPECT_FLOAT_EQ(
+ device_scale_factor * page_scale_factor * initial_parent_scale,
+ parent->draw_transform().matrix().get(0, 0));
+ EXPECT_FLOAT_EQ(
+ device_scale_factor * page_scale_factor * initial_parent_scale,
+ parent->draw_transform().matrix().get(1, 1));
// RenderSurfaces should always be 1:1 with their target.
EXPECT_FLOAT_EQ(
- 1.0,
- surface_scale->render_surface()->draw_transform().matrix().get(0, 0));
+ 1, surface_scale->render_surface()->draw_transform().matrix().get(0, 0));
EXPECT_FLOAT_EQ(
- 1.0,
- surface_scale->render_surface()->draw_transform().matrix().get(1, 1));
+ 1, surface_scale->render_surface()->draw_transform().matrix().get(1, 1));
- // The surface_scale can apply contents scale so the layer shouldn't need to
+ // The surface_scale cannot apply contents scale so the layer would need to
// scale during draw.
- EXPECT_FLOAT_EQ(1.0, surface_scale->draw_transform().matrix().get(0, 0));
- EXPECT_FLOAT_EQ(1.0, surface_scale->draw_transform().matrix().get(1, 1));
+ EXPECT_FLOAT_EQ(device_scale_factor * page_scale_factor *
+ initial_parent_scale * initial_child_scale,
+ surface_scale->draw_transform().matrix().get(0, 0));
+ EXPECT_FLOAT_EQ(device_scale_factor * page_scale_factor *
+ initial_parent_scale * initial_child_scale,
+ surface_scale->draw_transform().matrix().get(1, 1));
- // The surface_scale_child_scale can apply contents scale so it shouldn't need
+ // The surface_scale_child_scale cannot apply contents scale so it would need
// to scale during draw.
EXPECT_FLOAT_EQ(
- 1.0, surface_scale_child_scale->draw_transform().matrix().get(0, 0));
+ device_scale_factor * page_scale_factor * initial_parent_scale *
+ initial_child_scale * initial_child_scale,
+ surface_scale_child_scale->draw_transform().matrix().get(0, 0));
EXPECT_FLOAT_EQ(
- 1.0, surface_scale_child_scale->draw_transform().matrix().get(1, 1));
+ device_scale_factor * page_scale_factor * initial_parent_scale *
+ initial_child_scale * initial_child_scale,
+ surface_scale_child_scale->draw_transform().matrix().get(1, 1));
// The surface_scale_child_no_scale can not apply contents scale, so it needs
// to be scaled during draw.
@@ -4945,10 +4920,10 @@ TEST_F(LayerTreeHostCommonTest, ContentsScaleForSurfaces) {
// RenderSurfaces should always be 1:1 with their target.
EXPECT_FLOAT_EQ(
- 1.0,
+ 1,
surface_no_scale->render_surface()->draw_transform().matrix().get(0, 0));
EXPECT_FLOAT_EQ(
- 1.0,
+ 1,
surface_no_scale->render_surface()->draw_transform().matrix().get(1, 1));
// The surface_no_scale layer can not apply contents scale, so it needs to be
@@ -4960,12 +4935,17 @@ TEST_F(LayerTreeHostCommonTest, ContentsScaleForSurfaces) {
initial_parent_scale * initial_child_scale,
surface_no_scale->draw_transform().matrix().get(1, 1));
- // The surface_scale_child_scale can apply contents scale so it shouldn't need
+ // The surface_scale_child_scale can not apply contents scale so it should
+ // need
// to scale during draw.
EXPECT_FLOAT_EQ(
- 1.0, surface_no_scale_child_scale->draw_transform().matrix().get(0, 0));
+ device_scale_factor * page_scale_factor * initial_parent_scale *
+ initial_child_scale * initial_child_scale,
+ surface_no_scale_child_scale->draw_transform().matrix().get(0, 0));
EXPECT_FLOAT_EQ(
- 1.0, surface_no_scale_child_scale->draw_transform().matrix().get(1, 1));
+ device_scale_factor * page_scale_factor * initial_parent_scale *
+ initial_child_scale * initial_child_scale,
+ surface_no_scale_child_scale->draw_transform().matrix().get(1, 1));
// The surface_scale_child_no_scale can not apply contents scale, so it needs
// to be scaled during draw.
@@ -4995,7 +4975,8 @@ TEST_F(LayerTreeHostCommonTest,
scoped_refptr<Layer> root = Layer::Create();
root->SetBounds(gfx::Size(100, 100));
- scoped_refptr<ContentLayer> parent = CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> parent =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(parent.get(),
parent_scale_matrix,
gfx::Point3F(),
@@ -5004,8 +4985,8 @@ TEST_F(LayerTreeHostCommonTest,
false,
true);
- scoped_refptr<ContentLayer> surface_scale =
- CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> surface_scale =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(surface_scale.get(),
child_scale_matrix,
gfx::Point3F(),
@@ -5014,8 +4995,8 @@ TEST_F(LayerTreeHostCommonTest,
false,
true);
- scoped_refptr<ContentLayer> surface_scale_child_scale =
- CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> surface_scale_child_scale =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(surface_scale_child_scale.get(),
child_scale_matrix,
gfx::Point3F(),
@@ -5024,8 +5005,8 @@ TEST_F(LayerTreeHostCommonTest,
false,
true);
- scoped_refptr<NoScaleContentLayer> surface_scale_child_no_scale =
- CreateNoScaleDrawableContentLayer(&delegate);
+ scoped_refptr<NoScalePictureLayer> surface_scale_child_no_scale =
+ CreateNoScaleDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(surface_scale_child_no_scale.get(),
child_scale_matrix,
gfx::Point3F(),
@@ -5034,8 +5015,8 @@ TEST_F(LayerTreeHostCommonTest,
false,
true);
- scoped_refptr<NoScaleContentLayer> surface_no_scale =
- CreateNoScaleDrawableContentLayer(&delegate);
+ scoped_refptr<NoScalePictureLayer> surface_no_scale =
+ CreateNoScaleDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(surface_no_scale.get(),
child_scale_matrix,
gfx::Point3F(),
@@ -5044,8 +5025,8 @@ TEST_F(LayerTreeHostCommonTest,
false,
true);
- scoped_refptr<ContentLayer> surface_no_scale_child_scale =
- CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> surface_no_scale_child_scale =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(surface_no_scale_child_scale.get(),
child_scale_matrix,
gfx::Point3F(),
@@ -5091,24 +5072,22 @@ TEST_F(LayerTreeHostCommonTest,
inputs.page_scale_application_layer = root.get();
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
- parent);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
- surface_scale);
+ EXPECT_CONTENTS_SCALE_EQ(1, parent);
+ EXPECT_CONTENTS_SCALE_EQ(1, surface_scale);
EXPECT_CONTENTS_SCALE_EQ(1.f, surface_no_scale);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
- surface_scale_child_scale);
+ EXPECT_CONTENTS_SCALE_EQ(1, surface_scale_child_scale);
EXPECT_CONTENTS_SCALE_EQ(1.f, surface_scale_child_no_scale);
- EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
- surface_no_scale_child_scale);
+ EXPECT_CONTENTS_SCALE_EQ(1, surface_no_scale_child_scale);
EXPECT_CONTENTS_SCALE_EQ(1.f, surface_no_scale_child_no_scale);
- // The parent is scaled up during draw, since its contents are not scaled by
+ // The parent is not scaled up during draw, since its contents are scaled by
// the transform hierarchy.
- EXPECT_FLOAT_EQ(initial_parent_scale,
- parent->draw_transform().matrix().get(0, 0));
- EXPECT_FLOAT_EQ(initial_parent_scale,
- parent->draw_transform().matrix().get(1, 1));
+ EXPECT_FLOAT_EQ(
+ device_scale_factor * page_scale_factor * initial_parent_scale,
+ parent->draw_transform().matrix().get(0, 0));
+ EXPECT_FLOAT_EQ(
+ device_scale_factor * page_scale_factor * initial_parent_scale,
+ parent->draw_transform().matrix().get(1, 1));
// The child surface is scaled up during draw since its subtree is not scaled
// by the transform hierarchy.
@@ -5119,18 +5098,20 @@ TEST_F(LayerTreeHostCommonTest,
initial_parent_scale * initial_child_scale,
surface_scale->render_surface()->draw_transform().matrix().get(1, 1));
- // The surface_scale's RenderSurface is scaled during draw, so the layer does
- // not need to be scaled when drawing into its surface.
- EXPECT_FLOAT_EQ(1.0, surface_scale->draw_transform().matrix().get(0, 0));
- EXPECT_FLOAT_EQ(1.0, surface_scale->draw_transform().matrix().get(1, 1));
+ // The surface_scale's RenderSurface is not scaled during draw, so the layer
+ // need to be scaled when drawing into its surface.
+ EXPECT_FLOAT_EQ(device_scale_factor * page_scale_factor,
+ surface_scale->draw_transform().matrix().get(0, 0));
+ EXPECT_FLOAT_EQ(device_scale_factor * page_scale_factor,
+ surface_scale->draw_transform().matrix().get(1, 1));
- // The surface_scale_child_scale is scaled when drawing into its surface,
- // since its content bounds are not scaled by the transform hierarchy.
+ // The surface_scale_child_scale is not scaled when drawing into its surface,
+ // since its content bounds are scaled by the transform hierarchy.
EXPECT_FLOAT_EQ(
- initial_child_scale,
+ initial_child_scale * device_scale_factor * page_scale_factor,
surface_scale_child_scale->draw_transform().matrix().get(0, 0));
EXPECT_FLOAT_EQ(
- initial_child_scale,
+ initial_child_scale * device_scale_factor * page_scale_factor,
surface_scale_child_scale->draw_transform().matrix().get(1, 1));
// The surface_scale_child_no_scale has a fixed contents scale of 1, so it
@@ -5161,14 +5142,13 @@ TEST_F(LayerTreeHostCommonTest,
EXPECT_FLOAT_EQ(device_scale_factor * page_scale_factor,
surface_no_scale->draw_transform().matrix().get(1, 1));
- // The surface_no_scale_child_scale has its contents scaled by the page and
- // device scale factors, but needs to be scaled by the transform hierarchy
- // when drawing.
+ // The surface_no_scale_child_scale doesnt have its contents scaled
+ // by the page and device scale factors.
EXPECT_FLOAT_EQ(
- initial_child_scale,
+ initial_child_scale * device_scale_factor * page_scale_factor,
surface_no_scale_child_scale->draw_transform().matrix().get(0, 0));
EXPECT_FLOAT_EQ(
- initial_child_scale,
+ initial_child_scale * device_scale_factor * page_scale_factor,
surface_no_scale_child_scale->draw_transform().matrix().get(1, 1));
// The surface_no_scale_child_no_scale has a fixed contents scale of 1, so it
@@ -5197,7 +5177,8 @@ TEST_F(LayerTreeHostCommonTest, ContentsScaleForAnimatingLayer) {
scoped_refptr<Layer> root = Layer::Create();
root->SetBounds(gfx::Size(100, 100));
- scoped_refptr<ContentLayer> parent = CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> parent =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(parent.get(),
parent_scale_matrix,
gfx::Point3F(),
@@ -5206,8 +5187,8 @@ TEST_F(LayerTreeHostCommonTest, ContentsScaleForAnimatingLayer) {
false,
true);
- scoped_refptr<ContentLayer> child_scale =
- CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> child_scale =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(child_scale.get(),
child_scale_matrix,
gfx::Point3F(),
@@ -5234,7 +5215,8 @@ TEST_F(LayerTreeHostCommonTest, ContentsScaleForAnimatingLayer) {
inputs.can_adjust_raster_scales = true;
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
- EXPECT_CONTENTS_SCALE_EQ(initial_parent_scale, parent);
+ // Picturelayer's content scale is 1.f
+ EXPECT_CONTENTS_SCALE_EQ(1, parent);
// The layers with animating transforms should not compute a contents scale
// other than 1 until they finish animating.
EXPECT_CONTENTS_SCALE_EQ(1, child_scale);
@@ -5250,11 +5232,10 @@ TEST_F(LayerTreeHostCommonTest, ContentsScaleForAnimatingLayer) {
inputs.can_adjust_raster_scales = true;
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
- EXPECT_CONTENTS_SCALE_EQ(initial_parent_scale, parent);
+ EXPECT_CONTENTS_SCALE_EQ(1, parent);
// The layers with animating transforms should not compute a contents scale
// other than 1 until they finish animating.
- EXPECT_CONTENTS_SCALE_EQ(initial_parent_scale * initial_child_scale,
- child_scale);
+ EXPECT_CONTENTS_SCALE_EQ(1, child_scale);
}
}
@@ -5262,7 +5243,7 @@ TEST_F(LayerTreeHostCommonTest,
ChangeInContentBoundsOrScaleTriggersPushProperties) {
MockContentLayerClient delegate;
scoped_refptr<Layer> root = Layer::Create();
- scoped_refptr<Layer> child = CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> child = CreateDrawablePictureLayer(&delegate);
root->AddChild(child);
scoped_ptr<FakeLayerTreeHost> host = FakeLayerTreeHost::Create();
@@ -5295,15 +5276,6 @@ TEST_F(LayerTreeHostCommonTest,
root->reset_needs_push_properties_for_testing();
child->reset_needs_push_properties_for_testing();
- // This will change only the child layer's contents scale and content bounds,
- // since the root layer is not a ContentsScalingLayer.
- ExecuteCalculateDrawProperties(root.get(), 2.f);
- EXPECT_FALSE(root->needs_push_properties());
- EXPECT_TRUE(child->needs_push_properties());
-
- root->reset_needs_push_properties_for_testing();
- child->reset_needs_push_properties_for_testing();
-
// This will not change either layer's contents scale or content bounds.
ExecuteCalculateDrawProperties(root.get(), 2.f);
EXPECT_FALSE(root->needs_push_properties());
@@ -5314,7 +5286,8 @@ TEST_F(LayerTreeHostCommonTest, RenderSurfaceTransformsInHighDPI) {
MockContentLayerClient delegate;
gfx::Transform identity_matrix;
- scoped_refptr<ContentLayer> parent = CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> parent =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(parent.get(),
identity_matrix,
gfx::Point3F(),
@@ -5323,7 +5296,7 @@ TEST_F(LayerTreeHostCommonTest, RenderSurfaceTransformsInHighDPI) {
false,
true);
- scoped_refptr<ContentLayer> child = CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> child = CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(child.get(),
identity_matrix,
gfx::Point3F(),
@@ -5334,7 +5307,8 @@ TEST_F(LayerTreeHostCommonTest, RenderSurfaceTransformsInHighDPI) {
gfx::Transform replica_transform;
replica_transform.Scale(1.0, -1.0);
- scoped_refptr<ContentLayer> replica = CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> replica =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(replica.get(),
replica_transform,
gfx::Point3F(),
@@ -5345,8 +5319,8 @@ TEST_F(LayerTreeHostCommonTest, RenderSurfaceTransformsInHighDPI) {
// This layer should end up in the same surface as child, with the same draw
// and screen space transforms.
- scoped_refptr<ContentLayer> duplicate_child_non_owner =
- CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> duplicate_child_non_owner =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(duplicate_child_non_owner.get(),
identity_matrix,
gfx::Point3F(),
@@ -5376,12 +5350,14 @@ TEST_F(LayerTreeHostCommonTest, RenderSurfaceTransformsInHighDPI) {
EXPECT_EQ(2u, render_surface_layer_list.size());
gfx::Transform expected_parent_transform;
+ expected_parent_transform.Scale(device_scale_factor, device_scale_factor);
EXPECT_TRANSFORMATION_MATRIX_EQ(expected_parent_transform,
parent->screen_space_transform());
EXPECT_TRANSFORMATION_MATRIX_EQ(expected_parent_transform,
parent->draw_transform());
gfx::Transform expected_draw_transform;
+ expected_draw_transform.Scale(device_scale_factor, device_scale_factor);
EXPECT_TRANSFORMATION_MATRIX_EQ(expected_draw_transform,
child->draw_transform());
@@ -5389,6 +5365,8 @@ TEST_F(LayerTreeHostCommonTest, RenderSurfaceTransformsInHighDPI) {
expected_screen_space_transform.Translate(
device_scale_factor * child->position().x(),
device_scale_factor * child->position().y());
+ expected_screen_space_transform.Scale(device_scale_factor,
+ device_scale_factor);
EXPECT_TRANSFORMATION_MATRIX_EQ(expected_screen_space_transform,
child->screen_space_transform());
@@ -5449,7 +5427,8 @@ TEST_F(LayerTreeHostCommonTest,
MockContentLayerClient delegate;
gfx::Transform identity_matrix;
- scoped_refptr<ContentLayer> parent = CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> parent =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(parent.get(),
identity_matrix,
gfx::Point3F(),
@@ -5458,7 +5437,7 @@ TEST_F(LayerTreeHostCommonTest,
false,
true);
- scoped_refptr<ContentLayer> child = CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> child = CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(child.get(),
identity_matrix,
gfx::Point3F(),
@@ -5469,7 +5448,8 @@ TEST_F(LayerTreeHostCommonTest,
gfx::Transform replica_transform;
replica_transform.Scale(1.0, -1.0);
- scoped_refptr<ContentLayer> replica = CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> replica =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(replica.get(),
replica_transform,
gfx::Point3F(),
@@ -5480,8 +5460,8 @@ TEST_F(LayerTreeHostCommonTest,
// This layer should end up in the same surface as child, with the same draw
// and screen space transforms.
- scoped_refptr<ContentLayer> duplicate_child_non_owner =
- CreateDrawableContentLayer(&delegate);
+ scoped_refptr<FakePictureLayer> duplicate_child_non_owner =
+ CreateDrawablePictureLayer(&delegate);
SetLayerPropertiesForTesting(duplicate_child_non_owner.get(),
identity_matrix,
gfx::Point3F(),
@@ -5510,23 +5490,22 @@ TEST_F(LayerTreeHostCommonTest,
// render surface (it needs one because it has a replica layer).
EXPECT_EQ(2u, render_surface_layer_list.size());
- gfx::Transform identity_transform;
-
- EXPECT_TRANSFORMATION_MATRIX_EQ(identity_transform,
- parent->screen_space_transform());
- EXPECT_TRANSFORMATION_MATRIX_EQ(identity_transform, parent->draw_transform());
- EXPECT_TRANSFORMATION_MATRIX_EQ(identity_transform, child->draw_transform());
- EXPECT_TRANSFORMATION_MATRIX_EQ(identity_transform,
- child->screen_space_transform());
- EXPECT_TRANSFORMATION_MATRIX_EQ(identity_transform,
+ gfx::Transform transform;
+ transform.Scale(device_scale_factor, device_scale_factor);
+ EXPECT_TRANSFORMATION_MATRIX_EQ(transform, parent->screen_space_transform());
+ EXPECT_TRANSFORMATION_MATRIX_EQ(transform, parent->draw_transform());
+ EXPECT_TRANSFORMATION_MATRIX_EQ(transform, child->draw_transform());
+ EXPECT_TRANSFORMATION_MATRIX_EQ(transform, child->screen_space_transform());
+ EXPECT_TRANSFORMATION_MATRIX_EQ(transform,
duplicate_child_non_owner->draw_transform());
EXPECT_TRANSFORMATION_MATRIX_EQ(
- identity_transform, duplicate_child_non_owner->screen_space_transform());
+ transform, duplicate_child_non_owner->screen_space_transform());
EXPECT_RECT_EQ(child->drawable_content_rect(),
duplicate_child_non_owner->drawable_content_rect());
EXPECT_EQ(child->content_bounds(),
duplicate_child_non_owner->content_bounds());
+ gfx::Transform identity_transform;
EXPECT_TRANSFORMATION_MATRIX_EQ(identity_transform,
child->render_surface()->draw_transform());
EXPECT_TRANSFORMATION_MATRIX_EQ(identity_transform,
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698