| 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_;
|
|
|