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

Unified Diff: content/browser/frame_host/render_widget_host_view_child_frame.cc

Issue 2242613003: Hoist SetNeedsBeginFrame messages up to the RWHostImpl (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove base class call Created 4 years, 4 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/frame_host/render_widget_host_view_child_frame.cc
diff --git a/content/browser/frame_host/render_widget_host_view_child_frame.cc b/content/browser/frame_host/render_widget_host_view_child_frame.cc
index 736d16e9f871598e24d8f59f4c065203dbe9ba68..0b7094aa8bd77e3ec7f9c98dc6d0f96c910b0385 100644
--- a/content/browser/frame_host/render_widget_host_view_child_frame.cc
+++ b/content/browser/frame_host/render_widget_host_view_child_frame.cc
@@ -48,7 +48,6 @@ RenderWidgetHostViewChildFrame::RenderWidgetHostViewChildFrame(
ack_pending_count_(0),
frame_connector_(nullptr),
begin_frame_source_(nullptr),
- observing_begin_frame_source_(false),
parent_surface_client_id_(0),
weak_factory_(this) {
id_allocator_.reset(new cc::SurfaceIdAllocator(AllocateSurfaceClientId()));
@@ -110,16 +109,6 @@ void RenderWidgetHostViewChildFrame::InitAsChild(
NOTREACHED();
}
-bool RenderWidgetHostViewChildFrame::OnMessageReceived(
- const IPC::Message& message) {
- bool handled = true;
- IPC_BEGIN_MESSAGE_MAP(RenderWidgetHostViewChildFrame, message)
- IPC_MESSAGE_HANDLER(ViewHostMsg_SetNeedsBeginFrames, OnSetNeedsBeginFrames)
- IPC_MESSAGE_UNHANDLED(handled = false)
- IPC_END_MESSAGE_MAP()
- return handled;
-}
-
RenderWidgetHost* RenderWidgetHostViewChildFrame::GetRenderWidgetHost() const {
return host_;
}
@@ -642,10 +631,11 @@ void RenderWidgetHostViewChildFrame::ReturnResources(
void RenderWidgetHostViewChildFrame::SetBeginFrameSource(
cc::BeginFrameSource* source) {
- if (begin_frame_source_ && observing_begin_frame_source_)
+ bool needs_begin_frames = host_->needs_begin_frames();
+ if (begin_frame_source_ && needs_begin_frames)
begin_frame_source_->RemoveObserver(this);
begin_frame_source_ = source;
- if (begin_frame_source_ && observing_begin_frame_source_)
+ if (begin_frame_source_ && needs_begin_frames)
begin_frame_source_->AddObserver(this);
}
@@ -665,18 +655,15 @@ void RenderWidgetHostViewChildFrame::OnBeginFrameSourcePausedChanged(
// Only used on Android WebView.
}
-void RenderWidgetHostViewChildFrame::OnSetNeedsBeginFrames(
+void RenderWidgetHostViewChildFrame::SetNeedsBeginFrames(
bool needs_begin_frames) {
no sievers 2016/08/22 18:13:56 I don't quite understand when this codepath is eve
- if (observing_begin_frame_source_ == needs_begin_frames)
+ if (!begin_frame_source_)
return;
- observing_begin_frame_source_ = needs_begin_frames;
- if (begin_frame_source_) {
- if (observing_begin_frame_source_)
- begin_frame_source_->AddObserver(this);
- else
- begin_frame_source_->RemoveObserver(this);
- }
+ if (needs_begin_frames)
+ begin_frame_source_->AddObserver(this);
+ else
+ begin_frame_source_->RemoveObserver(this);
}
InputEventAckState RenderWidgetHostViewChildFrame::FilterInputEvent(

Powered by Google App Engine
This is Rietveld 408576698