Chromium Code Reviews| 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( |