Index: cc/trees/proxy_impl.cc |
diff --git a/cc/trees/proxy_impl.cc b/cc/trees/proxy_impl.cc |
index 3a6f2db319847a10c0e1d43e28c366f80a0bb220..7defc51fd4b093d6b995c1b282d38af7ea943d12 100644 |
--- a/cc/trees/proxy_impl.cc |
+++ b/cc/trees/proxy_impl.cc |
@@ -146,7 +146,14 @@ |
LayerTreeHostImpl* host_impl = layer_tree_host_impl_.get(); |
bool success = host_impl->InitializeRenderer(output_surface); |
- channel_impl_->DidInitializeOutputSurface(success); |
+ RendererCapabilities capabilities; |
+ if (success) { |
+ capabilities = |
+ host_impl->GetRendererCapabilities().MainThreadCapabilities(); |
+ } |
+ |
+ channel_impl_->DidInitializeOutputSurface(success, capabilities); |
+ |
if (success) |
scheduler_->DidCreateAndInitializeOutputSurface(); |
} |
@@ -268,6 +275,13 @@ |
DCHECK(!blocked_main_commit().layer_tree_host); |
blocked_main_commit().layer_tree_host = layer_tree_host; |
scheduler_->NotifyReadyToCommit(); |
+} |
+ |
+void ProxyImpl::UpdateRendererCapabilitiesOnImplThread() { |
+ DCHECK(IsImplThread()); |
+ channel_impl_->SetRendererCapabilitiesMainCopy( |
+ layer_tree_host_impl_->GetRendererCapabilities() |
+ .MainThreadCapabilities()); |
} |
void ProxyImpl::DidLoseOutputSurfaceOnImplThread() { |