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