OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "cc/layers/layer_impl.h" | 5 #include "cc/layers/layer_impl.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <algorithm> | 10 #include <algorithm> |
(...skipping 1059 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1070 return effect_tree.Node(render_target_effect_tree_index())->render_surface; | 1070 return effect_tree.Node(render_target_effect_tree_index())->render_surface; |
1071 } | 1071 } |
1072 | 1072 |
1073 bool LayerImpl::IsHidden() const { | 1073 bool LayerImpl::IsHidden() const { |
1074 EffectTree& effect_tree = layer_tree_impl_->property_trees()->effect_tree; | 1074 EffectTree& effect_tree = layer_tree_impl_->property_trees()->effect_tree; |
1075 EffectNode* node = effect_tree.Node(effect_tree_index_); | 1075 EffectNode* node = effect_tree.Node(effect_tree_index_); |
1076 return node->screen_space_opacity == 0.f; | 1076 return node->screen_space_opacity == 0.f; |
1077 } | 1077 } |
1078 | 1078 |
1079 float LayerImpl::GetIdealContentsScale() const { | 1079 float LayerImpl::GetIdealContentsScale() const { |
1080 float page_scale = IsAffectedByPageScale() | 1080 // When there is no page scale layer we could be rendering a sub-frame in |
1081 ? layer_tree_impl()->current_page_scale_factor() | 1081 // a separate process, so we should include the current page scale factor |
1082 : 1.f; | 1082 // for creating the raster scale. |
| 1083 // TODO(wjmaclean): Re-word this comment in a more CC-like manner. |
| 1084 float page_scale = |
| 1085 (!layer_tree_impl()->PageScaleLayer() || IsAffectedByPageScale()) |
| 1086 ? layer_tree_impl()->current_page_scale_factor() |
| 1087 : 1.f; |
1083 float device_scale = layer_tree_impl()->device_scale_factor(); | 1088 float device_scale = layer_tree_impl()->device_scale_factor(); |
1084 | 1089 |
1085 float default_scale = page_scale * device_scale; | 1090 float default_scale = page_scale * device_scale; |
1086 if (!layer_tree_impl() | 1091 if (!layer_tree_impl() |
1087 ->settings() | 1092 ->settings() |
1088 .layer_transforms_should_scale_layer_contents) { | 1093 .layer_transforms_should_scale_layer_contents) { |
1089 return default_scale; | 1094 return default_scale; |
1090 } | 1095 } |
1091 | 1096 |
1092 gfx::Vector2dF transform_scales = MathUtil::ComputeTransform2dScaleComponents( | 1097 gfx::Vector2dF transform_scales = MathUtil::ComputeTransform2dScaleComponents( |
1093 ScreenSpaceTransform(), default_scale); | 1098 ScreenSpaceTransform(), default_scale); |
1094 return std::max(transform_scales.x(), transform_scales.y()); | 1099 return std::max(transform_scales.x(), transform_scales.y()); |
1095 } | 1100 } |
1096 | 1101 |
1097 } // namespace cc | 1102 } // namespace cc |
OLD | NEW |