Commit de696521 authored by Ria Jiang's avatar Ria Jiang Committed by Commit Bot

Early out in RenderWidgetHostViewMac get-surface-id related functions.

We can ask RenderWidgetHostViewMac for its FrameSinkId/SurfaceId when
the BrowserCompositorMac is already gone there; early out in those
cases and return invalid FrameSinkId/SurfaceId. When GetCurrentSurfaceId
returns invalid SurfaceId, we are going to send the event to the parent
root_view of the now-invalid view [1].

[1] https://cs.chromium.org/chromium/src/content/browser/renderer_host/render_widget_host_input_event_router.cc?type=cs&l=330

Bug: 828304
Change-Id: I009e51e9c1cfd31dad8efd4a7b504ba63dd49b18
Reviewed-on: https://chromium-review.googlesource.com/996304Reviewed-by: default avatarccameron <ccameron@chromium.org>
Commit-Queue: Ria Jiang <riajiang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548314}
parent 549b1ef0
......@@ -1012,10 +1012,14 @@ RenderWidgetHostViewMac::CreateSyntheticGestureTarget() {
}
viz::LocalSurfaceId RenderWidgetHostViewMac::GetLocalSurfaceId() const {
if (!browser_compositor_)
return viz::LocalSurfaceId();
return browser_compositor_->GetRendererLocalSurfaceId();
}
viz::FrameSinkId RenderWidgetHostViewMac::GetFrameSinkId() {
if (!browser_compositor_)
return viz::FrameSinkId();
return browser_compositor_->GetDelegatedFrameHost()->frame_sink_id();
}
......@@ -1073,10 +1077,14 @@ bool RenderWidgetHostViewMac::TransformPointToCoordSpaceForView(
}
viz::FrameSinkId RenderWidgetHostViewMac::GetRootFrameSinkId() {
if (!browser_compositor_)
return viz::FrameSinkId();
return browser_compositor_->GetRootFrameSinkId();
}
viz::SurfaceId RenderWidgetHostViewMac::GetCurrentSurfaceId() const {
if (!browser_compositor_)
return viz::SurfaceId();
return browser_compositor_->GetDelegatedFrameHost()->GetCurrentSurfaceId();
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment