MediaCodecPlayer implementation - stage 6 (respect audio permission)
[chromium-blink-merge.git] / cc / test / fake_external_begin_frame_source.h
blob31e1f452e881b7cb4bf359e1f0b527607e980fce
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CC_TEST_FAKE_EXTERNAL_BEGIN_FRAME_SOURCE_H_
6 #define CC_TEST_FAKE_EXTERNAL_BEGIN_FRAME_SOURCE_H_
8 #include "base/memory/weak_ptr.h"
9 #include "cc/scheduler/begin_frame_source.h"
11 namespace cc {
13 class FakeExternalBeginFrameSource
14 : public BeginFrameSourceBase,
15 public NON_EXPORTED_BASE(base::NonThreadSafe) {
16 public:
17 explicit FakeExternalBeginFrameSource(double refresh_rate);
18 ~FakeExternalBeginFrameSource() override;
20 bool is_ready() const { return is_ready_; }
22 // BeginFrameSource implementation.
23 void SetClientReady() override;
25 // BeginFrameSourceBase overrides.
26 void OnNeedsBeginFramesChange(bool needs_begin_frames) override;
28 void TestOnBeginFrame();
29 void PostTestOnBeginFrame();
31 private:
32 double milliseconds_per_frame_;
33 bool is_ready_;
34 base::WeakPtrFactory<FakeExternalBeginFrameSource> weak_ptr_factory_;
37 } // namespace cc
39 #endif // CC_TEST_FAKE_EXTERNAL_BEGIN_FRAME_SOURCE_H_