| Index: cc/layers/contents_scaling_layer.cc
|
| diff --git a/cc/layers/contents_scaling_layer.cc b/cc/layers/contents_scaling_layer.cc
|
| index 733bac094f696552d470472ee07b9ee1b47c642e..b44830f5fa70cef857df1daa4b20905603e51152 100644
|
| --- a/cc/layers/contents_scaling_layer.cc
|
| +++ b/cc/layers/contents_scaling_layer.cc
|
| @@ -3,6 +3,7 @@
|
| // found in the LICENSE file.
|
|
|
| #include "cc/layers/contents_scaling_layer.h"
|
| +#include "cc/trees/layer_tree_host.h"
|
| #include "ui/gfx/geometry/size_conversions.h"
|
|
|
| namespace cc {
|
| @@ -25,11 +26,23 @@ void ContentsScalingLayer::CalculateContentsScale(
|
| float* contents_scale_x,
|
| float* contents_scale_y,
|
| gfx::Size* content_bounds) {
|
| + float old_contents_scale_x = *contents_scale_x;
|
| + float old_contents_scale_y = *contents_scale_y;
|
| + gfx::Size old_content_bounds = *content_bounds;
|
| *contents_scale_x = ideal_contents_scale;
|
| *contents_scale_y = ideal_contents_scale;
|
| *content_bounds = ComputeContentBoundsForScale(
|
| ideal_contents_scale,
|
| ideal_contents_scale);
|
| +
|
| + if (!layer_tree_host())
|
| + return;
|
| +
|
| + if (old_contents_scale_x != *contents_scale_x ||
|
| + old_contents_scale_y != *contents_scale_y ||
|
| + old_content_bounds != *content_bounds) {
|
| + layer_tree_host()->property_trees()->needs_rebuild = true;
|
| + }
|
| }
|
|
|
| bool ContentsScalingLayer::Update(ResourceUpdateQueue* queue,
|
|
|