Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(88)

Unified Diff: content/browser/renderer_host/render_widget_host_view_android.cc

Issue 2872353005: Don't use fallback frame sinks on Android (Closed)
Patch Set: Address comments Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/browser/bad_message.h ('k') | content/renderer/gpu/render_widget_compositor.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 3d5e597188c7408a5d07df7f34927b96ab9a78e0..6c6b0064e1f6deeae4bbbd0a41e2b70768779eea 100644
--- a/content/browser/renderer_host/render_widget_host_view_android.cc
+++ b/content/browser/renderer_host/render_widget_host_view_android.cc
@@ -1144,6 +1144,14 @@ void RenderWidgetHostViewAndroid::ReclaimResources(
void RenderWidgetHostViewAndroid::DidCreateNewRendererCompositorFrameSink(
cc::mojom::MojoCompositorFrameSinkClient* renderer_compositor_frame_sink) {
+ if (!delegated_frame_host_) {
+ DCHECK(!using_browser_compositor_);
+ // We don't expect RendererCompositorFrameSink on Android WebView.
+ // (crbug.com/721102)
+ bad_message::ReceivedBadMessage(host_->GetProcess(),
+ bad_message::RWH_BAD_FRAME_SINK_REQUEST);
+ return;
+ }
delegated_frame_host_->CompositorFrameSinkChanged();
renderer_compositor_frame_sink_ = renderer_compositor_frame_sink;
// Accumulated resources belong to the old RendererCompositorFrameSink and
@@ -1154,8 +1162,12 @@ void RenderWidgetHostViewAndroid::DidCreateNewRendererCompositorFrameSink(
void RenderWidgetHostViewAndroid::SubmitCompositorFrame(
const cc::LocalSurfaceId& local_surface_id,
cc::CompositorFrame frame) {
+ if (!delegated_frame_host_) {
+ DCHECK(!using_browser_compositor_);
+ return;
+ }
+
last_scroll_offset_ = frame.metadata.root_scroll_offset;
- DCHECK(delegated_frame_host_);
DCHECK(!frame.render_pass_list.empty());
cc::RenderPass* root_pass = frame.render_pass_list.back().get();
« no previous file with comments | « content/browser/bad_message.h ('k') | content/renderer/gpu/render_widget_compositor.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698