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

Side by Side Diff: cc/resources/tile_manager.h

Issue 935333002: Update from https://crrev.com/316786 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 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/resources/tile_draw_info.cc ('k') | cc/resources/tile_manager.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 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_RESOURCES_TILE_MANAGER_H_ 5 #ifndef CC_RESOURCES_TILE_MANAGER_H_
6 #define CC_RESOURCES_TILE_MANAGER_H_ 6 #define CC_RESOURCES_TILE_MANAGER_H_
7 7
8 #include <deque> 8 #include <deque>
9 #include <queue> 9 #include <queue>
10 #include <set> 10 #include <set>
(...skipping 12 matching lines...) Expand all
23 #include "cc/resources/resource_pool.h" 23 #include "cc/resources/resource_pool.h"
24 #include "cc/resources/tile.h" 24 #include "cc/resources/tile.h"
25 #include "cc/resources/tile_draw_info.h" 25 #include "cc/resources/tile_draw_info.h"
26 #include "cc/resources/tile_task_runner.h" 26 #include "cc/resources/tile_task_runner.h"
27 27
28 namespace base { 28 namespace base {
29 namespace trace_event { 29 namespace trace_event {
30 class ConvertableToTraceFormat; 30 class ConvertableToTraceFormat;
31 class TracedValue; 31 class TracedValue;
32 } 32 }
33
34 // TODO(ssid): remove these aliases after the tracing clients are moved to the
35 // new trace_event namespace. See crbug.com/451032. ETA: March 2015
36 namespace debug {
37 using ::base::trace_event::ConvertableToTraceFormat;
38 using ::base::trace_event::TracedValue;
39 } 33 }
40 } // namespace base
41 34
42 namespace cc { 35 namespace cc {
43 class PictureLayerImpl; 36 class PictureLayerImpl;
44 class Rasterizer; 37 class Rasterizer;
45 class ResourceProvider; 38 class ResourceProvider;
46 39
47 class CC_EXPORT TileManagerClient { 40 class CC_EXPORT TileManagerClient {
48 public: 41 public:
49 // Called when all tiles marked as required for activation are ready to draw. 42 // Called when all tiles marked as required for activation are ready to draw.
50 virtual void NotifyReadyToActivate() = 0; 43 virtual void NotifyReadyToActivate() = 0;
(...skipping 29 matching lines...) Expand all
80 protected: 73 protected:
81 virtual ~TileManagerClient() {} 74 virtual ~TileManagerClient() {}
82 }; 75 };
83 76
84 struct RasterTaskCompletionStats { 77 struct RasterTaskCompletionStats {
85 RasterTaskCompletionStats(); 78 RasterTaskCompletionStats();
86 79
87 size_t completed_count; 80 size_t completed_count;
88 size_t canceled_count; 81 size_t canceled_count;
89 }; 82 };
90 scoped_refptr<base::debug::ConvertableToTraceFormat> 83 scoped_refptr<base::trace_event::ConvertableToTraceFormat>
91 RasterTaskCompletionStatsAsValue(const RasterTaskCompletionStats& stats); 84 RasterTaskCompletionStatsAsValue(const RasterTaskCompletionStats& stats);
92 85
93 // This class manages tiles, deciding which should get rasterized and which 86 // This class manages tiles, deciding which should get rasterized and which
94 // should no longer have any memory assigned to them. Tile objects are "owned" 87 // should no longer have any memory assigned to them. Tile objects are "owned"
95 // by layers; they automatically register with the manager when they are 88 // by layers; they automatically register with the manager when they are
96 // created, and unregister from the manager when they are deleted. 89 // created, and unregister from the manager when they are deleted.
97 class CC_EXPORT TileManager : public TileTaskRunnerClient, 90 class CC_EXPORT TileManager : public TileTaskRunnerClient,
98 public RefCountedManager<Tile> { 91 public RefCountedManager<Tile> {
99 public: 92 public:
100 enum NamedTaskSet { 93 enum NamedTaskSet {
101 REQUIRED_FOR_ACTIVATION, 94 REQUIRED_FOR_ACTIVATION,
(...skipping 26 matching lines...) Expand all
128 void UpdateVisibleTiles(const GlobalStateThatImpactsTilePriority& state); 121 void UpdateVisibleTiles(const GlobalStateThatImpactsTilePriority& state);
129 122
130 scoped_refptr<Tile> CreateTile(RasterSource* raster_source, 123 scoped_refptr<Tile> CreateTile(RasterSource* raster_source,
131 const gfx::Size& desired_texture_size, 124 const gfx::Size& desired_texture_size,
132 const gfx::Rect& content_rect, 125 const gfx::Rect& content_rect,
133 float contents_scale, 126 float contents_scale,
134 int layer_id, 127 int layer_id,
135 int source_frame_number, 128 int source_frame_number,
136 int flags); 129 int flags);
137 130
138 scoped_refptr<base::debug::ConvertableToTraceFormat> BasicStateAsValue() 131 scoped_refptr<base::trace_event::ConvertableToTraceFormat> BasicStateAsValue()
139 const; 132 const;
140 void BasicStateAsValueInto(base::debug::TracedValue* dict) const; 133 void BasicStateAsValueInto(base::trace_event::TracedValue* dict) const;
141 const MemoryHistory::Entry& memory_stats_from_last_assign() const { 134 const MemoryHistory::Entry& memory_stats_from_last_assign() const {
142 return memory_stats_from_last_assign_; 135 return memory_stats_from_last_assign_;
143 } 136 }
144 137
145 void InitializeTilesWithResourcesForTesting(const std::vector<Tile*>& tiles) { 138 void InitializeTilesWithResourcesForTesting(const std::vector<Tile*>& tiles) {
146 for (size_t i = 0; i < tiles.size(); ++i) { 139 for (size_t i = 0; i < tiles.size(); ++i) {
147 TileDrawInfo& draw_info = tiles[i]->draw_info(); 140 TileDrawInfo& draw_info = tiles[i]->draw_info();
148 draw_info.resource_ = resource_pool_->AcquireResource( 141 draw_info.resource_ = resource_pool_->AcquireResource(
149 tiles[i]->desired_texture_size(), 142 tiles[i]->desired_texture_size(),
150 tile_task_runner_->GetResourceFormat()); 143 tile_task_runner_->GetResourceFormat());
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 311
319 bool did_notify_ready_to_activate_; 312 bool did_notify_ready_to_activate_;
320 bool did_notify_ready_to_draw_; 313 bool did_notify_ready_to_draw_;
321 314
322 DISALLOW_COPY_AND_ASSIGN(TileManager); 315 DISALLOW_COPY_AND_ASSIGN(TileManager);
323 }; 316 };
324 317
325 } // namespace cc 318 } // namespace cc
326 319
327 #endif // CC_RESOURCES_TILE_MANAGER_H_ 320 #endif // CC_RESOURCES_TILE_MANAGER_H_
OLDNEW
« no previous file with comments | « cc/resources/tile_draw_info.cc ('k') | cc/resources/tile_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698