Chromium Code Reviews| Index: content/browser/renderer_host/render_widget_host_view_aura.cc |
| diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc |
| index b92c30d53797f4b7c2c0fb7b283a98f1b774af6e..37e28baca6eb7e0ea61ad842c05ee099132867b7 100644 |
| --- a/content/browser/renderer_host/render_widget_host_view_aura.cc |
| +++ b/content/browser/renderer_host/render_widget_host_view_aura.cc |
| @@ -655,12 +655,12 @@ void RenderWidgetHostViewAura::OnSetNeedsFlushInput() { |
| UpdateNeedsBeginFramesInternal(); |
| } |
| -void RenderWidgetHostViewAura::OnBeginFrame( |
| - const cc::BeginFrameArgs& args) { |
| +void RenderWidgetHostViewAura::OnBeginFrame(const cc::BeginFrameArgs& args) { |
| needs_flush_input_ = false; |
| host_->FlushInput(); |
| UpdateNeedsBeginFramesInternal(); |
| - host_->Send(new ViewMsg_BeginFrame(host_->GetRoutingID(), args)); |
| + if (!IsMus()) |
| + host_->Send(new ViewMsg_BeginFrame(host_->GetRoutingID(), args)); |
| } |
| RenderFrameHostImpl* RenderWidgetHostViewAura::GetFocusedFrame() { |
| @@ -2387,10 +2387,17 @@ void RenderWidgetHostViewAura::SetPopupChild( |
| } |
| void RenderWidgetHostViewAura::UpdateNeedsBeginFramesInternal() { |
| - if (!delegated_frame_host_) |
| + bool needs_begin_frames = needs_begin_frames_ || needs_flush_input_; |
| + if (delegated_frame_host_) { |
| + delegated_frame_host_->SetNeedsBeginFrames(needs_begin_frames); |
| + return; |
| + } |
| + if (!IsMus()) |
| return; |
| - delegated_frame_host_->SetNeedsBeginFrames(needs_begin_frames_ || |
| - needs_flush_input_); |
| + window()->SetNeedsBeginFrames( |
| + needs_begin_frames_ || needs_flush_input_, |
| + base::Bind(&RenderWidgetHostViewAura::OnBeginFrame, |
| + weak_ptr_factory_.GetWeakPtr(), cc::BeginFrameArgs())); |
|
Fady Samuel
2017/05/12 22:42:55
Maybe propagate the BeginFrameArgs from viz?
sadrul
2017/05/13 03:01:38
I considered doing that. The reasons I didn't are
|
| } |
| } // namespace content |