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

Side by Side Diff: cc/CCSingleThreadProxy.h

Issue 11122003: [cc] Rename all cc/ filenames to Chromium style (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
« no previous file with comments | « cc/CCSharedQuadState.cpp ('k') | cc/CCSingleThreadProxy.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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 CCSingleThreadProxy_h 5 // Temporary forwarding header
6 #define CCSingleThreadProxy_h 6 #include "cc/single_thread_proxy.h"
7
8 #include "CCAnimationEvents.h"
9 #include "CCLayerTreeHostImpl.h"
10 #include "CCProxy.h"
11 #include <base/time.h>
12 #include <limits>
13
14 namespace cc {
15
16 class CCLayerTreeHost;
17
18 class CCSingleThreadProxy : public CCProxy, CCLayerTreeHostImplClient {
19 public:
20 static scoped_ptr<CCProxy> create(CCLayerTreeHost*);
21 virtual ~CCSingleThreadProxy();
22
23 // CCProxy implementation
24 virtual bool compositeAndReadback(void *pixels, const IntRect&) OVERRIDE;
25 virtual void startPageScaleAnimation(const IntSize& targetPosition, bool use Anchor, float scale, double duration) OVERRIDE;
26 virtual void finishAllRendering() OVERRIDE;
27 virtual bool isStarted() const OVERRIDE;
28 virtual bool initializeContext() OVERRIDE;
29 virtual void setSurfaceReady() OVERRIDE;
30 virtual void setVisible(bool) OVERRIDE;
31 virtual bool initializeRenderer() OVERRIDE;
32 virtual bool recreateContext() OVERRIDE;
33 virtual void renderingStats(CCRenderingStats*) OVERRIDE;
34 virtual const RendererCapabilities& rendererCapabilities() const OVERRIDE;
35 virtual void loseContext() OVERRIDE;
36 virtual void setNeedsAnimate() OVERRIDE;
37 virtual void setNeedsCommit() OVERRIDE;
38 virtual void setNeedsRedraw() OVERRIDE;
39 virtual bool commitRequested() const OVERRIDE;
40 virtual void didAddAnimation() OVERRIDE;
41 virtual void start() OVERRIDE;
42 virtual void stop() OVERRIDE;
43 virtual size_t maxPartialTextureUpdates() const OVERRIDE;
44 virtual void acquireLayerTextures() OVERRIDE { }
45 virtual void forceSerializeOnSwapBuffers() OVERRIDE;
46
47 // CCLayerTreeHostImplClient implementation
48 virtual void didLoseContextOnImplThread() OVERRIDE { }
49 virtual void onSwapBuffersCompleteOnImplThread() OVERRIDE;
50 virtual void onVSyncParametersChanged(double monotonicTimebase, double inter valInSeconds) OVERRIDE { }
51 virtual void onCanDrawStateChanged(bool canDraw) OVERRIDE { }
52 virtual void setNeedsRedrawOnImplThread() OVERRIDE;
53 virtual void setNeedsCommitOnImplThread() OVERRIDE;
54 virtual void postAnimationEventsToMainThreadOnImplThread(scoped_ptr<CCAnimat ionEventsVector>, double wallClockTime) OVERRIDE;
55 virtual void releaseContentsTexturesOnImplThread() OVERRIDE;
56
57 // Called by the legacy path where RenderWidget does the scheduling.
58 void compositeImmediately();
59
60 private:
61 explicit CCSingleThreadProxy(CCLayerTreeHost*);
62
63 bool commitAndComposite();
64 void doCommit(PassOwnPtr<CCTextureUpdateQueue>);
65 bool doComposite();
66 void didSwapFrame();
67
68 // Accessed on main thread only.
69 CCLayerTreeHost* m_layerTreeHost;
70 bool m_contextLost;
71
72 // Holds on to the context between initializeContext() and initializeRendere r() calls. Shouldn't
73 // be used for anything else.
74 scoped_ptr<CCGraphicsContext> m_contextBeforeInitialization;
75
76 // Used on the CCThread, but checked on main thread during initialization/sh utdown.
77 scoped_ptr<CCLayerTreeHostImpl> m_layerTreeHostImpl;
78 bool m_rendererInitialized;
79 RendererCapabilities m_RendererCapabilitiesForMainThread;
80
81 bool m_nextFrameIsNewlyCommittedFrame;
82
83 base::TimeDelta m_totalCommitTime;
84 size_t m_totalCommitCount;
85 };
86
87 // For use in the single-threaded case. In debug builds, it pretends that the
88 // code is running on the impl thread to satisfy assertion checks.
89 class DebugScopedSetImplThread {
90 public:
91 DebugScopedSetImplThread()
92 {
93 #if !ASSERT_DISABLED
94 CCProxy::setCurrentThreadIsImplThread(true);
95 #endif
96 }
97 ~DebugScopedSetImplThread()
98 {
99 #if !ASSERT_DISABLED
100 CCProxy::setCurrentThreadIsImplThread(false);
101 #endif
102 }
103 };
104
105 // For use in the single-threaded case. In debug builds, it pretends that the
106 // code is running on the main thread to satisfy assertion checks.
107 class DebugScopedSetMainThread {
108 public:
109 DebugScopedSetMainThread()
110 {
111 #if !ASSERT_DISABLED
112 CCProxy::setCurrentThreadIsImplThread(false);
113 #endif
114 }
115 ~DebugScopedSetMainThread()
116 {
117 #if !ASSERT_DISABLED
118 CCProxy::setCurrentThreadIsImplThread(true);
119 #endif
120 }
121 };
122
123 // For use in the single-threaded case. In debug builds, it pretends that the
124 // code is running on the impl thread and that the main thread is blocked to
125 // satisfy assertion checks
126 class DebugScopedSetImplThreadAndMainThreadBlocked {
127 private:
128 DebugScopedSetImplThread m_implThread;
129 DebugScopedSetMainThreadBlocked m_mainThreadBlocked;
130 };
131
132 } // namespace cc
133
134 #endif
OLDNEW
« no previous file with comments | « cc/CCSharedQuadState.cpp ('k') | cc/CCSingleThreadProxy.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698