OLD | NEW |
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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 CC_TREES_SINGLE_THREAD_PROXY_H_ | 5 #ifndef CC_TREES_SINGLE_THREAD_PROXY_H_ |
6 #define CC_TREES_SINGLE_THREAD_PROXY_H_ | 6 #define CC_TREES_SINGLE_THREAD_PROXY_H_ |
7 | 7 |
8 #include <limits> | 8 #include <limits> |
9 | 9 |
10 #include "base/cancelable_callback.h" | 10 #include "base/cancelable_callback.h" |
(...skipping 13 matching lines...) Expand all Loading... |
24 class LayerTreeHostSingleThreadClient; | 24 class LayerTreeHostSingleThreadClient; |
25 | 25 |
26 class CC_EXPORT SingleThreadProxy : public Proxy, | 26 class CC_EXPORT SingleThreadProxy : public Proxy, |
27 NON_EXPORTED_BASE(LayerTreeHostImplClient), | 27 NON_EXPORTED_BASE(LayerTreeHostImplClient), |
28 SchedulerClient { | 28 SchedulerClient { |
29 public: | 29 public: |
30 static scoped_ptr<Proxy> Create( | 30 static scoped_ptr<Proxy> Create( |
31 LayerTreeHost* layer_tree_host, | 31 LayerTreeHost* layer_tree_host, |
32 LayerTreeHostSingleThreadClient* client, | 32 LayerTreeHostSingleThreadClient* client, |
33 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner); | 33 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner); |
34 virtual ~SingleThreadProxy(); | 34 ~SingleThreadProxy() override; |
35 | 35 |
36 // Proxy implementation | 36 // Proxy implementation |
37 virtual void FinishAllRendering() override; | 37 void FinishAllRendering() override; |
38 virtual bool IsStarted() const override; | 38 bool IsStarted() const override; |
39 virtual void SetOutputSurface(scoped_ptr<OutputSurface>) override; | 39 void SetOutputSurface(scoped_ptr<OutputSurface>) override; |
40 virtual void SetLayerTreeHostClientReady() override; | 40 void SetLayerTreeHostClientReady() override; |
41 virtual void SetVisible(bool visible) override; | 41 void SetVisible(bool visible) override; |
42 virtual const RendererCapabilities& GetRendererCapabilities() const override; | 42 const RendererCapabilities& GetRendererCapabilities() const override; |
43 virtual void SetNeedsAnimate() override; | 43 void SetNeedsAnimate() override; |
44 virtual void SetNeedsUpdateLayers() override; | 44 void SetNeedsUpdateLayers() override; |
45 virtual void SetNeedsCommit() override; | 45 void SetNeedsCommit() override; |
46 virtual void SetNeedsRedraw(const gfx::Rect& damage_rect) override; | 46 void SetNeedsRedraw(const gfx::Rect& damage_rect) override; |
47 virtual void SetNextCommitWaitsForActivation() override; | 47 void SetNextCommitWaitsForActivation() override; |
48 virtual void NotifyInputThrottledUntilCommit() override {} | 48 void NotifyInputThrottledUntilCommit() override {} |
49 virtual void SetDeferCommits(bool defer_commits) override; | 49 void SetDeferCommits(bool defer_commits) override; |
50 virtual bool CommitRequested() const override; | 50 bool CommitRequested() const override; |
51 virtual bool BeginMainFrameRequested() const override; | 51 bool BeginMainFrameRequested() const override; |
52 virtual void MainThreadHasStoppedFlinging() override {} | 52 void MainThreadHasStoppedFlinging() override {} |
53 virtual void Start() override; | 53 void Start() override; |
54 virtual void Stop() override; | 54 void Stop() override; |
55 virtual size_t MaxPartialTextureUpdates() const override; | 55 size_t MaxPartialTextureUpdates() const override; |
56 virtual void ForceSerializeOnSwapBuffers() override; | 56 void ForceSerializeOnSwapBuffers() override; |
57 virtual bool SupportsImplScrolling() const override; | 57 bool SupportsImplScrolling() const override; |
58 virtual void AsValueInto(base::debug::TracedValue* state) const override; | 58 void AsValueInto(base::debug::TracedValue* state) const override; |
59 virtual bool MainFrameWillHappenForTesting() override; | 59 bool MainFrameWillHappenForTesting() override; |
60 | 60 |
61 // SchedulerClient implementation | 61 // SchedulerClient implementation |
62 virtual BeginFrameSource* ExternalBeginFrameSource() override; | 62 BeginFrameSource* ExternalBeginFrameSource() override; |
63 virtual void WillBeginImplFrame(const BeginFrameArgs& args) override; | 63 void WillBeginImplFrame(const BeginFrameArgs& args) override; |
64 virtual void ScheduledActionSendBeginMainFrame() override; | 64 void ScheduledActionSendBeginMainFrame() override; |
65 virtual DrawResult ScheduledActionDrawAndSwapIfPossible() override; | 65 DrawResult ScheduledActionDrawAndSwapIfPossible() override; |
66 virtual DrawResult ScheduledActionDrawAndSwapForced() override; | 66 DrawResult ScheduledActionDrawAndSwapForced() override; |
67 virtual void ScheduledActionCommit() override; | 67 void ScheduledActionCommit() override; |
68 virtual void ScheduledActionAnimate() override; | 68 void ScheduledActionAnimate() override; |
69 virtual void ScheduledActionUpdateVisibleTiles() override; | 69 void ScheduledActionUpdateVisibleTiles() override; |
70 virtual void ScheduledActionActivateSyncTree() override; | 70 void ScheduledActionActivateSyncTree() override; |
71 virtual void ScheduledActionBeginOutputSurfaceCreation() override; | 71 void ScheduledActionBeginOutputSurfaceCreation() override; |
72 virtual void ScheduledActionManageTiles() override; | 72 void ScheduledActionManageTiles() override; |
73 virtual void DidAnticipatedDrawTimeChange(base::TimeTicks time) override; | 73 void DidAnticipatedDrawTimeChange(base::TimeTicks time) override; |
74 virtual base::TimeDelta DrawDurationEstimate() override; | 74 base::TimeDelta DrawDurationEstimate() override; |
75 virtual base::TimeDelta BeginMainFrameToCommitDurationEstimate() override; | 75 base::TimeDelta BeginMainFrameToCommitDurationEstimate() override; |
76 virtual base::TimeDelta CommitToActivateDurationEstimate() override; | 76 base::TimeDelta CommitToActivateDurationEstimate() override; |
77 virtual void DidBeginImplFrameDeadline() override; | 77 void DidBeginImplFrameDeadline() override; |
78 | 78 |
79 // LayerTreeHostImplClient implementation | 79 // LayerTreeHostImplClient implementation |
80 virtual void UpdateRendererCapabilitiesOnImplThread() override; | 80 void UpdateRendererCapabilitiesOnImplThread() override; |
81 virtual void DidLoseOutputSurfaceOnImplThread() override; | 81 void DidLoseOutputSurfaceOnImplThread() override; |
82 virtual void CommitVSyncParameters(base::TimeTicks timebase, | 82 void CommitVSyncParameters(base::TimeTicks timebase, |
83 base::TimeDelta interval) override {} | 83 base::TimeDelta interval) override {} |
84 virtual void SetEstimatedParentDrawTime(base::TimeDelta draw_time) override {} | 84 void SetEstimatedParentDrawTime(base::TimeDelta draw_time) override {} |
85 virtual void SetMaxSwapsPendingOnImplThread(int max) override {} | 85 void SetMaxSwapsPendingOnImplThread(int max) override {} |
86 virtual void DidSwapBuffersOnImplThread() override; | 86 void DidSwapBuffersOnImplThread() override; |
87 virtual void DidSwapBuffersCompleteOnImplThread() override; | 87 void DidSwapBuffersCompleteOnImplThread() override; |
88 virtual void OnCanDrawStateChanged(bool can_draw) override; | 88 void OnCanDrawStateChanged(bool can_draw) override; |
89 virtual void NotifyReadyToActivate() override; | 89 void NotifyReadyToActivate() override; |
90 virtual void SetNeedsRedrawOnImplThread() override; | 90 void SetNeedsRedrawOnImplThread() override; |
91 virtual void SetNeedsRedrawRectOnImplThread( | 91 void SetNeedsRedrawRectOnImplThread(const gfx::Rect& dirty_rect) override; |
92 const gfx::Rect& dirty_rect) override; | 92 void SetNeedsAnimateOnImplThread() override; |
93 virtual void SetNeedsAnimateOnImplThread() override; | 93 void SetNeedsManageTilesOnImplThread() override; |
94 virtual void SetNeedsManageTilesOnImplThread() override; | 94 void DidInitializeVisibleTileOnImplThread() override; |
95 virtual void DidInitializeVisibleTileOnImplThread() override; | 95 void SetNeedsCommitOnImplThread() override; |
96 virtual void SetNeedsCommitOnImplThread() override; | 96 void PostAnimationEventsToMainThreadOnImplThread( |
97 virtual void PostAnimationEventsToMainThreadOnImplThread( | |
98 scoped_ptr<AnimationEventsVector> events) override; | 97 scoped_ptr<AnimationEventsVector> events) override; |
99 virtual bool ReduceContentsTextureMemoryOnImplThread( | 98 bool ReduceContentsTextureMemoryOnImplThread(size_t limit_bytes, |
100 size_t limit_bytes, | 99 int priority_cutoff) override; |
101 int priority_cutoff) override; | 100 bool IsInsideDraw() override; |
102 virtual bool IsInsideDraw() override; | 101 void RenewTreePriority() override {} |
103 virtual void RenewTreePriority() override {} | 102 void PostDelayedScrollbarFadeOnImplThread(const base::Closure& start_fade, |
104 virtual void PostDelayedScrollbarFadeOnImplThread( | 103 base::TimeDelta delay) override {} |
105 const base::Closure& start_fade, | 104 void DidActivateSyncTree() override; |
106 base::TimeDelta delay) override {} | 105 void DidManageTiles() override; |
107 virtual void DidActivateSyncTree() override; | 106 void SetDebugState(const LayerTreeDebugState& debug_state) override {} |
108 virtual void DidManageTiles() override; | |
109 virtual void SetDebugState(const LayerTreeDebugState& debug_state) override {} | |
110 | 107 |
111 void RequestNewOutputSurface(); | 108 void RequestNewOutputSurface(); |
112 | 109 |
113 // Called by the legacy path where RenderWidget does the scheduling. | 110 // Called by the legacy path where RenderWidget does the scheduling. |
114 void CompositeImmediately(base::TimeTicks frame_begin_time); | 111 void CompositeImmediately(base::TimeTicks frame_begin_time); |
115 | 112 |
116 private: | 113 private: |
117 SingleThreadProxy( | 114 SingleThreadProxy( |
118 LayerTreeHost* layer_tree_host, | 115 LayerTreeHost* layer_tree_host, |
119 LayerTreeHostSingleThreadClient* client, | 116 LayerTreeHostSingleThreadClient* client, |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 private: | 221 private: |
225 DebugScopedSetImplThread impl_thread_; | 222 DebugScopedSetImplThread impl_thread_; |
226 DebugScopedSetMainThreadBlocked main_thread_blocked_; | 223 DebugScopedSetMainThreadBlocked main_thread_blocked_; |
227 | 224 |
228 DISALLOW_COPY_AND_ASSIGN(DebugScopedSetImplThreadAndMainThreadBlocked); | 225 DISALLOW_COPY_AND_ASSIGN(DebugScopedSetImplThreadAndMainThreadBlocked); |
229 }; | 226 }; |
230 | 227 |
231 } // namespace cc | 228 } // namespace cc |
232 | 229 |
233 #endif // CC_TREES_SINGLE_THREAD_PROXY_H_ | 230 #endif // CC_TREES_SINGLE_THREAD_PROXY_H_ |
OLD | NEW |