Index: cc/test/fake_external_begin_frame_source.h |
diff --git a/cc/test/fake_external_begin_frame_source.h b/cc/test/fake_external_begin_frame_source.h |
index 1653decf8cc86465af54b7859f06d9a28e74bff7..5839024d3a358681853640bd087eda609a9522db 100644 |
--- a/cc/test/fake_external_begin_frame_source.h |
+++ b/cc/test/fake_external_begin_frame_source.h |
@@ -5,27 +5,48 @@ |
#ifndef CC_TEST_FAKE_EXTERNAL_BEGIN_FRAME_SOURCE_H_ |
#define CC_TEST_FAKE_EXTERNAL_BEGIN_FRAME_SOURCE_H_ |
+#include <set> |
+ |
+#include "base/cancelable_callback.h" |
#include "base/memory/weak_ptr.h" |
#include "cc/scheduler/begin_frame_source.h" |
namespace cc { |
class FakeExternalBeginFrameSource |
- : public BeginFrameSourceBase, |
+ : public BeginFrameSource, |
public NON_EXPORTED_BASE(base::NonThreadSafe) { |
public: |
- explicit FakeExternalBeginFrameSource(double refresh_rate); |
+ class Client { |
+ public: |
+ virtual void OnAddObserver(BeginFrameObserver* obs) = 0; |
+ virtual void OnRemoveObserver(BeginFrameObserver* obs) = 0; |
+ }; |
+ |
+ explicit FakeExternalBeginFrameSource(double refresh_rate, |
+ bool tick_automatically); |
~FakeExternalBeginFrameSource() override; |
- // BeginFrameSourceBase overrides. |
- void OnNeedsBeginFramesChanged(bool needs_begin_frames) override; |
+ void SetClient(Client* client) { client_ = client; } |
+ void SetPaused(bool paused); |
- void TestOnBeginFrame(); |
- void PostTestOnBeginFrame(); |
+ // BeginFrameSource implementation. |
+ void AddObserver(BeginFrameObserver* obs) override; |
+ void RemoveObserver(BeginFrameObserver* obs) override; |
+ void DidFinishFrame(BeginFrameObserver* obs, |
+ size_t remaining_frames) override {} |
+ |
+ void TestOnBeginFrame(const BeginFrameArgs& args); |
private: |
- double milliseconds_per_frame_; |
- base::CancelableClosure begin_frame_task_; |
+ void PostTestOnBeginFrame(); |
+ |
+ const bool tick_automatically_; |
+ const double milliseconds_per_frame_; |
+ Client* client_ = nullptr; |
+ bool paused_ = false; |
+ std::set<BeginFrameObserver*> observers_; |
+ base::CancelableCallback<void(const BeginFrameArgs&)> begin_frame_task_; |
base::WeakPtrFactory<FakeExternalBeginFrameSource> weak_ptr_factory_; |
}; |