Index: cc/test/pixel_test_output_surface.cc |
diff --git a/cc/test/pixel_test_output_surface.cc b/cc/test/pixel_test_output_surface.cc |
index 883f809a8bdb3ea3a5092cb87f980264271534c9..9250ee44cc1bb9b5c026fd13c80d79a1ba8bcee5 100644 |
--- a/cc/test/pixel_test_output_surface.cc |
+++ b/cc/test/pixel_test_output_surface.cc |
@@ -5,6 +5,7 @@ |
#include "cc/test/pixel_test_output_surface.h" |
#include "cc/output/output_surface_client.h" |
+#include "cc/scheduler/begin_frame_source.h" |
#include "ui/gfx/transform.h" |
namespace cc { |
@@ -12,8 +13,10 @@ namespace cc { |
PixelTestOutputSurface::PixelTestOutputSurface( |
scoped_refptr<ContextProvider> context_provider, |
scoped_refptr<ContextProvider> worker_context_provider, |
- bool flipped_output_surface) |
+ bool flipped_output_surface, |
+ std::unique_ptr<BeginFrameSource> begin_frame_source) |
: OutputSurface(context_provider, worker_context_provider), |
+ begin_frame_source_(std::move(begin_frame_source)), |
external_stencil_test_(false) { |
capabilities_.adjust_deadline_for_parent = false; |
capabilities_.flipped_output_surface = flipped_output_surface; |
@@ -21,17 +24,33 @@ PixelTestOutputSurface::PixelTestOutputSurface( |
PixelTestOutputSurface::PixelTestOutputSurface( |
scoped_refptr<ContextProvider> context_provider, |
- bool flipped_output_surface) |
+ bool flipped_output_surface, |
+ std::unique_ptr<BeginFrameSource> begin_frame_source) |
: PixelTestOutputSurface(context_provider, |
nullptr, |
- flipped_output_surface) { |
-} |
+ flipped_output_surface, |
+ std::move(begin_frame_source)) {} |
PixelTestOutputSurface::PixelTestOutputSurface( |
- std::unique_ptr<SoftwareOutputDevice> software_device) |
+ std::unique_ptr<SoftwareOutputDevice> software_device, |
+ std::unique_ptr<BeginFrameSource> begin_frame_source) |
: OutputSurface(std::move(software_device)), |
+ begin_frame_source_(std::move(begin_frame_source)), |
external_stencil_test_(false) {} |
+PixelTestOutputSurface::~PixelTestOutputSurface() {} |
+ |
+bool PixelTestOutputSurface::BindToClient(OutputSurfaceClient* client) { |
+ if (!OutputSurface::BindToClient(client)) |
+ return false; |
+ |
+ // TODO(enne): Once the renderer uses begin frame sources, this will |
+ // always be valid. |
+ if (begin_frame_source_) |
+ client->SetBeginFrameSource(begin_frame_source_.get()); |
+ return true; |
+} |
+ |
void PixelTestOutputSurface::Reshape(const gfx::Size& size, |
float scale_factor, |
bool has_alpha) { |