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

Side by Side Diff: cc/layer_tree_host_impl.h

Issue 11491003: Revert 171714 - Use an auxiliary list of animation controllers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 8 years 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/layer_tree_host_common_unittest.cc ('k') | cc/layer_tree_host_impl.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_IMPL_H_ 5 #ifndef CC_LAYER_TREE_HOST_IMPL_H_
6 #define CC_LAYER_TREE_HOST_IMPL_H_ 6 #define CC_LAYER_TREE_HOST_IMPL_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/time.h" 10 #include "base/time.h"
11 #include "cc/animation_events.h" 11 #include "cc/animation_events.h"
12 #include "cc/animation_registrar.h"
13 #include "cc/cc_export.h" 12 #include "cc/cc_export.h"
14 #include "cc/input_handler.h" 13 #include "cc/input_handler.h"
15 #include "cc/layer_tree_impl.h" 14 #include "cc/layer_tree_impl.h"
16 #include "cc/output_surface_client.h" 15 #include "cc/output_surface_client.h"
17 #include "cc/render_pass.h" 16 #include "cc/render_pass.h"
18 #include "cc/render_pass_sink.h" 17 #include "cc/render_pass_sink.h"
19 #include "cc/renderer.h" 18 #include "cc/renderer.h"
20 #include "cc/tile_manager.h" 19 #include "cc/tile_manager.h"
21 #include "third_party/skia/include/core/SkColor.h" 20 #include "third_party/skia/include/core/SkColor.h"
22 #include "ui/gfx/rect.h" 21 #include "ui/gfx/rect.h"
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 106
108 gfx::Vector2dF m_zoomedViewportOffset; 107 gfx::Vector2dF m_zoomedViewportOffset;
109 gfx::SizeF m_layoutViewportSize; 108 gfx::SizeF m_layoutViewportSize;
110 }; 109 };
111 110
112 // LayerTreeHostImpl owns the LayerImpl tree as well as associated rendering sta te 111 // LayerTreeHostImpl owns the LayerImpl tree as well as associated rendering sta te
113 class CC_EXPORT LayerTreeHostImpl : public InputHandlerClient, 112 class CC_EXPORT LayerTreeHostImpl : public InputHandlerClient,
114 public RendererClient, 113 public RendererClient,
115 public TileManagerClient, 114 public TileManagerClient,
116 public LayerTreeImplClient, 115 public LayerTreeImplClient,
117 public AnimationRegistrar,
118 public OutputSurfaceClient { 116 public OutputSurfaceClient {
119 typedef std::vector<LayerImpl*> LayerList; 117 typedef std::vector<LayerImpl*> LayerList;
120 typedef base::hash_set<LayerAnimationController*> AnimationControllerSet;
121 118
122 public: 119 public:
123 static scoped_ptr<LayerTreeHostImpl> create(const LayerTreeSettings&, LayerT reeHostImplClient*, Proxy*); 120 static scoped_ptr<LayerTreeHostImpl> create(const LayerTreeSettings&, LayerT reeHostImplClient*, Proxy*);
124 virtual ~LayerTreeHostImpl(); 121 virtual ~LayerTreeHostImpl();
125 122
126 // InputHandlerClient implementation 123 // InputHandlerClient implementation
127 virtual InputHandlerClient::ScrollStatus scrollBegin(gfx::Point, InputHandle rClient::ScrollInputType) OVERRIDE; 124 virtual InputHandlerClient::ScrollStatus scrollBegin(gfx::Point, InputHandle rClient::ScrollInputType) OVERRIDE;
128 virtual bool scrollBy(const gfx::Point&, const gfx::Vector2d&) OVERRIDE; 125 virtual bool scrollBy(const gfx::Point&, const gfx::Vector2d&) OVERRIDE;
129 virtual void scrollEnd() OVERRIDE; 126 virtual void scrollEnd() OVERRIDE;
130 virtual void pinchGestureBegin() OVERRIDE; 127 virtual void pinchGestureBegin() OVERRIDE;
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 scoped_ptr<ScrollAndScaleSet> processScrollDeltas(); 238 scoped_ptr<ScrollAndScaleSet> processScrollDeltas();
242 gfx::Transform implTransform() const; 239 gfx::Transform implTransform() const;
243 240
244 void startPageScaleAnimation(gfx::Vector2d targetOffset, bool useAnchor, flo at scale, base::TimeDelta duration); 241 void startPageScaleAnimation(gfx::Vector2d targetOffset, bool useAnchor, flo at scale, base::TimeDelta duration);
245 242
246 SkColor backgroundColor() const { return m_backgroundColor; } 243 SkColor backgroundColor() const { return m_backgroundColor; }
247 void setBackgroundColor(SkColor color) { m_backgroundColor = color; } 244 void setBackgroundColor(SkColor color) { m_backgroundColor = color; }
248 245
249 bool hasTransparentBackground() const { return m_hasTransparentBackground; } 246 bool hasTransparentBackground() const { return m_hasTransparentBackground; }
250 void setHasTransparentBackground(bool transparent) { m_hasTransparentBackgro und = transparent; } 247 void setHasTransparentBackground(bool transparent) { m_hasTransparentBackgro und = transparent; }
251 bool needsAnimateLayers() const { return !m_activeAnimationControllers.empty (); } 248
249 bool needsAnimateLayers() const { return m_needsAnimateLayers; }
250 void setNeedsAnimateLayers() { m_needsAnimateLayers = true; }
252 251
253 void setNeedsRedraw(); 252 void setNeedsRedraw();
254 253
255 void renderingStats(RenderingStats*) const; 254 void renderingStats(RenderingStats*) const;
256 255
257 void updateRootScrollLayerImplTransform(); 256 void updateRootScrollLayerImplTransform();
258 257
259 void sendManagedMemoryStats( 258 void sendManagedMemoryStats(
260 size_t memoryVisibleBytes, 259 size_t memoryVisibleBytes,
261 size_t memoryVisibleAndNearbyBytes, 260 size_t memoryVisibleAndNearbyBytes,
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 335
337 void sendDidLoseOutputSurfaceRecursive(LayerImpl*); 336 void sendDidLoseOutputSurfaceRecursive(LayerImpl*);
338 void clearRenderSurfaces(); 337 void clearRenderSurfaces();
339 bool ensureRenderSurfaceLayerList(); 338 bool ensureRenderSurfaceLayerList();
340 void clearCurrentlyScrollingLayer(); 339 void clearCurrentlyScrollingLayer();
341 340
342 void animateScrollbarsRecursive(LayerImpl*, base::TimeTicks monotonicTime); 341 void animateScrollbarsRecursive(LayerImpl*, base::TimeTicks monotonicTime);
343 342
344 void dumpRenderSurfaces(std::string*, int indent, const LayerImpl*) const; 343 void dumpRenderSurfaces(std::string*, int indent, const LayerImpl*) const;
345 344
346 // AnimationRegistar implementation.
347 virtual void DidActivateAnimationController(LayerAnimationController*) OVERR IDE;
348 virtual void DidDeactivateAnimationController(LayerAnimationController*) OVE RRIDE;
349 virtual void RegisterAnimationController(LayerAnimationController*) OVERRIDE ;
350 virtual void UnregisterAnimationController(LayerAnimationController*) OVERRI DE;
351
352 scoped_ptr<OutputSurface> m_outputSurface; 345 scoped_ptr<OutputSurface> m_outputSurface;
353
354 scoped_ptr<ResourceProvider> m_resourceProvider; 346 scoped_ptr<ResourceProvider> m_resourceProvider;
355 scoped_ptr<Renderer> m_renderer; 347 scoped_ptr<Renderer> m_renderer;
356 scoped_ptr<TileManager> m_tileManager; 348 scoped_ptr<TileManager> m_tileManager;
357 349
358 scoped_ptr<LayerTreeImpl> m_activeTree; 350 scoped_ptr<LayerTreeImpl> m_activeTree;
359 351
360 bool m_scrollDeltaIsInViewportSpace; 352 bool m_scrollDeltaIsInViewportSpace;
361 LayerTreeSettings m_settings; 353 LayerTreeSettings m_settings;
362 LayerTreeDebugState m_debugState; 354 LayerTreeDebugState m_debugState;
363 gfx::Size m_layoutViewportSize; 355 gfx::Size m_layoutViewportSize;
364 gfx::Size m_deviceViewportSize; 356 gfx::Size m_deviceViewportSize;
365 float m_deviceScaleFactor; 357 float m_deviceScaleFactor;
366 bool m_visible; 358 bool m_visible;
367 bool m_contentsTexturesPurged; 359 bool m_contentsTexturesPurged;
368 ManagedMemoryPolicy m_managedMemoryPolicy; 360 ManagedMemoryPolicy m_managedMemoryPolicy;
369 361
370 SkColor m_backgroundColor; 362 SkColor m_backgroundColor;
371 bool m_hasTransparentBackground; 363 bool m_hasTransparentBackground;
372 364
373 // If this is true, it is necessary to traverse the layer tree ticking the a nimators. 365 // If this is true, it is necessary to traverse the layer tree ticking the a nimators.
366 bool m_needsAnimateLayers;
374 bool m_pinchGestureActive; 367 bool m_pinchGestureActive;
375 gfx::Point m_previousPinchAnchor; 368 gfx::Point m_previousPinchAnchor;
376 369
377 scoped_ptr<PageScaleAnimation> m_pageScaleAnimation; 370 scoped_ptr<PageScaleAnimation> m_pageScaleAnimation;
378 371
379 // This is used for ticking animations slowly when hidden. 372 // This is used for ticking animations slowly when hidden.
380 scoped_ptr<LayerTreeHostImplTimeSourceAdapter> m_timeSourceClientAdapter; 373 scoped_ptr<LayerTreeHostImplTimeSourceAdapter> m_timeSourceClientAdapter;
381 374
382 // List of visible layers for the most recently prepared frame. Used for 375 // List of visible layers for the most recently prepared frame. Used for
383 // rendering and input event hit testing. 376 // rendering and input event hit testing.
384 LayerList m_renderSurfaceLayerList; 377 LayerList m_renderSurfaceLayerList;
385 378
386 PinchZoomViewport m_pinchZoomViewport; 379 PinchZoomViewport m_pinchZoomViewport;
387 380
388 scoped_ptr<FrameRateCounter> m_fpsCounter; 381 scoped_ptr<FrameRateCounter> m_fpsCounter;
389 scoped_ptr<DebugRectHistory> m_debugRectHistory; 382 scoped_ptr<DebugRectHistory> m_debugRectHistory;
390 383
391 int64 m_numImplThreadScrolls; 384 int64 m_numImplThreadScrolls;
392 int64 m_numMainThreadScrolls; 385 int64 m_numMainThreadScrolls;
393 386
394 int64 m_cumulativeNumLayersDrawn; 387 int64 m_cumulativeNumLayersDrawn;
395 388
396 int64 m_cumulativeNumMissingTiles; 389 int64 m_cumulativeNumMissingTiles;
397 390
398 AnimationControllerSet m_activeAnimationControllers;
399
400 #if !defined(NDEBUG)
401 AnimationControllerSet m_allAnimationControllers;
402 #endif
403
404 size_t m_lastSentMemoryVisibleBytes; 391 size_t m_lastSentMemoryVisibleBytes;
405 size_t m_lastSentMemoryVisibleAndNearbyBytes; 392 size_t m_lastSentMemoryVisibleAndNearbyBytes;
406 size_t m_lastSentMemoryUseBytes; 393 size_t m_lastSentMemoryUseBytes;
407 394
408 DISALLOW_COPY_AND_ASSIGN(LayerTreeHostImpl); 395 DISALLOW_COPY_AND_ASSIGN(LayerTreeHostImpl);
409 }; 396 };
410 397
411 } // namespace cc 398 } // namespace cc
412 399
413 #endif // CC_LAYER_TREE_HOST_IMPL_H_ 400 #endif // CC_LAYER_TREE_HOST_IMPL_H_
OLDNEW
« no previous file with comments | « cc/layer_tree_host_common_unittest.cc ('k') | cc/layer_tree_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698