Commit b399a054 authored by samans's avatar samans Committed by Commit bot

Allocate a FrameSinkId for RenderWidgetHostViewAura in mus+ash

RenderWidgetHostViewChildFrame expects its parent to have a valid
FrameSinkId. Make sure RenderWidgetHostViewAura has a FrameSinkId even
if DelegatedFrameHost is not used (in mus+ash).

BUG=706553
TBR=jam@chromium.org

Review-Url: https://codereview.chromium.org/2847253003
Cr-Commit-Position: refs/heads/master@{#468179}
parent d4fcf211
...@@ -396,6 +396,7 @@ RenderWidgetHostViewAura::RenderWidgetHostViewAura(RenderWidgetHost* host, ...@@ -396,6 +396,7 @@ RenderWidgetHostViewAura::RenderWidgetHostViewAura(RenderWidgetHost* host,
is_guest_view_hack_(is_guest_view_hack), is_guest_view_hack_(is_guest_view_hack),
device_scale_factor_(0.0f), device_scale_factor_(0.0f),
event_handler_(new RenderWidgetHostViewEventHandler(host_, this, this)), event_handler_(new RenderWidgetHostViewEventHandler(host_, this, this)),
frame_sink_id_(host_->AllocateFrameSinkId(is_guest_view_hack_)),
weak_ptr_factory_(this) { weak_ptr_factory_(this) {
if (!is_guest_view_hack_) if (!is_guest_view_hack_)
host_->SetView(this); host_->SetView(this);
...@@ -1932,16 +1933,13 @@ void RenderWidgetHostViewAura::CreateDelegatedFrameHostClient() { ...@@ -1932,16 +1933,13 @@ void RenderWidgetHostViewAura::CreateDelegatedFrameHostClient() {
if (IsMus()) if (IsMus())
return; return;
cc::FrameSinkId frame_sink_id =
host_->AllocateFrameSinkId(is_guest_view_hack_);
// Tests may set |delegated_frame_host_client_|. // Tests may set |delegated_frame_host_client_|.
if (!delegated_frame_host_client_) { if (!delegated_frame_host_client_) {
delegated_frame_host_client_ = delegated_frame_host_client_ =
base::MakeUnique<DelegatedFrameHostClientAura>(this); base::MakeUnique<DelegatedFrameHostClientAura>(this);
} }
delegated_frame_host_ = base::MakeUnique<DelegatedFrameHost>( delegated_frame_host_ = base::MakeUnique<DelegatedFrameHost>(
frame_sink_id, delegated_frame_host_client_.get()); frame_sink_id_, delegated_frame_host_client_.get());
if (renderer_compositor_frame_sink_) { if (renderer_compositor_frame_sink_) {
delegated_frame_host_->DidCreateNewRendererCompositorFrameSink( delegated_frame_host_->DidCreateNewRendererCompositorFrameSink(
renderer_compositor_frame_sink_); renderer_compositor_frame_sink_);
...@@ -2282,8 +2280,7 @@ void RenderWidgetHostViewAura::OnDidNavigateMainFrameToNewPage() { ...@@ -2282,8 +2280,7 @@ void RenderWidgetHostViewAura::OnDidNavigateMainFrameToNewPage() {
} }
cc::FrameSinkId RenderWidgetHostViewAura::GetFrameSinkId() { cc::FrameSinkId RenderWidgetHostViewAura::GetFrameSinkId() {
return delegated_frame_host_ ? delegated_frame_host_->GetFrameSinkId() return frame_sink_id_;
: cc::FrameSinkId();
} }
cc::SurfaceId RenderWidgetHostViewAura::SurfaceIdForTesting() const { cc::SurfaceId RenderWidgetHostViewAura::SurfaceIdForTesting() const {
......
...@@ -590,6 +590,8 @@ class CONTENT_EXPORT RenderWidgetHostViewAura ...@@ -590,6 +590,8 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
// provides an implementation, and directs events to |host_|. // provides an implementation, and directs events to |host_|.
std::unique_ptr<RenderWidgetHostViewEventHandler> event_handler_; std::unique_ptr<RenderWidgetHostViewEventHandler> event_handler_;
cc::FrameSinkId frame_sink_id_;
base::WeakPtrFactory<RenderWidgetHostViewAura> weak_ptr_factory_; base::WeakPtrFactory<RenderWidgetHostViewAura> weak_ptr_factory_;
DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewAura); DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewAura);
......
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