 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 fb68c4c..e9ed1d9 100644
+index fb68c4c..89abf5a 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
 @@ -31,7 +31,9 @@

 }
 
+void RenderWidgetHostViewChildFrame::WillDrawSurface(
+    const cc::LocalFrameId& local_frame_id,
+    const gfx::Rect& damage_rect) {
+  if (local_frame_id != local_frame_id_ ||
+      damage_rect.IsEmpty() ||
+      !frame_subscriber_.get())
+    return;

+
 }  // namespace content
diff --git a/content/browser/frame_host/render_widget_host_view_child_frame.h b/content/browser/frame_host/render_widget_host_view_child_frame.h
index 87e2de41..36edc3a 100644
--- a/content/browser/frame_host/render_widget_host_view_child_frame.h
+++ b/content/browser/frame_host/render_widget_host_view_child_frame.h
@@ -157,8 +157,11 @@ class CONTENT_EXPORT RenderWidgetHostViewChildFrame
   void DidReceiveCompositorFrameAck() override;
   void OnBeginFrame(const cc::BeginFrameArgs& args) override;
   void ReclaimResources(const cc::ReturnedResourceArray& resources) override;
-  void WillDrawSurface(const cc::LocalSurfaceId& id,
-                       const gfx::Rect& damage_rect) override {}
+  void WillDrawSurface(const cc::LocalSurfaceId& local_surface_id,
+                       const gfx::Rect& damage_rect) override;
+  void BeginFrameSubscription(
+      std::unique_ptr<RenderWidgetHostViewFrameSubscriber> subscriber) override;
+  void EndFrameSubscription() override;
 
   // Exposed for tests.
   bool IsChildFrameForTesting() const override;
@@ -250,6 +253,8 @@ class CONTENT_EXPORT RenderWidgetHostViewChildFrame
   // The surface client ID of the parent RenderWidgetHostView.  0 if none.
   cc::FrameSinkId parent_frame_sink_id_;
 
