| 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()));
|
| }
|
|
|
| } // namespace content
|
|
|