summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorenne <enne@chromium.org>2015-05-26 15:23:11 -0700
committerCommit bot <commit-bot@chromium.org>2015-05-26 22:23:46 +0000
commit6394d5b43b6327ff5ebcd17a41ad0919a390a406 (patch)
tree54fcac323b3aff34fd5ba7089673d69e1efd05cb
parent61d79b987a2337851520e25a8cd80f2f8859aece (diff)
downloadchromium_src-6394d5b43b6327ff5ebcd17a41ad0919a390a406.zip
chromium_src-6394d5b43b6327ff5ebcd17a41ad0919a390a406.tar.gz
chromium_src-6394d5b43b6327ff5ebcd17a41ad0919a390a406.tar.bz2
cc: Apply page scale to page scale layer
Currently, page scale is applied to children of the page scale layer but not to the page scale layer itself. This makes it cumbersome to update property trees during pinch zoom on the compositor thread, because the property tree needs to be searched for any nodes that use the page scale layer's node as a source node. In practice, from Blink, the page scale layer only has one child, but it's a layering violation to assume this. So, apply page scale to the target transform for the page scale layer itself. This shouldn't have any effect in practice, as the page scale layer doesn't usually have content. Also, clean up language that refers to both "page scale layer" and "page scale application layer". In CDP, these are the same thing, but in property tree land one is the parent and one is the child. Now there is only "page scale layer", which gets the page scale applied on it and to its children. This passes cc unit tests with main thread property tree verification manually hacked back on. R=ajuma@chromium.org, vollick@chromium.org, jdduke@chromium.org BUG=481585 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1144103003 Cr-Commit-Position: refs/heads/master@{#331451}
-rw-r--r--cc/blink/web_layer_impl_fixed_bounds_unittest.cc4
-rw-r--r--cc/layers/layer_position_constraint_unittest.cc9
-rw-r--r--cc/test/layer_tree_host_common_test.cc10
-rw-r--r--cc/trees/layer_tree_host_common.cc52
-rw-r--r--cc/trees/layer_tree_host_common.h6
-rw-r--r--cc/trees/layer_tree_host_common_unittest.cc29
-rw-r--r--cc/trees/layer_tree_impl_unittest.cc8
-rw-r--r--cc/trees/property_tree_builder.cc15
8 files changed, 64 insertions, 69 deletions
diff --git a/cc/blink/web_layer_impl_fixed_bounds_unittest.cc b/cc/blink/web_layer_impl_fixed_bounds_unittest.cc
index 6bdc2db..239e5ee 100644
--- a/cc/blink/web_layer_impl_fixed_bounds_unittest.cc
+++ b/cc/blink/web_layer_impl_fixed_bounds_unittest.cc
@@ -115,7 +115,7 @@ void CompareFixedBoundsLayerAndNormalLayer(const WebFloatPoint& anchor_point,
root_layer->layer(), kDeviceViewportSize, &render_surface_layer_list);
inputs.device_scale_factor = kDeviceScaleFactor;
inputs.page_scale_factor = kPageScaleFactor;
- inputs.page_scale_application_layer = root_layer->layer(),
+ inputs.page_scale_layer = root_layer->layer(),
cc::LayerTreeHostCommon::CalculateDrawProperties(&inputs);
ExpectEqualLayerRectsInTarget(normal_layer->layer(),
@@ -132,7 +132,7 @@ void CompareFixedBoundsLayerAndNormalLayer(const WebFloatPoint& anchor_point,
root_layer->layer(), kDeviceViewportSize, &render_surface_layer_list);
inputs.device_scale_factor = kDeviceScaleFactor;
inputs.page_scale_factor = kPageScaleFactor;
- inputs.page_scale_application_layer = root_layer->layer(),
+ inputs.page_scale_layer = root_layer->layer(),
cc::LayerTreeHostCommon::CalculateDrawProperties(&inputs);
ExpectEqualLayerRectsInTarget(normal_layer->layer(),
diff --git a/cc/layers/layer_position_constraint_unittest.cc b/cc/layers/layer_position_constraint_unittest.cc
index 1eea9c9..4a81a3c 100644
--- a/cc/layers/layer_position_constraint_unittest.cc
+++ b/cc/layers/layer_position_constraint_unittest.cc
@@ -35,7 +35,7 @@ void SetLayerPropertiesForTesting(LayerImpl* layer,
void ExecuteCalculateDrawProperties(LayerImpl* root_layer,
float device_scale_factor,
float page_scale_factor,
- LayerImpl* page_scale_application_layer,
+ LayerImpl* page_scale_layer,
bool can_use_lcd_text) {
gfx::Transform identity_matrix;
std::vector<LayerImpl*> dummy_render_surface_layer_list;
@@ -51,15 +51,14 @@ void ExecuteCalculateDrawProperties(LayerImpl* root_layer,
root_layer, device_viewport_size, &dummy_render_surface_layer_list);
inputs.device_scale_factor = device_scale_factor;
inputs.page_scale_factor = page_scale_factor;
- inputs.page_scale_application_layer = page_scale_application_layer;
+ inputs.page_scale_layer = page_scale_layer;
inputs.can_use_lcd_text = can_use_lcd_text;
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
}
void ExecuteCalculateDrawProperties(LayerImpl* root_layer) {
- LayerImpl* page_scale_application_layer = nullptr;
- ExecuteCalculateDrawProperties(
- root_layer, 1.f, 1.f, page_scale_application_layer, false);
+ LayerImpl* page_scale_layer = nullptr;
+ ExecuteCalculateDrawProperties(root_layer, 1.f, 1.f, page_scale_layer, false);
}
class LayerPositionConstraintTest : public testing::Test {
diff --git a/cc/test/layer_tree_host_common_test.cc b/cc/test/layer_tree_host_common_test.cc
index 7019e8b..e91f169 100644
--- a/cc/test/layer_tree_host_common_test.cc
+++ b/cc/test/layer_tree_host_common_test.cc
@@ -56,10 +56,10 @@ void LayerTreeHostCommonTestBase::ExecuteCalculateDrawProperties(
Layer* root_layer,
float device_scale_factor,
float page_scale_factor,
- Layer* page_scale_application_layer,
+ Layer* page_scale_layer,
bool can_use_lcd_text,
bool layers_always_allowed_lcd_text) {
- EXPECT_TRUE(page_scale_application_layer || (page_scale_factor == 1.f));
+ EXPECT_TRUE(page_scale_layer || (page_scale_factor == 1.f));
gfx::Transform identity_matrix;
gfx::Size device_viewport_size =
gfx::Size(root_layer->bounds().width() * device_scale_factor,
@@ -74,7 +74,7 @@ void LayerTreeHostCommonTestBase::ExecuteCalculateDrawProperties(
root_layer, device_viewport_size, render_surface_layer_list_.get());
inputs.device_scale_factor = device_scale_factor;
inputs.page_scale_factor = page_scale_factor;
- inputs.page_scale_application_layer = page_scale_application_layer;
+ inputs.page_scale_layer = page_scale_layer;
inputs.can_use_lcd_text = can_use_lcd_text;
inputs.layers_always_allowed_lcd_text = layers_always_allowed_lcd_text;
inputs.can_adjust_raster_scales = true;
@@ -129,7 +129,7 @@ void LayerTreeHostCommonTestBase::ExecuteCalculateDrawProperties(
LayerImpl* root_layer,
float device_scale_factor,
float page_scale_factor,
- LayerImpl* page_scale_application_layer,
+ LayerImpl* page_scale_layer,
bool can_use_lcd_text,
bool layers_always_allowed_lcd_text) {
gfx::Transform identity_matrix;
@@ -146,7 +146,7 @@ void LayerTreeHostCommonTestBase::ExecuteCalculateDrawProperties(
root_layer, device_viewport_size, render_surface_layer_list_impl_.get());
inputs.device_scale_factor = device_scale_factor;
inputs.page_scale_factor = page_scale_factor;
- inputs.page_scale_application_layer = page_scale_application_layer;
+ inputs.page_scale_layer = page_scale_layer;
inputs.can_use_lcd_text = can_use_lcd_text;
inputs.layers_always_allowed_lcd_text = layers_always_allowed_lcd_text;
inputs.can_adjust_raster_scales = true;
diff --git a/cc/trees/layer_tree_host_common.cc b/cc/trees/layer_tree_host_common.cc
index 128f7f3..e94d301 100644
--- a/cc/trees/layer_tree_host_common.cc
+++ b/cc/trees/layer_tree_host_common.cc
@@ -1374,7 +1374,7 @@ struct SubtreeGlobals {
int max_texture_size;
float device_scale_factor;
float page_scale_factor;
- const LayerType* page_scale_application_layer;
+ const LayerType* page_scale_layer;
gfx::Vector2dF elastic_overscroll;
const LayerType* elastic_overscroll_application_layer;
bool can_adjust_raster_scales;
@@ -1422,7 +1422,7 @@ struct DataForRecursion {
bool ancestor_clips_subtree;
typename LayerType::RenderSurfaceType*
nearest_occlusion_immune_ancestor_surface;
- bool in_subtree_of_page_scale_application_layer;
+ bool in_subtree_of_page_scale_layer;
bool subtree_can_use_lcd_text;
bool subtree_is_visible_from_ancestor;
};
@@ -1690,8 +1690,7 @@ static void CalculateDrawPropertiesInternal(
// It makes no sense to have a non-unit page_scale_factor without specifying
// which layer roots the subtree the scale is applied to.
- DCHECK(globals.page_scale_application_layer ||
- (globals.page_scale_factor == 1.f));
+ DCHECK(globals.page_scale_layer || (globals.page_scale_factor == 1.f));
CHECK(!layer->visited());
bool visited = true;
@@ -1701,8 +1700,8 @@ static void CalculateDrawPropertiesInternal(
typename LayerType::RenderSurfaceType*
nearest_occlusion_immune_ancestor_surface =
data_from_ancestor.nearest_occlusion_immune_ancestor_surface;
- data_for_children.in_subtree_of_page_scale_application_layer =
- data_from_ancestor.in_subtree_of_page_scale_application_layer;
+ data_for_children.in_subtree_of_page_scale_layer =
+ data_from_ancestor.in_subtree_of_page_scale_layer;
data_for_children.subtree_can_use_lcd_text =
data_from_ancestor.subtree_can_use_lcd_text;
@@ -1838,7 +1837,7 @@ static void CalculateDrawPropertiesInternal(
// Compute the 2d scale components of the transform hierarchy up to the target
// surface. From there, we can decide on a contents scale for the layer.
float layer_scale_factors = globals.device_scale_factor;
- if (data_from_ancestor.in_subtree_of_page_scale_application_layer)
+ if (data_from_ancestor.in_subtree_of_page_scale_layer)
layer_scale_factors *= globals.page_scale_factor;
gfx::Vector2dF combined_transform_scales =
MathUtil::ComputeTransform2dScaleComponents(
@@ -1850,20 +1849,17 @@ static void CalculateDrawPropertiesInternal(
? std::max(combined_transform_scales.x(),
combined_transform_scales.y())
: layer_scale_factors;
- UpdateLayerContentsScale(
- layer,
- globals.can_adjust_raster_scales,
- ideal_contents_scale,
- globals.device_scale_factor,
- data_from_ancestor.in_subtree_of_page_scale_application_layer
- ? globals.page_scale_factor
- : 1.f,
- animating_transform_to_screen);
+ UpdateLayerContentsScale(layer, globals.can_adjust_raster_scales,
+ ideal_contents_scale, globals.device_scale_factor,
+ data_from_ancestor.in_subtree_of_page_scale_layer
+ ? globals.page_scale_factor
+ : 1.f,
+ animating_transform_to_screen);
UpdateLayerScaleDrawProperties(
layer, ideal_contents_scale, combined_maximum_animation_contents_scale,
combined_starting_animation_contents_scale,
- data_from_ancestor.in_subtree_of_page_scale_application_layer
+ data_from_ancestor.in_subtree_of_page_scale_layer
? globals.page_scale_factor
: 1.f,
globals.device_scale_factor);
@@ -1874,7 +1870,7 @@ static void CalculateDrawPropertiesInternal(
mask_layer, ideal_contents_scale,
combined_maximum_animation_contents_scale,
combined_starting_animation_contents_scale,
- data_from_ancestor.in_subtree_of_page_scale_application_layer
+ data_from_ancestor.in_subtree_of_page_scale_layer
? globals.page_scale_factor
: 1.f,
globals.device_scale_factor);
@@ -1887,12 +1883,18 @@ static void CalculateDrawPropertiesInternal(
replica_mask_layer, ideal_contents_scale,
combined_maximum_animation_contents_scale,
combined_starting_animation_contents_scale,
- data_from_ancestor.in_subtree_of_page_scale_application_layer
+ data_from_ancestor.in_subtree_of_page_scale_layer
? globals.page_scale_factor
: 1.f,
globals.device_scale_factor);
}
+ if (layer == globals.page_scale_layer) {
+ combined_transform.Scale(globals.page_scale_factor,
+ globals.page_scale_factor);
+ data_for_children.in_subtree_of_page_scale_layer = true;
+ }
+
// The draw_transform that gets computed below is effectively the layer's
// draw_transform, unless the layer itself creates a render_surface. In that
// case, the render_surface re-parents the transforms.
@@ -2219,12 +2221,6 @@ static void CalculateDrawPropertiesInternal(
size_t layer_list_child_sorting_start_index = descendants.size();
if (!layer->children().empty()) {
- if (layer == globals.page_scale_application_layer) {
- data_for_children.parent_matrix.Scale(
- globals.page_scale_factor,
- globals.page_scale_factor);
- data_for_children.in_subtree_of_page_scale_application_layer = true;
- }
if (layer == globals.elastic_overscroll_application_layer) {
data_for_children.parent_matrix.Translate(
-globals.elastic_overscroll.x(), -globals.elastic_overscroll.y());
@@ -2500,7 +2496,7 @@ static void ProcessCalcDrawPropsInputs(
globals->device_scale_factor =
inputs.device_scale_factor * device_transform_scale;
globals->page_scale_factor = inputs.page_scale_factor;
- globals->page_scale_application_layer = inputs.page_scale_application_layer;
+ globals->page_scale_layer = inputs.page_scale_layer;
globals->elastic_overscroll = inputs.elastic_overscroll;
globals->elastic_overscroll_application_layer =
inputs.elastic_overscroll_application_layer;
@@ -2521,7 +2517,7 @@ static void ProcessCalcDrawPropsInputs(
data_for_recursion->ancestor_is_animating_scale = false;
data_for_recursion->ancestor_clips_subtree = true;
data_for_recursion->nearest_occlusion_immune_ancestor_surface = NULL;
- data_for_recursion->in_subtree_of_page_scale_application_layer = false;
+ data_for_recursion->in_subtree_of_page_scale_layer = false;
data_for_recursion->subtree_can_use_lcd_text = inputs.can_use_lcd_text;
data_for_recursion->subtree_is_visible_from_ancestor = true;
}
@@ -2720,7 +2716,7 @@ void CalculateDrawPropertiesAndVerify(LayerTreeHostCommon::CalcDrawPropsInputs<
}
BuildPropertyTreesAndComputeVisibleRects(
- inputs->root_layer, inputs->page_scale_application_layer,
+ inputs->root_layer, inputs->page_scale_layer,
inputs->page_scale_factor, inputs->device_scale_factor,
gfx::Rect(inputs->device_viewport_size), inputs->device_transform,
inputs->property_trees, &update_layer_list);
diff --git a/cc/trees/layer_tree_host_common.h b/cc/trees/layer_tree_host_common.h
index f1397d0..53ac758 100644
--- a/cc/trees/layer_tree_host_common.h
+++ b/cc/trees/layer_tree_host_common.h
@@ -39,7 +39,7 @@ class CC_EXPORT LayerTreeHostCommon {
const gfx::Transform& device_transform,
float device_scale_factor,
float page_scale_factor,
- const LayerType* page_scale_application_layer,
+ const LayerType* page_scale_layer,
const gfx::Vector2dF& elastic_overscroll,
const LayerType* elastic_overscroll_application_layer,
int max_texture_size,
@@ -56,7 +56,7 @@ class CC_EXPORT LayerTreeHostCommon {
device_transform(device_transform),
device_scale_factor(device_scale_factor),
page_scale_factor(page_scale_factor),
- page_scale_application_layer(page_scale_application_layer),
+ page_scale_layer(page_scale_layer),
elastic_overscroll(elastic_overscroll),
elastic_overscroll_application_layer(
elastic_overscroll_application_layer),
@@ -76,7 +76,7 @@ class CC_EXPORT LayerTreeHostCommon {
gfx::Transform device_transform;
float device_scale_factor;
float page_scale_factor;
- const LayerType* page_scale_application_layer;
+ const LayerType* page_scale_layer;
gfx::Vector2dF elastic_overscroll;
const LayerType* elastic_overscroll_application_layer;
int max_texture_size;
diff --git a/cc/trees/layer_tree_host_common_unittest.cc b/cc/trees/layer_tree_host_common_unittest.cc
index 259a53d..7e3778f 100644
--- a/cc/trees/layer_tree_host_common_unittest.cc
+++ b/cc/trees/layer_tree_host_common_unittest.cc
@@ -1278,13 +1278,14 @@ TEST_F(LayerTreeHostCommonTest, TransformAboveRootLayer) {
LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
root.get(), root->bounds(), translate, &render_surface_layer_list);
inputs.page_scale_factor = page_scale_factor;
- inputs.page_scale_application_layer = root.get();
+ inputs.page_scale_layer = root.get();
inputs.can_adjust_raster_scales = true;
inputs.property_trees->needs_rebuild = true;
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
gfx::Transform page_scaled_translate = translate;
page_scaled_translate.Scale(page_scale_factor, page_scale_factor);
- EXPECT_EQ(translate, root->draw_properties().target_space_transform);
+ EXPECT_EQ(page_scaled_translate,
+ root->draw_properties().target_space_transform);
EXPECT_EQ(page_scaled_translate,
child->draw_properties().target_space_transform);
EXPECT_EQ(identity_matrix, root->render_surface()->draw_transform());
@@ -4430,7 +4431,7 @@ TEST_F(LayerTreeHostCommonTest, SurfaceLayerTransformsInHighDPI) {
root.get(), parent->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.page_scale_layer = root.get();
inputs.can_adjust_raster_scales = true;
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
@@ -4540,7 +4541,7 @@ TEST_F(LayerTreeHostCommonTest,
parent.get(), parent->bounds(), &render_surface_layer_list);
inputs.device_scale_factor = device_scale_factor;
inputs.page_scale_factor = page_scale_factor;
- inputs.page_scale_application_layer = parent.get();
+ inputs.page_scale_layer = parent.get();
inputs.can_adjust_raster_scales = true;
inputs.verify_property_trees = false;
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
@@ -4682,7 +4683,7 @@ TEST_F(LayerTreeHostCommonTest, ContentsScale) {
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.page_scale_layer = root.get();
inputs.can_adjust_raster_scales = true;
inputs.verify_property_trees = false;
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
@@ -4726,7 +4727,7 @@ TEST_F(LayerTreeHostCommonTest, ContentsScale) {
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.page_scale_layer = root.get();
inputs.can_adjust_raster_scales = true;
inputs.verify_property_trees = false;
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
@@ -4755,7 +4756,7 @@ TEST_F(LayerTreeHostCommonTest, ContentsScale) {
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.page_scale_layer = root.get();
inputs.can_adjust_raster_scales = true;
inputs.verify_property_trees = false;
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
@@ -4781,7 +4782,7 @@ TEST_F(LayerTreeHostCommonTest, ContentsScale) {
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.page_scale_layer = root.get();
inputs.can_adjust_raster_scales = true;
inputs.verify_property_trees = false;
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
@@ -4872,7 +4873,7 @@ TEST_F(LayerTreeHostCommonTest,
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.page_scale_layer = root.get();
inputs.verify_property_trees = false;
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
@@ -4956,7 +4957,7 @@ TEST_F(LayerTreeHostCommonTest, SmallIdealScale) {
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.page_scale_layer = root.get();
inputs.can_adjust_raster_scales = true;
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
@@ -5082,7 +5083,7 @@ TEST_F(LayerTreeHostCommonTest, ContentsScaleForSurfaces) {
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.page_scale_layer = root.get();
inputs.can_adjust_raster_scales = true;
inputs.verify_property_trees = false;
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
@@ -5286,7 +5287,7 @@ TEST_F(LayerTreeHostCommonTest,
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.page_scale_layer = root.get();
inputs.verify_property_trees = false;
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
@@ -8642,7 +8643,7 @@ TEST_F(LayerTreeHostCommonTest, DrawPropertyScales) {
inputs.page_scale_factor = page_scale_factor;
inputs.can_adjust_raster_scales = true;
- inputs.page_scale_application_layer = root_layer;
+ inputs.page_scale_layer = root_layer;
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
EXPECT_FLOAT_EQ(1.f, root_layer->draw_properties().ideal_contents_scale);
@@ -8797,7 +8798,7 @@ TEST_F(LayerTreeHostCommonTest, VisibleContentRectInChildRenderSurface) {
host->root_layer(), device_viewport_size, &render_surface_layer_list);
inputs.device_scale_factor = 2.f;
inputs.page_scale_factor = 1.f;
- inputs.page_scale_application_layer = NULL;
+ inputs.page_scale_layer = NULL;
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
// Layers in the root render surface have their visible content rect clipped
diff --git a/cc/trees/layer_tree_impl_unittest.cc b/cc/trees/layer_tree_impl_unittest.cc
index 04c108f..11ce4bc 100644
--- a/cc/trees/layer_tree_impl_unittest.cc
+++ b/cc/trees/layer_tree_impl_unittest.cc
@@ -2127,11 +2127,11 @@ TEST_F(LayerTreeImplTest, SelectionBoundsForScaledLayers) {
host_impl().active_tree()->GetViewportSelection(&output);
EXPECT_EQ(input.start.type, output.start.type);
gfx::PointF expected_output_start_top = input.start.edge_top;
- gfx::PointF expected_output_edge_botom = input.start.edge_bottom;
+ gfx::PointF expected_output_edge_bottom = input.start.edge_bottom;
expected_output_start_top.Scale(page_scale_factor);
- expected_output_edge_botom.Scale(page_scale_factor);
- EXPECT_EQ(input.start.edge_top, output.start.edge_top);
- EXPECT_EQ(input.start.edge_bottom, output.start.edge_bottom);
+ expected_output_edge_bottom.Scale(page_scale_factor);
+ EXPECT_EQ(expected_output_start_top, output.start.edge_top);
+ EXPECT_EQ(expected_output_edge_bottom, output.start.edge_bottom);
EXPECT_TRUE(output.start.visible);
EXPECT_EQ(input.end.type, output.end.type);
diff --git a/cc/trees/property_tree_builder.cc b/cc/trees/property_tree_builder.cc
index fa7079a..c45c820 100644
--- a/cc/trees/property_tree_builder.cc
+++ b/cc/trees/property_tree_builder.cc
@@ -33,7 +33,7 @@ struct DataForRecursion {
const LayerType* page_scale_layer;
float page_scale_factor;
float device_scale_factor;
- bool in_subtree_of_page_scale_application_layer;
+ bool in_subtree_of_page_scale_layer;
bool should_flatten;
bool ancestor_clips_subtree;
const gfx::Transform* device_transform;
@@ -163,8 +163,7 @@ bool AddTransformNodeIfNeeded(
LayerType* layer,
DataForRecursion<LayerType>* data_for_children) {
const bool is_root = !layer->parent();
- const bool is_page_scale_application_layer =
- layer->parent() && layer->parent() == data_from_ancestor.page_scale_layer;
+ const bool is_page_scale_layer = layer == data_from_ancestor.page_scale_layer;
const bool is_scrollable = layer->scrollable();
const bool is_fixed = layer->position_constraint().is_fixed_position();
@@ -182,7 +181,7 @@ bool AddTransformNodeIfNeeded(
bool requires_node = is_root || is_scrollable || has_significant_transform ||
has_potentially_animated_transform || has_surface ||
- is_fixed || is_page_scale_application_layer;
+ is_fixed || is_page_scale_layer;
LayerType* transform_parent = GetTransformParent(data_from_ancestor, layer);
@@ -262,13 +261,13 @@ bool AddTransformNodeIfNeeded(
post_local_scale_factor = data_from_ancestor.device_scale_factor;
}
- if (is_page_scale_application_layer)
+ if (is_page_scale_layer)
post_local_scale_factor *= data_from_ancestor.page_scale_factor;
if (has_surface && !is_root) {
node->data.needs_sublayer_scale = true;
node->data.layer_scale_factor = data_from_ancestor.device_scale_factor;
- if (data_from_ancestor.in_subtree_of_page_scale_application_layer)
+ if (data_from_ancestor.in_subtree_of_page_scale_layer)
node->data.layer_scale_factor *= data_from_ancestor.page_scale_factor;
}
@@ -358,7 +357,7 @@ void BuildPropertyTreesInternal(
AddOpacityNodeIfNeeded(data_from_parent, layer, &data_for_children);
if (layer == data_from_parent.page_scale_layer)
- data_for_children.in_subtree_of_page_scale_application_layer = true;
+ data_for_children.in_subtree_of_page_scale_layer = true;
for (size_t i = 0; i < layer->children().size(); ++i) {
if (!layer->child_at(i)->scroll_parent())
@@ -399,7 +398,7 @@ void BuildPropertyTreesTopLevelInternal(LayerType* root_layer,
data_for_recursion.page_scale_layer = page_scale_layer;
data_for_recursion.page_scale_factor = page_scale_factor;
data_for_recursion.device_scale_factor = device_scale_factor;
- data_for_recursion.in_subtree_of_page_scale_application_layer = false;
+ data_for_recursion.in_subtree_of_page_scale_layer = false;
data_for_recursion.should_flatten = false;
data_for_recursion.ancestor_clips_subtree = true;
data_for_recursion.device_transform = &device_transform;