Index: cc/resources/tile_manager.h |
diff --git a/cc/resources/tile_manager.h b/cc/resources/tile_manager.h |
index 7bec1c48f90d0980922b80eb2c5493890fe6d7bc..2633a0ed3d150a03ab1af48330e5bfb9680a7d02 100644 |
--- a/cc/resources/tile_manager.h |
+++ b/cc/resources/tile_manager.h |
@@ -87,7 +87,8 @@ class CC_EXPORT TileManager : public RasterWorkerPoolClient { |
} |
bool AreTilesRequiredForActivationReady() const { |
- return tiles_that_need_to_be_initialized_for_activation_.empty(); |
+ return tiles_that_need_to_be_initialized_for_activation_.empty() && |
+ oom_tiles_that_need_to_be_initialized_for_activation_.empty(); |
} |
protected: |
@@ -106,10 +107,18 @@ class CC_EXPORT TileManager : public RasterWorkerPoolClient { |
// Overriden from RasterWorkerPoolClient: |
virtual bool ShouldForceTasksRequiredForActivationToComplete() const |
OVERRIDE; |
+ virtual void DidFinishedRunningTasks() OVERRIDE; |
+ virtual void DidFinishedRunningTasksRequiredForActivation() OVERRIDE; |
// Virtual for test |
virtual void ScheduleTasks(); |
+ const std::vector<Tile*>& tiles_that_need_to_be_rasterized() const { |
+ return tiles_that_need_to_be_rasterized_; |
+ } |
+ |
+ void ReassignGpuMemoryToOOMTilesRequiredForActivation(); |
+ |
private: |
void OnImageDecodeTaskCompleted( |
int layer_id, |
@@ -151,6 +160,7 @@ class CC_EXPORT TileManager : public RasterWorkerPoolClient { |
TileVector tiles_that_need_to_be_rasterized_; |
typedef std::set<Tile*> TileSet; |
TileSet tiles_that_need_to_be_initialized_for_activation_; |
+ TileSet oom_tiles_that_need_to_be_initialized_for_activation_; |
bool ever_exceeded_memory_budget_; |
MemoryHistory::Entry memory_stats_from_last_assign_; |