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> |