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

Side by Side Diff: cc/LayerChromium.h

Issue 11083003: Revert 160631 - [cc] Store CCLayerImpls as scoped_ptrs (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/IOSurfaceLayerChromium.cpp ('k') | cc/LayerChromium.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 2010 The Chromium Authors. All rights reserved. 1 // Copyright 2010 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 5
6 #ifndef LayerChromium_h 6 #ifndef LayerChromium_h
7 #define LayerChromium_h 7 #define LayerChromium_h
8 8
9 #if USE(ACCELERATED_COMPOSITING) 9 #if USE(ACCELERATED_COMPOSITING)
10 10
11 #include "base/memory/ref_counted.h" 11 #include "base/memory/ref_counted.h"
12 #include "CCLayerAnimationController.h" 12 #include "CCLayerAnimationController.h"
13 #include "CCOcclusionTracker.h" 13 #include "CCOcclusionTracker.h"
14 #include "CCPrioritizedTexture.h"
14 #include "FloatPoint.h" 15 #include "FloatPoint.h"
15 #include "Region.h" 16 #include "Region.h"
16 #include "RenderSurfaceChromium.h" 17 #include "RenderSurfaceChromium.h"
17 #include "SkColor.h" 18 #include "SkColor.h"
18 #include <public/WebFilterOperations.h> 19 #include <public/WebFilterOperations.h>
19 #include <public/WebTransformationMatrix.h> 20 #include <public/WebTransformationMatrix.h>
20 #include <string> 21 #include <string>
21 #include <vector> 22 #include <vector>
23 #include <wtf/OwnPtr.h>
24 #include <wtf/PassOwnPtr.h>
22 25
23 namespace WebKit { 26 namespace WebKit {
24 class WebAnimationDelegate; 27 class WebAnimationDelegate;
25 class WebLayerScrollClient; 28 class WebLayerScrollClient;
26 } 29 }
27 30
28 namespace cc { 31 namespace cc {
29 32
30 class CCActiveAnimation; 33 class CCActiveAnimation;
31 struct CCAnimationEvent; 34 struct CCAnimationEvent;
32 class CCLayerAnimationDelegate; 35 class CCLayerAnimationDelegate;
33 class CCLayerImpl; 36 class CCLayerImpl;
34 class CCLayerTreeHost; 37 class CCLayerTreeHost;
35 class CCPriorityCalculator;
36 class CCTextureUpdateQueue; 38 class CCTextureUpdateQueue;
37 class ScrollbarLayerChromium; 39 class ScrollbarLayerChromium;
38 struct CCAnimationEvent; 40 struct CCAnimationEvent;
39 struct CCRenderingStats; 41 struct CCRenderingStats;
40 42
41 // Base class for composited layers. Special layer types are derived from 43 // Base class for composited layers. Special layer types are derived from
42 // this class. 44 // this class.
43 class LayerChromium : public base::RefCounted<LayerChromium>, public CCLayerAnim ationControllerClient { 45 class LayerChromium : public base::RefCounted<LayerChromium>, public CCLayerAnim ationControllerClient {
44 public: 46 public:
45 typedef std::vector<scoped_refptr<LayerChromium> > LayerList; 47 typedef std::vector<scoped_refptr<LayerChromium> > LayerList;
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after
282 284
283 // The update rect is the region of the compositor resource that was actuall y updated by the compositor. 285 // The update rect is the region of the compositor resource that was actuall y updated by the compositor.
284 // For layers that may do updating outside the compositor's control (i.e. pl ugin layers), this information 286 // For layers that may do updating outside the compositor's control (i.e. pl ugin layers), this information
285 // is not available and the update rect will remain empty. 287 // is not available and the update rect will remain empty.
286 // Note this rect is in layer space (not content space). 288 // Note this rect is in layer space (not content space).
287 FloatRect m_updateRect; 289 FloatRect m_updateRect;
288 290
289 scoped_refptr<LayerChromium> m_maskLayer; 291 scoped_refptr<LayerChromium> m_maskLayer;
290 292
291 // Constructs a CCLayerImpl of the correct runtime type for this LayerChromi um type. 293 // Constructs a CCLayerImpl of the correct runtime type for this LayerChromi um type.
292 virtual scoped_ptr<CCLayerImpl> createCCLayerImpl(); 294 virtual PassOwnPtr<CCLayerImpl> createCCLayerImpl();
293 int m_layerId; 295 int m_layerId;
294 296
295 private: 297 private:
296 friend class base::RefCounted<LayerChromium>; 298 friend class base::RefCounted<LayerChromium>;
297 299
298 void setParent(LayerChromium*); 300 void setParent(LayerChromium*);
299 bool hasAncestor(LayerChromium*) const; 301 bool hasAncestor(LayerChromium*) const;
300 bool descendantIsFixedToContainerLayer() const; 302 bool descendantIsFixedToContainerLayer() const;
301 303
302 size_t numChildren() const { return m_children.size(); } 304 size_t numChildren() const { return m_children.size(); }
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 WebKit::WebAnimationDelegate* m_layerAnimationDelegate; 380 WebKit::WebAnimationDelegate* m_layerAnimationDelegate;
379 WebKit::WebLayerScrollClient* m_layerScrollClient; 381 WebKit::WebLayerScrollClient* m_layerScrollClient;
380 }; 382 };
381 383
382 void sortLayers(std::vector<scoped_refptr<LayerChromium> >::iterator, std::vecto r<scoped_refptr<LayerChromium> >::iterator, void*); 384 void sortLayers(std::vector<scoped_refptr<LayerChromium> >::iterator, std::vecto r<scoped_refptr<LayerChromium> >::iterator, void*);
383 385
384 } 386 }
385 #endif // USE(ACCELERATED_COMPOSITING) 387 #endif // USE(ACCELERATED_COMPOSITING)
386 388
387 #endif 389 #endif
OLDNEW
« no previous file with comments | « cc/IOSurfaceLayerChromium.cpp ('k') | cc/LayerChromium.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698