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

Side by Side Diff: cc/thread_proxy.h

Issue 11189043: cc: Rename cc classes and members to match filenames (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 2 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 CCThreadProxy_h 5 #ifndef CCThreadProxy_h
6 #define CCThreadProxy_h 6 #define CCThreadProxy_h
7 7
8 #include "CCAnimationEvents.h" 8 #include "CCAnimationEvents.h"
9 #include "CCCompletionEvent.h" 9 #include "CCCompletionEvent.h"
10 #include "CCLayerTreeHostImpl.h" 10 #include "CCLayerTreeHostImpl.h"
11 #include "CCProxy.h" 11 #include "CCProxy.h"
12 #include "CCScheduler.h" 12 #include "CCScheduler.h"
13 #include "CCTextureUpdateController.h" 13 #include "CCTextureUpdateController.h"
14 #include <base/time.h> 14 #include <base/time.h>
15 15
16 namespace cc { 16 namespace cc {
17 17
18 class CCInputHandler; 18 class InputHandler;
19 class CCLayerTreeHost; 19 class LayerTreeHost;
20 class CCScheduler; 20 class Scheduler;
21 class CCScopedThreadProxy; 21 class ScopedThreadProxy;
22 class CCTextureUpdateQueue; 22 class TextureUpdateQueue;
23 class CCThread; 23 class Thread;
24 class CCThreadProxyContextRecreationTimer; 24 class ThreadProxyContextRecreationTimer;
25 25
26 class CCThreadProxy : public CCProxy, CCLayerTreeHostImplClient, CCSchedulerClie nt, CCTextureUpdateControllerClient { 26 class ThreadProxy : public Proxy, LayerTreeHostImplClient, SchedulerClient, Text ureUpdateControllerClient {
27 public: 27 public:
28 static scoped_ptr<CCProxy> create(CCLayerTreeHost*); 28 static scoped_ptr<Proxy> create(LayerTreeHost*);
29 29
30 virtual ~CCThreadProxy(); 30 virtual ~ThreadProxy();
31 31
32 // CCProxy implementation 32 // Proxy implementation
33 virtual bool compositeAndReadback(void *pixels, const IntRect&) OVERRIDE; 33 virtual bool compositeAndReadback(void *pixels, const IntRect&) OVERRIDE;
34 virtual void startPageScaleAnimation(const IntSize& targetPosition, bool use Anchor, float scale, double duration) OVERRIDE; 34 virtual void startPageScaleAnimation(const IntSize& targetPosition, bool use Anchor, float scale, double duration) OVERRIDE;
35 virtual void finishAllRendering() OVERRIDE; 35 virtual void finishAllRendering() OVERRIDE;
36 virtual bool isStarted() const OVERRIDE; 36 virtual bool isStarted() const OVERRIDE;
37 virtual bool initializeContext() OVERRIDE; 37 virtual bool initializeContext() OVERRIDE;
38 virtual void setSurfaceReady() OVERRIDE; 38 virtual void setSurfaceReady() OVERRIDE;
39 virtual void setVisible(bool) OVERRIDE; 39 virtual void setVisible(bool) OVERRIDE;
40 virtual bool initializeRenderer() OVERRIDE; 40 virtual bool initializeRenderer() OVERRIDE;
41 virtual bool recreateContext() OVERRIDE; 41 virtual bool recreateContext() OVERRIDE;
42 virtual void renderingStats(CCRenderingStats*) OVERRIDE; 42 virtual void renderingStats(RenderingStats*) OVERRIDE;
43 virtual const RendererCapabilities& rendererCapabilities() const OVERRIDE; 43 virtual const RendererCapabilities& rendererCapabilities() const OVERRIDE;
44 virtual void loseContext() OVERRIDE; 44 virtual void loseContext() OVERRIDE;
45 virtual void setNeedsAnimate() OVERRIDE; 45 virtual void setNeedsAnimate() OVERRIDE;
46 virtual void setNeedsCommit() OVERRIDE; 46 virtual void setNeedsCommit() OVERRIDE;
47 virtual void setNeedsRedraw() OVERRIDE; 47 virtual void setNeedsRedraw() OVERRIDE;
48 virtual bool commitRequested() const OVERRIDE; 48 virtual bool commitRequested() const OVERRIDE;
49 virtual void didAddAnimation() OVERRIDE { } 49 virtual void didAddAnimation() OVERRIDE { }
50 virtual void start() OVERRIDE; 50 virtual void start() OVERRIDE;
51 virtual void stop() OVERRIDE; 51 virtual void stop() OVERRIDE;
52 virtual size_t maxPartialTextureUpdates() const OVERRIDE; 52 virtual size_t maxPartialTextureUpdates() const OVERRIDE;
53 virtual void acquireLayerTextures() OVERRIDE; 53 virtual void acquireLayerTextures() OVERRIDE;
54 virtual void forceSerializeOnSwapBuffers() OVERRIDE; 54 virtual void forceSerializeOnSwapBuffers() OVERRIDE;
55 55
56 // CCLayerTreeHostImplClient implementation 56 // LayerTreeHostImplClient implementation
57 virtual void didLoseContextOnImplThread() OVERRIDE; 57 virtual void didLoseContextOnImplThread() OVERRIDE;
58 virtual void onSwapBuffersCompleteOnImplThread() OVERRIDE; 58 virtual void onSwapBuffersCompleteOnImplThread() OVERRIDE;
59 virtual void onVSyncParametersChanged(double monotonicTimebase, double inter valInSeconds) OVERRIDE; 59 virtual void onVSyncParametersChanged(double monotonicTimebase, double inter valInSeconds) OVERRIDE;
60 virtual void onCanDrawStateChanged(bool canDraw) OVERRIDE; 60 virtual void onCanDrawStateChanged(bool canDraw) OVERRIDE;
61 virtual void setNeedsRedrawOnImplThread() OVERRIDE; 61 virtual void setNeedsRedrawOnImplThread() OVERRIDE;
62 virtual void setNeedsCommitOnImplThread() OVERRIDE; 62 virtual void setNeedsCommitOnImplThread() OVERRIDE;
63 virtual void postAnimationEventsToMainThreadOnImplThread(scoped_ptr<CCAnimat ionEventsVector>, double wallClockTime) OVERRIDE; 63 virtual void postAnimationEventsToMainThreadOnImplThread(scoped_ptr<Animatio nEventsVector>, double wallClockTime) OVERRIDE;
64 virtual bool reduceContentsTextureMemoryOnImplThread(size_t limitBytes) OVER RIDE; 64 virtual bool reduceContentsTextureMemoryOnImplThread(size_t limitBytes) OVER RIDE;
65 65
66 // CCSchedulerClient implementation 66 // SchedulerClient implementation
67 virtual void scheduledActionBeginFrame() OVERRIDE; 67 virtual void scheduledActionBeginFrame() OVERRIDE;
68 virtual CCScheduledActionDrawAndSwapResult scheduledActionDrawAndSwapIfPossi ble() OVERRIDE; 68 virtual ScheduledActionDrawAndSwapResult scheduledActionDrawAndSwapIfPossibl e() OVERRIDE;
69 virtual CCScheduledActionDrawAndSwapResult scheduledActionDrawAndSwapForced( ) OVERRIDE; 69 virtual ScheduledActionDrawAndSwapResult scheduledActionDrawAndSwapForced() OVERRIDE;
70 virtual void scheduledActionCommit() OVERRIDE; 70 virtual void scheduledActionCommit() OVERRIDE;
71 virtual void scheduledActionBeginContextRecreation() OVERRIDE; 71 virtual void scheduledActionBeginContextRecreation() OVERRIDE;
72 virtual void scheduledActionAcquireLayerTexturesForMainThread() OVERRIDE; 72 virtual void scheduledActionAcquireLayerTexturesForMainThread() OVERRIDE;
73 virtual void didAnticipatedDrawTimeChange(base::TimeTicks) OVERRIDE; 73 virtual void didAnticipatedDrawTimeChange(base::TimeTicks) OVERRIDE;
74 74
75 // CCTextureUpdateControllerClient implementation 75 // TextureUpdateControllerClient implementation
76 virtual void readyToFinalizeTextureUpdates() OVERRIDE; 76 virtual void readyToFinalizeTextureUpdates() OVERRIDE;
77 77
78 private: 78 private:
79 explicit CCThreadProxy(CCLayerTreeHost*); 79 explicit ThreadProxy(LayerTreeHost*);
80 friend class CCThreadProxyContextRecreationTimer; 80 friend class ThreadProxyContextRecreationTimer;
81 81
82 // Set on impl thread, read on main thread. 82 // Set on impl thread, read on main thread.
83 struct BeginFrameAndCommitState { 83 struct BeginFrameAndCommitState {
84 BeginFrameAndCommitState(); 84 BeginFrameAndCommitState();
85 ~BeginFrameAndCommitState(); 85 ~BeginFrameAndCommitState();
86 86
87 double monotonicFrameBeginTime; 87 double monotonicFrameBeginTime;
88 scoped_ptr<CCScrollAndScaleSet> scrollInfo; 88 scoped_ptr<ScrollAndScaleSet> scrollInfo;
89 WebKit::WebTransformationMatrix implTransform; 89 WebKit::WebTransformationMatrix implTransform;
90 CCPrioritizedTextureManager::BackingList evictedContentsTexturesBackings ; 90 PrioritizedTextureManager::BackingList evictedContentsTexturesBackings;
91 size_t memoryAllocationLimitBytes; 91 size_t memoryAllocationLimitBytes;
92 }; 92 };
93 scoped_ptr<BeginFrameAndCommitState> m_pendingBeginFrameRequest; 93 scoped_ptr<BeginFrameAndCommitState> m_pendingBeginFrameRequest;
94 94
95 // Called on main thread 95 // Called on main thread
96 void beginFrame(); 96 void beginFrame();
97 void didCommitAndDrawFrame(); 97 void didCommitAndDrawFrame();
98 void didCompleteSwapBuffers(); 98 void didCompleteSwapBuffers();
99 void setAnimationEvents(CCAnimationEventsVector*, double wallClockTime); 99 void setAnimationEvents(AnimationEventsVector*, double wallClockTime);
100 void beginContextRecreation(); 100 void beginContextRecreation();
101 void tryToRecreateContext(); 101 void tryToRecreateContext();
102 102
103 // Called on impl thread 103 // Called on impl thread
104 struct ReadbackRequest { 104 struct ReadbackRequest {
105 CCCompletionEvent completion; 105 CompletionEvent completion;
106 bool success; 106 bool success;
107 void* pixels; 107 void* pixels;
108 IntRect rect; 108 IntRect rect;
109 }; 109 };
110 void forceBeginFrameOnImplThread(CCCompletionEvent*); 110 void forceBeginFrameOnImplThread(CompletionEvent*);
111 void beginFrameCompleteOnImplThread(CCCompletionEvent*, CCTextureUpdateQueue *); 111 void beginFrameCompleteOnImplThread(CompletionEvent*, TextureUpdateQueue*);
112 void beginFrameAbortedOnImplThread(); 112 void beginFrameAbortedOnImplThread();
113 void requestReadbackOnImplThread(ReadbackRequest*); 113 void requestReadbackOnImplThread(ReadbackRequest*);
114 void requestStartPageScaleAnimationOnImplThread(IntSize targetPosition, bool useAnchor, float scale, double durationSec); 114 void requestStartPageScaleAnimationOnImplThread(IntSize targetPosition, bool useAnchor, float scale, double durationSec);
115 void finishAllRenderingOnImplThread(CCCompletionEvent*); 115 void finishAllRenderingOnImplThread(CompletionEvent*);
116 void initializeImplOnImplThread(CCCompletionEvent*, CCInputHandler*); 116 void initializeImplOnImplThread(CompletionEvent*, InputHandler*);
117 void setSurfaceReadyOnImplThread(); 117 void setSurfaceReadyOnImplThread();
118 void setVisibleOnImplThread(CCCompletionEvent*, bool); 118 void setVisibleOnImplThread(CompletionEvent*, bool);
119 void initializeContextOnImplThread(CCGraphicsContext*); 119 void initializeContextOnImplThread(GraphicsContext*);
120 void initializeRendererOnImplThread(CCCompletionEvent*, bool* initializeSucc eeded, RendererCapabilities*); 120 void initializeRendererOnImplThread(CompletionEvent*, bool* initializeSuccee ded, RendererCapabilities*);
121 void layerTreeHostClosedOnImplThread(CCCompletionEvent*); 121 void layerTreeHostClosedOnImplThread(CompletionEvent*);
122 void setFullRootLayerDamageOnImplThread(); 122 void setFullRootLayerDamageOnImplThread();
123 void acquireLayerTexturesForMainThreadOnImplThread(CCCompletionEvent*); 123 void acquireLayerTexturesForMainThreadOnImplThread(CompletionEvent*);
124 void recreateContextOnImplThread(CCCompletionEvent*, CCGraphicsContext*, boo l* recreateSucceeded, RendererCapabilities*); 124 void recreateContextOnImplThread(CompletionEvent*, GraphicsContext*, bool* r ecreateSucceeded, RendererCapabilities*);
125 void renderingStatsOnImplThread(CCCompletionEvent*, CCRenderingStats*); 125 void renderingStatsOnImplThread(CompletionEvent*, RenderingStats*);
126 CCScheduledActionDrawAndSwapResult scheduledActionDrawAndSwapInternal(bool f orcedDraw); 126 ScheduledActionDrawAndSwapResult scheduledActionDrawAndSwapInternal(bool for cedDraw);
127 void forceSerializeOnSwapBuffersOnImplThread(CCCompletionEvent*); 127 void forceSerializeOnSwapBuffersOnImplThread(CompletionEvent*);
128 void setNeedsForcedCommitOnImplThread(); 128 void setNeedsForcedCommitOnImplThread();
129 129
130 // Accessed on main thread only. 130 // Accessed on main thread only.
131 bool m_animateRequested; // Set only when setNeedsAnimate is called. 131 bool m_animateRequested; // Set only when setNeedsAnimate is called.
132 bool m_commitRequested; // Set only when setNeedsCommit is called. 132 bool m_commitRequested; // Set only when setNeedsCommit is called.
133 bool m_commitRequestSentToImplThread; // Set by setNeedsCommit and setNeedsA nimate. 133 bool m_commitRequestSentToImplThread; // Set by setNeedsCommit and setNeedsA nimate.
134 bool m_forcedCommitRequested; 134 bool m_forcedCommitRequested;
135 scoped_ptr<CCThreadProxyContextRecreationTimer> m_contextRecreationTimer; 135 scoped_ptr<ThreadProxyContextRecreationTimer> m_contextRecreationTimer;
136 CCLayerTreeHost* m_layerTreeHost; 136 LayerTreeHost* m_layerTreeHost;
137 bool m_rendererInitialized; 137 bool m_rendererInitialized;
138 RendererCapabilities m_RendererCapabilitiesMainThreadCopy; 138 RendererCapabilities m_RendererCapabilitiesMainThreadCopy;
139 bool m_started; 139 bool m_started;
140 bool m_texturesAcquired; 140 bool m_texturesAcquired;
141 bool m_inCompositeAndReadback; 141 bool m_inCompositeAndReadback;
142 142
143 scoped_ptr<CCLayerTreeHostImpl> m_layerTreeHostImpl; 143 scoped_ptr<LayerTreeHostImpl> m_layerTreeHostImpl;
144 144
145 scoped_ptr<CCInputHandler> m_inputHandlerOnImplThread; 145 scoped_ptr<InputHandler> m_inputHandlerOnImplThread;
146 146
147 scoped_ptr<CCScheduler> m_schedulerOnImplThread; 147 scoped_ptr<Scheduler> m_schedulerOnImplThread;
148 148
149 RefPtr<CCScopedThreadProxy> m_mainThreadProxy; 149 RefPtr<ScopedThreadProxy> m_mainThreadProxy;
150 150
151 // Holds on to the context we might use for compositing in between initializ eContext() 151 // Holds on to the context we might use for compositing in between initializ eContext()
152 // and initializeRenderer() calls. 152 // and initializeRenderer() calls.
153 scoped_ptr<CCGraphicsContext> m_contextBeforeInitializationOnImplThread; 153 scoped_ptr<GraphicsContext> m_contextBeforeInitializationOnImplThread;
154 154
155 // Set when the main thread is waiting on a scheduledActionBeginFrame to be issued. 155 // Set when the main thread is waiting on a scheduledActionBeginFrame to be issued.
156 CCCompletionEvent* m_beginFrameCompletionEventOnImplThread; 156 CompletionEvent* m_beginFrameCompletionEventOnImplThread;
157 157
158 // Set when the main thread is waiting on a readback. 158 // Set when the main thread is waiting on a readback.
159 ReadbackRequest* m_readbackRequestOnImplThread; 159 ReadbackRequest* m_readbackRequestOnImplThread;
160 160
161 // Set when the main thread is waiting on a commit to complete. 161 // Set when the main thread is waiting on a commit to complete.
162 CCCompletionEvent* m_commitCompletionEventOnImplThread; 162 CompletionEvent* m_commitCompletionEventOnImplThread;
163 163
164 // Set when the main thread is waiting on layers to be drawn. 164 // Set when the main thread is waiting on layers to be drawn.
165 CCCompletionEvent* m_textureAcquisitionCompletionEventOnImplThread; 165 CompletionEvent* m_textureAcquisitionCompletionEventOnImplThread;
166 166
167 scoped_ptr<CCTextureUpdateController> m_currentTextureUpdateControllerOnImpl Thread; 167 scoped_ptr<TextureUpdateController> m_currentTextureUpdateControllerOnImplTh read;
168 168
169 // Set when the next draw should post didCommitAndDrawFrame to the main thre ad. 169 // Set when the next draw should post didCommitAndDrawFrame to the main thre ad.
170 bool m_nextFrameIsNewlyCommittedFrameOnImplThread; 170 bool m_nextFrameIsNewlyCommittedFrameOnImplThread;
171 171
172 bool m_renderVSyncEnabled; 172 bool m_renderVSyncEnabled;
173 173
174 base::TimeDelta m_totalCommitTime; 174 base::TimeDelta m_totalCommitTime;
175 size_t m_totalCommitCount; 175 size_t m_totalCommitCount;
176 }; 176 };
177 177
178 } 178 }
179 179
180 #endif 180 #endif
OLDNEW
« cc/active_animation.h ('K') | « cc/thread.h ('k') | cc/thread_proxy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698