| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 "chrome/browser/renderer_host/web_cache_manager.h" | 5 #include "chrome/browser/renderer_host/web_cache_manager.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
| 10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
| (...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 249 } | 249 } |
| 250 | 250 |
| 251 void WebCacheManager::AddToStrategy(const std::set<int>& renderers, | 251 void WebCacheManager::AddToStrategy(const std::set<int>& renderers, |
| 252 AllocationTactic tactic, | 252 AllocationTactic tactic, |
| 253 size_t extra_bytes_to_allocate, | 253 size_t extra_bytes_to_allocate, |
| 254 AllocationStrategy* strategy) { | 254 AllocationStrategy* strategy) { |
| 255 DCHECK(strategy); | 255 DCHECK(strategy); |
| 256 | 256 |
| 257 // Nothing to do if there are no renderers. It is common for there to be no | 257 // Nothing to do if there are no renderers. It is common for there to be no |
| 258 // inactive renderers if there is a single active tab. | 258 // inactive renderers if there is a single active tab. |
| 259 if (renderers.size() == 0) | 259 if (renderers.empty()) |
| 260 return; | 260 return; |
| 261 | 261 |
| 262 // Divide the extra memory evenly among the renderers. | 262 // Divide the extra memory evenly among the renderers. |
| 263 size_t extra_each = extra_bytes_to_allocate / renderers.size(); | 263 size_t extra_each = extra_bytes_to_allocate / renderers.size(); |
| 264 | 264 |
| 265 std::set<int>::const_iterator iter = renderers.begin(); | 265 std::set<int>::const_iterator iter = renderers.begin(); |
| 266 while (iter != renderers.end()) { | 266 while (iter != renderers.end()) { |
| 267 size_t cache_size = extra_each; | 267 size_t cache_size = extra_each; |
| 268 | 268 |
| 269 // Add in the space required to implement |tactic|. | 269 // Add in the space required to implement |tactic|. |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 401 if (idle >= TimeDelta::FromMinutes(kRendererInactiveThresholdMinutes)) { | 401 if (idle >= TimeDelta::FromMinutes(kRendererInactiveThresholdMinutes)) { |
| 402 // Moved to inactive status. This invalidates our iterator. | 402 // Moved to inactive status. This invalidates our iterator. |
| 403 inactive_renderers_.insert(*iter); | 403 inactive_renderers_.insert(*iter); |
| 404 active_renderers_.erase(*iter); | 404 active_renderers_.erase(*iter); |
| 405 iter = active_renderers_.begin(); | 405 iter = active_renderers_.begin(); |
| 406 continue; | 406 continue; |
| 407 } | 407 } |
| 408 ++iter; | 408 ++iter; |
| 409 } | 409 } |
| 410 } | 410 } |
| OLD | NEW |