Index: content/browser/android/in_process/synchronous_compositor_impl.cc |
diff --git a/content/browser/android/in_process/synchronous_compositor_impl.cc b/content/browser/android/in_process/synchronous_compositor_impl.cc |
index da0f2661eba20f2c147d7e5e4cca1691a3dcb4f5..f8701c1a00af71945d2af9cb96164ffda94dc0ef 100644 |
--- a/content/browser/android/in_process/synchronous_compositor_impl.cc |
+++ b/content/browser/android/in_process/synchronous_compositor_impl.cc |
@@ -216,7 +216,14 @@ void SynchronousCompositorImpl::SetMemoryPolicy(size_t bytes_limit) { |
DCHECK(CalledOnValidThread()); |
DCHECK(output_surface_); |
+ size_t current_bytes_limit = output_surface_->GetMemoryPolicy(); |
output_surface_->SetMemoryPolicy(bytes_limit); |
+ |
+ if (bytes_limit && !current_bytes_limit) { |
+ g_factory.Get().CompositorInitializedHardwareDraw(); |
+ } else if (!bytes_limit && current_bytes_limit) { |
+ g_factory.Get().CompositorReleasedHardwareDraw(); |
+ } |
} |
void SynchronousCompositorImpl::PostInvalidate() { |