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

Side by Side Diff: cc/layers/picture_layer.h

Issue 519583003: Use the solid color detection to create solid layers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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 | « no previous file | cc/layers/picture_layer.cc » ('j') | cc/layers/picture_layer.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 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 CC_LAYERS_PICTURE_LAYER_H_ 5 #ifndef CC_LAYERS_PICTURE_LAYER_H_
6 #define CC_LAYERS_PICTURE_LAYER_H_ 6 #define CC_LAYERS_PICTURE_LAYER_H_
7 7
8 #include "cc/base/invalidation_region.h" 8 #include "cc/base/invalidation_region.h"
9 #include "cc/debug/devtools_instrumentation.h" 9 #include "cc/debug/devtools_instrumentation.h"
10 #include "cc/debug/micro_benchmark_controller.h" 10 #include "cc/debug/micro_benchmark_controller.h"
11 #include "cc/layers/layer.h" 11 #include "cc/layers/layer.h"
12 #include "cc/resources/picture_pile.h" 12 #include "cc/resources/picture_pile.h"
13 #include "cc/trees/occlusion_tracker.h" 13 #include "cc/trees/occlusion_tracker.h"
14 14
15 namespace cc { 15 namespace cc {
16 16
17 class ContentLayerClient; 17 class ContentLayerClient;
18 class ResourceUpdateQueue; 18 class ResourceUpdateQueue;
19 class PictureLayerImpl;
19 20
20 class CC_EXPORT PictureLayer : public Layer { 21 class CC_EXPORT PictureLayer : public Layer {
21 public: 22 public:
22 static scoped_refptr<PictureLayer> Create(ContentLayerClient* client); 23 static scoped_refptr<PictureLayer> Create(ContentLayerClient* client);
23 24
24 void ClearClient(); 25 void ClearClient();
25 26
26 // Layer interface. 27 // Layer interface.
27 virtual scoped_ptr<LayerImpl> CreateLayerImpl( 28 virtual scoped_ptr<LayerImpl> CreateLayerImpl(
28 LayerTreeImpl* tree_impl) OVERRIDE; 29 LayerTreeImpl* tree_impl) OVERRIDE;
(...skipping 15 matching lines...) Expand all
44 45
45 PicturePile* GetPicturePileForTesting() const { return pile_.get(); } 46 PicturePile* GetPicturePileForTesting() const { return pile_.get(); }
46 47
47 protected: 48 protected:
48 explicit PictureLayer(ContentLayerClient* client); 49 explicit PictureLayer(ContentLayerClient* client);
49 virtual ~PictureLayer(); 50 virtual ~PictureLayer();
50 51
51 virtual bool HasDrawableContent() const OVERRIDE; 52 virtual bool HasDrawableContent() const OVERRIDE;
52 void UpdateCanUseLCDText(); 53 void UpdateCanUseLCDText();
53 54
55 virtual void SetSolidColorPropertiesTo(PictureLayerImpl* layer_impl) const;
vmpstr 2014/08/29 06:49:14 Why virtual?
hendrikw 2014/08/29 14:03:21 There are four tests in layer try host unit test w
vmpstr 2014/08/29 14:20:44 Ah ok. Can you leave a "Virtual for testing." comm
enne (OOO) 2014/08/29 16:53:43 Virtual for testing. :( Can you make the fake pi
hendrikw 2014/09/02 14:19:17 I found a way to do the same thing without the vir
56
54 private: 57 private:
55 ContentLayerClient* client_; 58 ContentLayerClient* client_;
56 scoped_refptr<PicturePile> pile_; 59 scoped_refptr<PicturePile> pile_;
57 devtools_instrumentation:: 60 devtools_instrumentation::
58 ScopedLayerObjectTracker instrumentation_object_tracker_; 61 ScopedLayerObjectTracker instrumentation_object_tracker_;
59 // Invalidation to use the next time update is called. 62 // Invalidation to use the next time update is called.
60 InvalidationRegion pending_invalidation_; 63 InvalidationRegion pending_invalidation_;
61 // Invalidation from the last time update was called. 64 // Invalidation from the last time update was called.
62 Region pile_invalidation_; 65 Region pile_invalidation_;
63 gfx::Rect last_updated_visible_content_rect_; 66 gfx::Rect last_updated_visible_content_rect_;
64 bool is_mask_; 67 bool is_mask_;
65 68
66 int update_source_frame_number_; 69 int update_source_frame_number_;
67 bool can_use_lcd_text_last_frame_; 70 bool can_use_lcd_text_last_frame_;
68 71
69 DISALLOW_COPY_AND_ASSIGN(PictureLayer); 72 DISALLOW_COPY_AND_ASSIGN(PictureLayer);
70 }; 73 };
71 74
72 } // namespace cc 75 } // namespace cc
73 76
74 #endif // CC_LAYERS_PICTURE_LAYER_H_ 77 #endif // CC_LAYERS_PICTURE_LAYER_H_
OLDNEW
« no previous file with comments | « no previous file | cc/layers/picture_layer.cc » ('j') | cc/layers/picture_layer.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698