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

Unified Diff: content/browser/renderer_host/render_widget_host_view_mac.mm

Issue 1841083007: Remove SendBeginFramesToChildren plumbing (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@scheduler_output_surface_client_set_beginframesource
Patch Set: Rebase Created 4 years, 8 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
« no previous file with comments | « content/browser/renderer_host/render_widget_host_view_mac.h ('k') | content/content_browser.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/renderer_host/render_widget_host_view_mac.mm
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm
index ddb1a16ae6f3a926d02cbb523666db9e6b7f6802..1c9ce1e430de8821450808b9dd533f7c5999f680 100644
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
@@ -482,6 +482,44 @@ void RenderWidgetHostViewMac::DelegatedFrameHostUpdateVSyncParameters(
render_widget_host_->UpdateVSyncParameters(timebase, interval);
}
+void RenderWidgetHostViewMac::SetBeginFrameSource(
+ cc::BeginFrameSource* source) {
+ if (begin_frame_source_ && needs_begin_frames_)
+ begin_frame_source_->RemoveObserver(this);
+ begin_frame_source_ = source;
+ if (begin_frame_source_ && needs_begin_frames_)
+ begin_frame_source_->AddObserver(this);
+}
+
+////////////////////////////////////////////////////////////////////////////////
+// cc::BeginFrameSourceBase, public:
+
+void RenderWidgetHostViewMac::OnSetNeedsBeginFrames(bool needs_begin_frames) {
+ if (needs_begin_frames_ == needs_begin_frames)
+ return;
+
+ needs_begin_frames_ = needs_begin_frames;
+ if (begin_frame_source_) {
+ if (needs_begin_frames_)
+ begin_frame_source_->AddObserver(this);
+ else
+ begin_frame_source_->RemoveObserver(this);
+ }
+}
+
+bool RenderWidgetHostViewMac::OnBeginFrameDerivedImpl(
+ const cc::BeginFrameArgs& args) {
+ delegated_frame_host_->SetVSyncParameters(args.frame_time, args.interval);
+ render_widget_host_->Send(
+ new ViewMsg_BeginFrame(render_widget_host_->GetRoutingID(), args));
+ return true;
+}
+
+void RenderWidgetHostViewMac::OnBeginFrameSourcePausedChanged(
+ bool paused) {
+ // Nothing to do here.
+}
+
////////////////////////////////////////////////////////////////////////////////
// AcceleratedWidgetMacNSView, public:
@@ -527,7 +565,9 @@ RenderWidgetHostViewMac::RenderWidgetHostViewMac(RenderWidgetHost* widget,
allow_pause_for_resize_or_repaint_(true),
is_guest_view_hack_(is_guest_view_hack),
wheel_gestures_enabled_(UseGestureBasedWheelScrolling()),
- fullscreen_parent_host_view_(NULL),
+ fullscreen_parent_host_view_(nullptr),
+ begin_frame_source_(nullptr),
+ needs_begin_frames_(false),
weak_factory_(this) {
// |cocoa_view_| owns us and we will be deleted when |cocoa_view_|
// goes away. Since we autorelease it, our caller must put
@@ -687,6 +727,8 @@ bool RenderWidgetHostViewMac::OnMessageReceived(const IPC::Message& message) {
IPC_BEGIN_MESSAGE_MAP(RenderWidgetHostViewMac, message)
IPC_MESSAGE_HANDLER(ViewMsg_GetRenderedTextCompleted,
OnGetRenderedTextCompleted)
+ IPC_MESSAGE_HANDLER(ViewHostMsg_SetNeedsBeginFrames,
+ OnSetNeedsBeginFrames)
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
return handled;
« no previous file with comments | « content/browser/renderer_host/render_widget_host_view_mac.h ('k') | content/content_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698