OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CONTENT_RENDERER_GPU_COMPOSITOR_EXTERNAL_BEGIN_FRAME_SOURCE_H_ | 5 #ifndef CONTENT_RENDERER_GPU_COMPOSITOR_EXTERNAL_BEGIN_FRAME_SOURCE_H_ |
6 #define CONTENT_RENDERER_GPU_COMPOSITOR_EXTERNAL_BEGIN_FRAME_SOURCE_H_ | 6 #define CONTENT_RENDERER_GPU_COMPOSITOR_EXTERNAL_BEGIN_FRAME_SOURCE_H_ |
7 | 7 |
8 #include <unordered_set> | 8 #include <unordered_set> |
9 | 9 |
10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
(...skipping 25 matching lines...) Expand all Loading... |
36 explicit CompositorExternalBeginFrameSource( | 36 explicit CompositorExternalBeginFrameSource( |
37 CompositorForwardingMessageFilter* filter, | 37 CompositorForwardingMessageFilter* filter, |
38 IPC::SyncMessageFilter* sync_message_filter, | 38 IPC::SyncMessageFilter* sync_message_filter, |
39 int routing_id); | 39 int routing_id); |
40 ~CompositorExternalBeginFrameSource() override; | 40 ~CompositorExternalBeginFrameSource() override; |
41 | 41 |
42 // cc::BeginFrameSource implementation. | 42 // cc::BeginFrameSource implementation. |
43 void AddObserver(cc::BeginFrameObserver* obs) override; | 43 void AddObserver(cc::BeginFrameObserver* obs) override; |
44 void RemoveObserver(cc::BeginFrameObserver* obs) override; | 44 void RemoveObserver(cc::BeginFrameObserver* obs) override; |
45 void DidFinishFrame(cc::BeginFrameObserver* obs, | 45 void DidFinishFrame(cc::BeginFrameObserver* obs, |
46 size_t remaining_frames) override {} | 46 const cc::BeginFrameAck& ack) override; |
47 bool IsThrottled() const override; | 47 bool IsThrottled() const override; |
48 | 48 |
49 // cc::ExternalBeginFrameSourceClient implementation. | 49 // cc::ExternalBeginFrameSourceClient implementation. |
50 void OnNeedsBeginFrames(bool need_begin_frames) override; | 50 void OnNeedsBeginFrames(bool need_begin_frames) override; |
| 51 void OnDidFinishFrame(const cc::BeginFrameAck& ack) override; |
51 | 52 |
52 private: | 53 private: |
53 class CompositorExternalBeginFrameSourceProxy | 54 class CompositorExternalBeginFrameSourceProxy |
54 : public base::RefCountedThreadSafe< | 55 : public base::RefCountedThreadSafe< |
55 CompositorExternalBeginFrameSourceProxy> { | 56 CompositorExternalBeginFrameSourceProxy> { |
56 public: | 57 public: |
57 explicit CompositorExternalBeginFrameSourceProxy( | 58 explicit CompositorExternalBeginFrameSourceProxy( |
58 CompositorExternalBeginFrameSource* begin_frame_source) | 59 CompositorExternalBeginFrameSource* begin_frame_source) |
59 : begin_frame_source_(begin_frame_source) {} | 60 : begin_frame_source_(begin_frame_source) {} |
60 void ClearBeginFrameSource() { begin_frame_source_ = NULL; } | 61 void ClearBeginFrameSource() { begin_frame_source_ = NULL; } |
(...skipping 26 matching lines...) Expand all Loading... |
87 scoped_refptr<IPC::SyncMessageFilter> message_sender_; | 88 scoped_refptr<IPC::SyncMessageFilter> message_sender_; |
88 int routing_id_; | 89 int routing_id_; |
89 CompositorForwardingMessageFilter::Handler begin_frame_source_filter_handler_; | 90 CompositorForwardingMessageFilter::Handler begin_frame_source_filter_handler_; |
90 | 91 |
91 DISALLOW_COPY_AND_ASSIGN(CompositorExternalBeginFrameSource); | 92 DISALLOW_COPY_AND_ASSIGN(CompositorExternalBeginFrameSource); |
92 }; | 93 }; |
93 | 94 |
94 } // namespace content | 95 } // namespace content |
95 | 96 |
96 #endif // CONTENT_RENDERER_GPU_COMPOSITOR_EXTERNAL_BEGIN_FRAME_SOURCE_H_ | 97 #endif // CONTENT_RENDERER_GPU_COMPOSITOR_EXTERNAL_BEGIN_FRAME_SOURCE_H_ |
OLD | NEW |