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

Side by Side Diff: cc/layer_tree_host.h

Issue 11783037: Not for review: Enable accelerated animations for orphaned layers (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Wait for layout to complete before starting orphaned animations Created 7 years, 10 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
« no previous file with comments | « cc/layer_impl.cc ('k') | cc/layer_tree_host.cc » ('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 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_LAYER_TREE_HOST_H_ 5 #ifndef CC_LAYER_TREE_HOST_H_
6 #define CC_LAYER_TREE_HOST_H_ 6 #define CC_LAYER_TREE_HOST_H_
7 7
8 #include <limits> 8 #include <limits>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 // Returns true if any LayerTreeHost is alive. 82 // Returns true if any LayerTreeHost is alive.
83 static bool anyLayerTreeHostInstanceExists(); 83 static bool anyLayerTreeHostInstanceExists();
84 84
85 static bool needsFilterContext() { return s_needsFilterContext; } 85 static bool needsFilterContext() { return s_needsFilterContext; }
86 static void setNeedsFilterContext(bool needsFilterContext) { s_needsFilterCo ntext = needsFilterContext; } 86 static void setNeedsFilterContext(bool needsFilterContext) { s_needsFilterCo ntext = needsFilterContext; }
87 bool needsSharedContext() const { return needsFilterContext() || settings(). acceleratePainting; } 87 bool needsSharedContext() const { return needsFilterContext() || settings(). acceleratePainting; }
88 88
89 // LayerTreeHost interface to Proxy. 89 // LayerTreeHost interface to Proxy.
90 void willBeginFrame() { m_client->willBeginFrame(); } 90 void willBeginFrame() { m_client->willBeginFrame(); }
91 void didBeginFrame(); 91 void didBeginFrame();
92 void updateAnimations(base::TimeTicks monotonicFrameBeginTime); 92 void updateAnimations(base::TimeTicks monotonicFrameBeginTime, base::Time wa llClockFrameBeginTime);
93 void didStopFlinging(); 93 void didStopFlinging();
94 void layout(); 94 void layout();
95 void beginCommitOnImplThread(LayerTreeHostImpl*); 95 void beginCommitOnImplThread(LayerTreeHostImpl*);
96 void finishCommitOnImplThread(LayerTreeHostImpl*); 96 void finishCommitOnImplThread(LayerTreeHostImpl*);
97 void willCommit(); 97 void willCommit();
98 void commitComplete(); 98 void commitComplete();
99 scoped_ptr<OutputSurface> createOutputSurface(); 99 scoped_ptr<OutputSurface> createOutputSurface();
100 scoped_ptr<InputHandler> createInputHandler(); 100 scoped_ptr<InputHandler> createInputHandler();
101 virtual scoped_ptr<LayerTreeHostImpl> createLayerTreeHostImpl(LayerTreeHostI mplClient*); 101 virtual scoped_ptr<LayerTreeHostImpl> createLayerTreeHostImpl(LayerTreeHostI mplClient*);
102 void didLoseOutputSurface(); 102 void didLoseOutputSurface();
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 HeadsUpDisplayLayer* hudLayer() const { return m_hudLayer.get(); } 193 HeadsUpDisplayLayer* hudLayer() const { return m_hudLayer.get(); }
194 194
195 Proxy* proxy() const { return m_proxy.get(); } 195 Proxy* proxy() const { return m_proxy.get(); }
196 196
197 AnimationRegistrar* animationRegistrar() const { return m_animationRegistrar .get(); } 197 AnimationRegistrar* animationRegistrar() const { return m_animationRegistrar .get(); }
198 198
199 skia::RefPtr<SkPicture> capturePicture(); 199 skia::RefPtr<SkPicture> capturePicture();
200 200
201 bool blocksPendingCommit() const; 201 bool blocksPendingCommit() const;
202 202
203 void didUpdateLayout();
204
203 protected: 205 protected:
204 LayerTreeHost(LayerTreeHostClient*, const LayerTreeSettings&); 206 LayerTreeHost(LayerTreeHostClient*, const LayerTreeSettings&);
205 bool initialize(scoped_ptr<Thread> implThread); 207 bool initialize(scoped_ptr<Thread> implThread);
206 bool initializeForTesting(scoped_ptr<Proxy> proxyForTesting); 208 bool initializeForTesting(scoped_ptr<Proxy> proxyForTesting);
207 209
208 private: 210 private:
209 typedef std::vector<scoped_refptr<Layer> > LayerList; 211 typedef std::vector<scoped_refptr<Layer> > LayerList;
210 212
211 bool initializeProxy(scoped_ptr<Proxy> proxy); 213 bool initializeProxy(scoped_ptr<Proxy> proxy);
212 void initializeRenderer(); 214 void initializeRenderer();
213 215
214 void update(Layer*, ResourceUpdateQueue&, const OcclusionTracker*); 216 void update(Layer*, ResourceUpdateQueue&, const OcclusionTracker*);
215 bool paintLayerContents(const LayerList&, ResourceUpdateQueue&); 217 bool paintLayerContents(const LayerList&, ResourceUpdateQueue&);
216 bool paintMasksForRenderSurface(Layer*, ResourceUpdateQueue&); 218 bool paintMasksForRenderSurface(Layer*, ResourceUpdateQueue&);
217 219
218 void updateLayers(Layer*, ResourceUpdateQueue&); 220 void updateLayers(Layer*, ResourceUpdateQueue&);
219 void triggerPrepaint(); 221 void triggerPrepaint();
220 222
221 void prioritizeTextures(const LayerList&, OverdrawMetrics&); 223 void prioritizeTextures(const LayerList&, OverdrawMetrics&);
222 void setPrioritiesForSurfaces(size_t surfaceMemoryBytes); 224 void setPrioritiesForSurfaces(size_t surfaceMemoryBytes);
223 void setPrioritiesForLayers(const LayerList&); 225 void setPrioritiesForLayers(const LayerList&);
224 size_t calculateMemoryForRenderSurfaces(const LayerList& updateList); 226 size_t calculateMemoryForRenderSurfaces(const LayerList& updateList);
225 227
226 void animateLayers(base::TimeTicks monotonicTime); 228 void animateLayers(base::TimeTicks monotonicTime, base::Time wallClockTime);
227 bool animateLayersRecursive(Layer* current, base::TimeTicks time); 229 bool animateLayersRecursive(Layer* current, base::TimeTicks time);
228 void setAnimationEventsRecursive(const AnimationEventsVector&, Layer*, base: :Time wallClockTime); 230 void setAnimationEventsRecursive(const AnimationEventsVector&, Layer*, base: :Time wallClockTime);
229 231
230 bool m_animating; 232 bool m_animating;
231 bool m_needsFullTreeSync; 233 bool m_needsFullTreeSync;
232 234
233 base::CancelableClosure m_prepaintCallback; 235 base::CancelableClosure m_prepaintCallback;
234 236
235 LayerTreeHostClient* m_client; 237 LayerTreeHostClient* m_client;
236 scoped_ptr<Proxy> m_proxy; 238 scoped_ptr<Proxy> m_proxy;
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
274 scoped_ptr<AnimationRegistrar> m_animationRegistrar; 276 scoped_ptr<AnimationRegistrar> m_animationRegistrar;
275 277
276 static bool s_needsFilterContext; 278 static bool s_needsFilterContext;
277 279
278 DISALLOW_COPY_AND_ASSIGN(LayerTreeHost); 280 DISALLOW_COPY_AND_ASSIGN(LayerTreeHost);
279 }; 281 };
280 282
281 } // namespace cc 283 } // namespace cc
282 284
283 #endif // CC_LAYER_TREE_HOST_H_ 285 #endif // CC_LAYER_TREE_HOST_H_
OLDNEW
« no previous file with comments | « cc/layer_impl.cc ('k') | cc/layer_tree_host.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698