Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(488)

Unified Diff: cc/test/test_compositor_frame_sink.h

Issue 2724383002: TestCompositorFrameSink should use CompositorFrameSinkSupport (Closed)
Patch Set: bring back PostTask Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/test/test_compositor_frame_sink.h
diff --git a/cc/test/test_compositor_frame_sink.h b/cc/test/test_compositor_frame_sink.h
index 34d8920f88222cf289016d1fe9905a480d42d190..32843804c1d944294615831ed3737ce0c428278b 100644
--- a/cc/test/test_compositor_frame_sink.h
+++ b/cc/test/test_compositor_frame_sink.h
@@ -10,11 +10,10 @@
#include "cc/output/compositor_frame_sink.h"
#include "cc/output/renderer_settings.h"
#include "cc/scheduler/begin_frame_source.h"
+#include "cc/surfaces/compositor_frame_sink_support_client.h"
#include "cc/surfaces/display.h"
#include "cc/surfaces/display_client.h"
#include "cc/surfaces/local_surface_id_allocator.h"
-#include "cc/surfaces/surface_factory.h"
-#include "cc/surfaces/surface_factory_client.h"
#include "cc/surfaces/surface_manager.h"
namespace base {
@@ -22,6 +21,7 @@ class SingleThreadTaskRunner;
}
namespace cc {
+class CompositorFrameSinkSupport;
class CopyOutputRequest;
class OutputSurface;
@@ -42,8 +42,9 @@ class TestCompositorFrameSinkClient {
// CompositorFrameSink that owns and forwards frames to a Display.
class TestCompositorFrameSink : public CompositorFrameSink,
- public SurfaceFactoryClient,
- public DisplayClient {
+ public CompositorFrameSinkSupportClient,
+ public DisplayClient,
+ public ExternalBeginFrameSourceClient {
public:
// Pass true for |force_disable_reclaim_resources| to act like the Display
// is out-of-process and can't return resources synchronously.
@@ -77,9 +78,12 @@ class TestCompositorFrameSink : public CompositorFrameSink,
void SubmitCompositorFrame(CompositorFrame frame) override;
void ForceReclaimResources() override;
- // SurfaceFactoryClient implementation.
- void ReturnResources(const ReturnedResourceArray& resources) override;
- void SetBeginFrameSource(BeginFrameSource* begin_frame_source) override;
+ // CompositorFrameSinkSupportClient implementation.
+ void DidReceiveCompositorFrameAck() override;
+ void OnBeginFrame(const BeginFrameArgs& args) override;
+ void ReclaimResources(const ReturnedResourceArray& resources) override;
+ void WillDrawSurface(const LocalSurfaceId& local_surface_id,
+ const gfx::Rect& damage_rect) override;
// DisplayClient implementation.
void DisplayOutputSurfaceLost() override;
@@ -88,7 +92,11 @@ class TestCompositorFrameSink : public CompositorFrameSink,
void DisplayDidDrawAndSwap() override;
private:
- void DidDrawCallback();
+ // ExternalBeginFrameSource implementation.
+ void OnNeedsBeginFrames(bool needs_begin_frames) override;
+ void OnDidFinishFrame(const BeginFrameAck& ack) override;
+
+ void SendCompositorFrameAckToClient();
const bool synchronous_composite_;
const RendererSettings renderer_settings_;
@@ -103,14 +111,14 @@ class TestCompositorFrameSink : public CompositorFrameSink,
LocalSurfaceId delegated_local_surface_id_;
// Uses surface_manager_.
- std::unique_ptr<SurfaceFactory> surface_factory_;
+ std::unique_ptr<CompositorFrameSinkSupport> support_;
std::unique_ptr<SyntheticBeginFrameSource> begin_frame_source_;
+ ExternalBeginFrameSource external_begin_frame_source_;
// Uses surface_manager_ and begin_frame_source_.
std::unique_ptr<Display> display_;
- bool bound_ = false;
TestCompositorFrameSinkClient* test_client_ = nullptr;
gfx::Size enlarge_pass_texture_amount_;

Powered by Google App Engine
This is Rietveld 408576698