OLD | NEW |
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 #include "cc/tiles/tile_manager.h" | 5 #include "cc/tiles/tile_manager.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <algorithm> | 10 #include <algorithm> |
(...skipping 1202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1213 global_state_.tree_priority, | 1213 global_state_.tree_priority, |
1214 RasterTilePriorityQueue::Type::REQUIRED_FOR_ACTIVATION)); | 1214 RasterTilePriorityQueue::Type::REQUIRED_FOR_ACTIVATION)); |
1215 bool need_to_signal_draw = MarkTilesOutOfMemory(client_->BuildRasterQueue( | 1215 bool need_to_signal_draw = MarkTilesOutOfMemory(client_->BuildRasterQueue( |
1216 global_state_.tree_priority, | 1216 global_state_.tree_priority, |
1217 RasterTilePriorityQueue::Type::REQUIRED_FOR_DRAW)); | 1217 RasterTilePriorityQueue::Type::REQUIRED_FOR_DRAW)); |
1218 | 1218 |
1219 // TODO(vmpstr): Temporary check to debug crbug.com/642927. | 1219 // TODO(vmpstr): Temporary check to debug crbug.com/642927. |
1220 CHECK(tile_task_manager_); | 1220 CHECK(tile_task_manager_); |
1221 DCHECK(IsReadyToActivate()); | 1221 DCHECK(IsReadyToActivate()); |
1222 DCHECK(IsReadyToDraw()); | 1222 DCHECK(IsReadyToDraw()); |
| 1223 // Signals notifier is already scheduled above in the same function. |
1223 signals_.ready_to_activate = need_to_signal_activate; | 1224 signals_.ready_to_activate = need_to_signal_activate; |
1224 signals_.ready_to_draw = need_to_signal_draw; | 1225 signals_.ready_to_draw = need_to_signal_draw; |
1225 // TODO(ericrk): Investigate why we need to schedule this (not just call it | |
1226 // inline). http://crbug.com/498439 | |
1227 signals_check_notifier_.Schedule(); | |
1228 } | 1226 } |
1229 | 1227 |
1230 bool TileManager::MarkTilesOutOfMemory( | 1228 bool TileManager::MarkTilesOutOfMemory( |
1231 std::unique_ptr<RasterTilePriorityQueue> queue) const { | 1229 std::unique_ptr<RasterTilePriorityQueue> queue) const { |
1232 // Mark required tiles as OOM so that we can activate/draw without them. | 1230 // Mark required tiles as OOM so that we can activate/draw without them. |
1233 if (queue->IsEmpty()) | 1231 if (queue->IsEmpty()) |
1234 return false; | 1232 return false; |
1235 | 1233 |
1236 for (; !queue->IsEmpty(); queue->Pop()) { | 1234 for (; !queue->IsEmpty(); queue->Pop()) { |
1237 Tile* tile = queue->Top().tile(); | 1235 Tile* tile = queue->Top().tile(); |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1353 all_tile_tasks_completed = false; | 1351 all_tile_tasks_completed = false; |
1354 did_notify_all_tile_tasks_completed = false; | 1352 did_notify_all_tile_tasks_completed = false; |
1355 } | 1353 } |
1356 | 1354 |
1357 TileManager::PrioritizedWorkToSchedule::PrioritizedWorkToSchedule() = default; | 1355 TileManager::PrioritizedWorkToSchedule::PrioritizedWorkToSchedule() = default; |
1358 TileManager::PrioritizedWorkToSchedule::PrioritizedWorkToSchedule( | 1356 TileManager::PrioritizedWorkToSchedule::PrioritizedWorkToSchedule( |
1359 PrioritizedWorkToSchedule&& other) = default; | 1357 PrioritizedWorkToSchedule&& other) = default; |
1360 TileManager::PrioritizedWorkToSchedule::~PrioritizedWorkToSchedule() = default; | 1358 TileManager::PrioritizedWorkToSchedule::~PrioritizedWorkToSchedule() = default; |
1361 | 1359 |
1362 } // namespace cc | 1360 } // namespace cc |
OLD | NEW |