Index: cc/surfaces/surface_factory.cc |
diff --git a/cc/surfaces/surface_factory.cc b/cc/surfaces/surface_factory.cc |
index 3e83c8cfd7341c57485af26fbcc9873e8b2beb51..b35380efb1784bbaa8e21352884b8c9059a1fb90 100644 |
--- a/cc/surfaces/surface_factory.cc |
+++ b/cc/surfaces/surface_factory.cc |
@@ -8,6 +8,7 @@ |
#include "cc/output/compositor_frame.h" |
#include "cc/output/copy_output_request.h" |
#include "cc/surfaces/surface.h" |
+#include "cc/surfaces/surface_factory_client.h" |
#include "cc/surfaces/surface_manager.h" |
#include "ui/gfx/geometry/size.h" |
@@ -26,6 +27,7 @@ SurfaceFactory::~SurfaceFactory() { |
<< " entries in map on destruction."; |
} |
DestroyAll(); |
+ client_->SetBeginFrameSource(SurfaceId(), nullptr); |
} |
void SurfaceFactory::DestroyAll() { |
@@ -48,6 +50,11 @@ void SurfaceFactory::Destroy(SurfaceId surface_id) { |
manager_->Destroy(surface_map_.take_and_erase(it)); |
} |
+void SurfaceFactory::SetBeginFrameSource(SurfaceId surface_id, |
+ BeginFrameSource* begin_frame_source) { |
+ client_->SetBeginFrameSource(surface_id, begin_frame_source); |
+} |
+ |
void SurfaceFactory::SubmitCompositorFrame(SurfaceId surface_id, |
scoped_ptr<CompositorFrame> frame, |
const DrawCallback& callback) { |