| Index: cc/trees/layer_tree_host.cc
|
| diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc
|
| index a0f279a1492f5d3a5a7982fac4e50545a504f9f5..02f80350cd9939a436f1014a70c63b4ba6eaca29 100644
|
| --- a/cc/trees/layer_tree_host.cc
|
| +++ b/cc/trees/layer_tree_host.cc
|
| @@ -933,9 +933,10 @@ size_t LayerTreeHost::CalculateMemoryForRenderSurfaces(
|
| Layer* render_surface_layer = update_list.at(i);
|
| RenderSurface* render_surface = render_surface_layer->render_surface();
|
|
|
| - size_t bytes =
|
| - Resource::MemorySizeBytes(render_surface->content_rect().size(),
|
| - RGBA_8888);
|
| + // We can use UncheckedMemorySizeBytes, since render surface content rect is
|
| + // limited by max texture size.
|
| + size_t bytes = Resource::UncheckedMemorySizeBytes(
|
| + render_surface->content_rect().size(), RGBA_8888);
|
| contents_texture_bytes += bytes;
|
|
|
| if (render_surface_layer->background_filters().IsEmpty() &&
|
| @@ -943,8 +944,10 @@ size_t LayerTreeHost::CalculateMemoryForRenderSurfaces(
|
| continue;
|
|
|
| if (!readback_bytes) {
|
| - readback_bytes = Resource::MemorySizeBytes(device_viewport_size_,
|
| - RGBA_8888);
|
| + // We need to use a checked size calucation here, since we don't control
|
| + // the size of the device viewport.
|
| + readback_bytes =
|
| + Resource::CheckedMemorySizeBytes(device_viewport_size_, RGBA_8888);
|
| }
|
| }
|
| return readback_bytes + contents_texture_bytes;
|
|
|