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( |