Chromium Code Reviews| Index: content/browser/renderer_host/render_widget_host_view_android.cc |
| diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc |
| index 0a30eafc252fbf60769c6cf52509f44bb42cfcd8..cb2dd7096e5a6bd31133b8e8f9e70e55468e9593 100644 |
| --- a/content/browser/renderer_host/render_widget_host_view_android.cc |
| +++ b/content/browser/renderer_host/render_widget_host_view_android.cc |
| @@ -941,6 +941,7 @@ void RenderWidgetHostViewAndroid::InternalSwapCompositorFrame( |
| cc::RenderPass* root_pass = |
| frame.delegated_frame_data->render_pass_list.back().get(); |
| current_surface_size_ = root_pass->output_rect.size(); |
| + bool is_transparent = root_pass->has_transparent_background; |
| cc::CompositorFrameMetadata metadata = frame.metadata.Clone(); |
| @@ -970,7 +971,7 @@ void RenderWidgetHostViewAndroid::InternalSwapCompositorFrame( |
| // As the metadata update may trigger view invalidation, always call it after |
| // any potential compositor scheduling. |
| - OnFrameMetadataUpdated(std::move(metadata)); |
| + OnFrameMetadataUpdated(std::move(metadata), is_transparent); |
| } |
| void RenderWidgetHostViewAndroid::DestroyDelegatedContent() { |
| @@ -1027,7 +1028,7 @@ void RenderWidgetHostViewAndroid::SynchronousFrameMetadata( |
| // This is a subset of OnSwapCompositorFrame() used in the synchronous |
| // compositor flow. |
| - OnFrameMetadataUpdated(frame_metadata.Clone()); |
| + OnFrameMetadataUpdated(frame_metadata.Clone(), false); |
|
no sievers
2016/09/02 22:06:52
+Bo for whether WebView needs to worry about this
boliu
2016/09/02 22:52:11
Don't think so. Webview disables video overlays be
|
| // DevTools ScreenCast support for Android WebView. |
| WebContents* web_contents = content_view_core_->GetWebContents(); |
| @@ -1044,11 +1045,6 @@ void RenderWidgetHostViewAndroid::SynchronousFrameMetadata( |
| } |
| } |
| -void RenderWidgetHostViewAndroid::SetOverlayVideoMode(bool enabled) { |
| - if (delegated_frame_host_) |
| - delegated_frame_host_->SetContentsOpaque(!enabled); |
| -} |
| - |
| bool RenderWidgetHostViewAndroid::SupportsAnimation() const { |
| // The synchronous (WebView) compositor does not have a proper browser |
| // compositor with which to drive animations. |
| @@ -1150,7 +1146,8 @@ void RenderWidgetHostViewAndroid::SynchronousCopyContents( |
| } |
| void RenderWidgetHostViewAndroid::OnFrameMetadataUpdated( |
| - const cc::CompositorFrameMetadata& frame_metadata) { |
| + const cc::CompositorFrameMetadata& frame_metadata, |
| + bool is_transparent) { |
| bool is_mobile_optimized = IsMobileOptimizedFrame(frame_metadata); |
| gesture_provider_.SetDoubleTapSupportForPageEnabled(!is_mobile_optimized); |
| @@ -1177,7 +1174,8 @@ void RenderWidgetHostViewAndroid::OnFrameMetadataUpdated( |
| selection_controller_->OnViewportChanged(viewport_rect); |
| } |
| - UpdateBackgroundColor(frame_metadata.root_background_color); |
| + UpdateBackgroundColor(is_transparent ? SK_ColorTRANSPARENT |
| + : frame_metadata.root_background_color); |
| // All offsets and sizes are in CSS pixels. |
| content_view_core_->UpdateFrameInfo( |