| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "athena/resource_manager/public/resource_manager.h" | 5 #include "athena/resource_manager/public/resource_manager.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "athena/activity/public/activity.h" | 10 #include "athena/activity/public/activity.h" |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 140 // |wait_time_for_resource_deallocation_| between executed calls. | 140 // |wait_time_for_resource_deallocation_| between executed calls. |
| 141 base::Time next_resource_management_time_; | 141 base::Time next_resource_management_time_; |
| 142 | 142 |
| 143 // The wait time between two resource managing executions. | 143 // The wait time between two resource managing executions. |
| 144 base::TimeDelta wait_time_for_resource_deallocation_; | 144 base::TimeDelta wait_time_for_resource_deallocation_; |
| 145 | 145 |
| 146 DISALLOW_COPY_AND_ASSIGN(ResourceManagerImpl); | 146 DISALLOW_COPY_AND_ASSIGN(ResourceManagerImpl); |
| 147 }; | 147 }; |
| 148 | 148 |
| 149 namespace { | 149 namespace { |
| 150 ResourceManagerImpl* instance = NULL; | 150 ResourceManagerImpl* instance = nullptr; |
| 151 | 151 |
| 152 // We allow this many activities to be visible. All others must be at state of | 152 // We allow this many activities to be visible. All others must be at state of |
| 153 // invisible or below. | 153 // invisible or below. |
| 154 const int kMaxVisibleActivities = 3; | 154 const int kMaxVisibleActivities = 3; |
| 155 | 155 |
| 156 } // namespace | 156 } // namespace |
| 157 | 157 |
| 158 ResourceManagerImpl::ResourceManagerImpl(ResourceManagerDelegate* delegate) | 158 ResourceManagerImpl::ResourceManagerImpl(ResourceManagerDelegate* delegate) |
| 159 : delegate_(delegate), | 159 : delegate_(delegate), |
| 160 current_memory_pressure_(MEMORY_PRESSURE_UNKNOWN), | 160 current_memory_pressure_(MEMORY_PRESSURE_UNKNOWN), |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 360 break; | 360 break; |
| 361 case MEMORY_PRESSURE_MODERATE: | 361 case MEMORY_PRESSURE_MODERATE: |
| 362 max_running_activities = 7; | 362 max_running_activities = 7; |
| 363 break; | 363 break; |
| 364 case MEMORY_PRESSURE_LOW: | 364 case MEMORY_PRESSURE_LOW: |
| 365 NOTREACHED(); | 365 NOTREACHED(); |
| 366 return; | 366 return; |
| 367 } | 367 } |
| 368 | 368 |
| 369 // Check if / which activity we want to unload. | 369 // Check if / which activity we want to unload. |
| 370 Activity* oldest_media_activity = NULL; | 370 Activity* oldest_media_activity = nullptr; |
| 371 std::vector<Activity*> unloadable_activities; | 371 std::vector<Activity*> unloadable_activities; |
| 372 for (std::vector<Activity*>::iterator it = activity_list_.begin(); | 372 for (std::vector<Activity*>::iterator it = activity_list_.begin(); |
| 373 it != activity_list_.end(); ++it) { | 373 it != activity_list_.end(); ++it) { |
| 374 Activity::ActivityState state = (*it)->GetCurrentState(); | 374 Activity::ActivityState state = (*it)->GetCurrentState(); |
| 375 // The activity should neither be unloaded nor visible. | 375 // The activity should neither be unloaded nor visible. |
| 376 if (state != Activity::ACTIVITY_UNLOADED && | 376 if (state != Activity::ACTIVITY_UNLOADED && |
| 377 state != Activity::ACTIVITY_VISIBLE) { | 377 state != Activity::ACTIVITY_VISIBLE) { |
| 378 if ((*it)->GetMediaState() == Activity::ACTIVITY_MEDIA_STATE_NONE) { | 378 if ((*it)->GetMediaState() == Activity::ACTIVITY_MEDIA_STATE_NONE) { |
| 379 // Does not play media - so we can unload this immediately. | 379 // Does not play media - so we can unload this immediately. |
| 380 unloadable_activities.push_back(*it); | 380 unloadable_activities.push_back(*it); |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 469 | 469 |
| 470 // static | 470 // static |
| 471 ResourceManager* ResourceManager::Get() { | 471 ResourceManager* ResourceManager::Get() { |
| 472 return instance; | 472 return instance; |
| 473 } | 473 } |
| 474 | 474 |
| 475 // static | 475 // static |
| 476 void ResourceManager::Shutdown() { | 476 void ResourceManager::Shutdown() { |
| 477 DCHECK(instance); | 477 DCHECK(instance); |
| 478 delete instance; | 478 delete instance; |
| 479 instance = NULL; | 479 instance = nullptr; |
| 480 } | 480 } |
| 481 | 481 |
| 482 ResourceManager::ResourceManager() {} | 482 ResourceManager::ResourceManager() {} |
| 483 | 483 |
| 484 ResourceManager::~ResourceManager() { | 484 ResourceManager::~ResourceManager() { |
| 485 DCHECK(instance); | 485 DCHECK(instance); |
| 486 instance = NULL; | 486 instance = nullptr; |
| 487 } | 487 } |
| 488 | 488 |
| 489 } // namespace athena | 489 } // namespace athena |
| OLD | NEW |