Chromium Code Reviews| Index: cc/layer_tree_host_common.cc |
| diff --git a/cc/layer_tree_host_common.cc b/cc/layer_tree_host_common.cc |
| index 0a204ceb6914df96a5bdede2b6c8c9ee7e1c6915..e21ac34cc93cacea0a93089deeddec8f5969111d 100644 |
| --- a/cc/layer_tree_host_common.cc |
| +++ b/cc/layer_tree_host_common.cc |
| @@ -373,8 +373,20 @@ gfx::Transform computeScrollCompensationMatrixForChildren(LayerImpl* layer, cons |
| return nextScrollCompensationMatrix; |
| } |
| -// There is no contentsScale on impl thread. |
| -static inline void updateLayerContentsScale(LayerImpl*, const gfx::Transform&, float, float, bool) { } |
| +static inline void updateLayerContentsScale(LayerImpl* layer, const gfx::Transform& combinedTransform, float deviceScaleFactor, float pageScaleFactor, bool animatingTransformToScreen) |
|
danakj
2012/12/14 20:37:23
Prefer this as a separate change where it'll be us
enne (OOO)
2012/12/14 22:06:05
Done.
|
| +{ |
| + gfx::Vector2dF transformScale = MathUtil::computeTransform2dScaleComponents(combinedTransform); |
| + float contentsScale = std::max(transformScale.x(), transformScale.y()); |
| + layer->updateContentsScale(contentsScale); |
| + |
| + LayerImpl* maskLayer = layer->maskLayer(); |
| + if (maskLayer) |
| + maskLayer->updateContentsScale(contentsScale); |
| + |
| + LayerImpl* replicaMaskLayer = layer->replicaLayer() ? layer->replicaLayer()->maskLayer() : 0; |
| + if (replicaMaskLayer) |
| + replicaMaskLayer->updateContentsScale(contentsScale); |
| +} |
| static inline void updateLayerContentsScale(Layer* layer, const gfx::Transform& combinedTransform, float deviceScaleFactor, float pageScaleFactor, bool animatingTransformToScreen) |
| { |
| @@ -399,15 +411,15 @@ static inline void updateLayerContentsScale(Layer* layer, const gfx::Transform& |
| float contentsScale = rasterScale * deviceScaleFactor; |
| if (!layer->boundsContainPageScale()) |
| contentsScale *= pageScaleFactor; |
| - layer->setContentsScale(contentsScale); |
| + layer->updateContentsScale(contentsScale); |
| Layer* maskLayer = layer->maskLayer(); |
| if (maskLayer) |
| - maskLayer->setContentsScale(contentsScale); |
| + maskLayer->updateContentsScale(contentsScale); |
| Layer* replicaMaskLayer = layer->replicaLayer() ? layer->replicaLayer()->maskLayer() : 0; |
| if (replicaMaskLayer) |
| - replicaMaskLayer->setContentsScale(contentsScale); |
| + replicaMaskLayer->updateContentsScale(contentsScale); |
| } |
| template<typename LayerType, typename LayerList> |