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