Index: cc/layers/picture_layer_impl.cc |
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc |
index 1827bea13d8923746825029c691e5b731226c0c1..eb90e955d9e699b613001cf3552de27af76fdc81 100644 |
--- a/cc/layers/picture_layer_impl.cc |
+++ b/cc/layers/picture_layer_impl.cc |
@@ -1048,8 +1048,12 @@ void PictureLayerImpl::RecalculateRasterScales() { |
if (maximum_scale) { |
gfx::Size bounds_at_maximum_scale = gfx::ToCeiledSize( |
gfx::ScaleSize(raster_source_->GetSize(), maximum_scale)); |
- if (bounds_at_maximum_scale.GetArea() <= |
- layer_tree_impl()->device_viewport_size().GetArea()) |
+ int64 maximum_area = static_cast<int64>(bounds_at_maximum_scale.width()) * |
+ static_cast<int64>(bounds_at_maximum_scale.height()); |
+ gfx::Size viewport = layer_tree_impl()->device_viewport_size(); |
+ int64 viewport_area = static_cast<int64>(viewport.width()) * |
+ static_cast<int64>(viewport.height()); |
+ if (maximum_area <= viewport_area) |
can_raster_at_maximum_scale = true; |
} |
// Use the computed scales for the raster scale directly, do not try to use |