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

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

Issue 2878113002: mus: Embedder can request and observe BeginFrame for embedded client. (Closed)
Patch Set: . 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
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

Powered by Google App Engine
This is Rietveld 408576698