| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 "chrome/renderer/chrome_render_process_observer.h" | 5 #include "chrome/renderer/chrome_render_process_observer.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/allocator/allocator_extension.h" | 10 #include "base/allocator/allocator_extension.h" |
| 11 #include "base/bind.h" | 11 #include "base/bind.h" |
| 12 #include "base/command_line.h" | 12 #include "base/command_line.h" |
| 13 #include "base/file_util.h" | 13 #include "base/file_util.h" |
| 14 #include "base/memory/weak_ptr.h" | 14 #include "base/memory/weak_ptr.h" |
| 15 #include "base/message_loop/message_loop.h" | 15 #include "base/message_loop/message_loop.h" |
| 16 #include "base/message_loop/timer_slack.h" |
| 16 #include "base/metrics/field_trial.h" | 17 #include "base/metrics/field_trial.h" |
| 17 #include "base/metrics/histogram.h" | 18 #include "base/metrics/histogram.h" |
| 18 #include "base/metrics/statistics_recorder.h" | 19 #include "base/metrics/statistics_recorder.h" |
| 19 #include "base/native_library.h" | 20 #include "base/native_library.h" |
| 20 #include "base/path_service.h" | 21 #include "base/path_service.h" |
| 21 #include "base/strings/utf_string_conversions.h" | 22 #include "base/strings/utf_string_conversions.h" |
| 22 #include "base/threading/platform_thread.h" | 23 #include "base/threading/platform_thread.h" |
| 23 #include "chrome/common/child_process_logging.h" | 24 #include "chrome/common/child_process_logging.h" |
| 24 #include "chrome/common/chrome_paths.h" | 25 #include "chrome/common/chrome_paths.h" |
| 25 #include "chrome/common/chrome_switches.h" | 26 #include "chrome/common/chrome_switches.h" |
| (...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 306 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetIsIncognitoProcess, | 307 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetIsIncognitoProcess, |
| 307 OnSetIsIncognitoProcess) | 308 OnSetIsIncognitoProcess) |
| 308 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetCacheCapacities, OnSetCacheCapacities) | 309 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetCacheCapacities, OnSetCacheCapacities) |
| 309 IPC_MESSAGE_HANDLER(ChromeViewMsg_ClearCache, OnClearCache) | 310 IPC_MESSAGE_HANDLER(ChromeViewMsg_ClearCache, OnClearCache) |
| 310 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetFieldTrialGroup, OnSetFieldTrialGroup) | 311 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetFieldTrialGroup, OnSetFieldTrialGroup) |
| 311 IPC_MESSAGE_HANDLER(ChromeViewMsg_GetV8HeapStats, OnGetV8HeapStats) | 312 IPC_MESSAGE_HANDLER(ChromeViewMsg_GetV8HeapStats, OnGetV8HeapStats) |
| 312 IPC_MESSAGE_HANDLER(ChromeViewMsg_GetCacheResourceStats, | 313 IPC_MESSAGE_HANDLER(ChromeViewMsg_GetCacheResourceStats, |
| 313 OnGetCacheResourceStats) | 314 OnGetCacheResourceStats) |
| 314 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetContentSettingRules, | 315 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetContentSettingRules, |
| 315 OnSetContentSettingRules) | 316 OnSetContentSettingRules) |
| 317 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetCoalesceTimers, |
| 318 OnSetTimerCoalescing) |
| 316 IPC_MESSAGE_UNHANDLED(handled = false) | 319 IPC_MESSAGE_UNHANDLED(handled = false) |
| 317 IPC_END_MESSAGE_MAP() | 320 IPC_END_MESSAGE_MAP() |
| 318 return handled; | 321 return handled; |
| 319 } | 322 } |
| 320 | 323 |
| 321 void ChromeRenderProcessObserver::WebKitInitialized() { | 324 void ChromeRenderProcessObserver::WebKitInitialized() { |
| 322 webkit_initialized_ = true; | 325 webkit_initialized_ = true; |
| 323 if (pending_cache_capacity_ != kUnitializedCacheCapacity) { | 326 if (pending_cache_capacity_ != kUnitializedCacheCapacity) { |
| 324 WebCache::setCapacities(pending_cache_min_dead_capacity_, | 327 WebCache::setCapacities(pending_cache_min_dead_capacity_, |
| 325 pending_cache_max_dead_capacity_, | 328 pending_cache_max_dead_capacity_, |
| (...skipping 21 matching lines...) Expand all Loading... |
| 347 void ChromeRenderProcessObserver::OnSetIsIncognitoProcess( | 350 void ChromeRenderProcessObserver::OnSetIsIncognitoProcess( |
| 348 bool is_incognito_process) { | 351 bool is_incognito_process) { |
| 349 is_incognito_process_ = is_incognito_process; | 352 is_incognito_process_ = is_incognito_process; |
| 350 } | 353 } |
| 351 | 354 |
| 352 void ChromeRenderProcessObserver::OnSetContentSettingRules( | 355 void ChromeRenderProcessObserver::OnSetContentSettingRules( |
| 353 const RendererContentSettingRules& rules) { | 356 const RendererContentSettingRules& rules) { |
| 354 content_setting_rules_ = rules; | 357 content_setting_rules_ = rules; |
| 355 } | 358 } |
| 356 | 359 |
| 360 void ChromeRenderProcessObserver::OnSetTimerCoalescing(bool enabled) { |
| 361 base::TimerSlack timer_slack = base::TIMER_SLACK_NONE; |
| 362 if (enabled) |
| 363 timer_slack = base::TIMER_SLACK_MAXIMUM; |
| 364 base::SetTimerSlack(timer_slack); |
| 365 } |
| 366 |
| 357 void ChromeRenderProcessObserver::OnSetCacheCapacities(size_t min_dead_capacity, | 367 void ChromeRenderProcessObserver::OnSetCacheCapacities(size_t min_dead_capacity, |
| 358 size_t max_dead_capacity, | 368 size_t max_dead_capacity, |
| 359 size_t capacity) { | 369 size_t capacity) { |
| 360 if (!webkit_initialized_) { | 370 if (!webkit_initialized_) { |
| 361 pending_cache_min_dead_capacity_ = min_dead_capacity; | 371 pending_cache_min_dead_capacity_ = min_dead_capacity; |
| 362 pending_cache_max_dead_capacity_ = max_dead_capacity; | 372 pending_cache_max_dead_capacity_ = max_dead_capacity; |
| 363 pending_cache_capacity_ = capacity; | 373 pending_cache_capacity_ = capacity; |
| 364 return; | 374 return; |
| 365 } | 375 } |
| 366 | 376 |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 404 if (clear_cache_pending_ && webkit_initialized_) { | 414 if (clear_cache_pending_ && webkit_initialized_) { |
| 405 clear_cache_pending_ = false; | 415 clear_cache_pending_ = false; |
| 406 WebCache::clear(); | 416 WebCache::clear(); |
| 407 } | 417 } |
| 408 } | 418 } |
| 409 | 419 |
| 410 const RendererContentSettingRules* | 420 const RendererContentSettingRules* |
| 411 ChromeRenderProcessObserver::content_setting_rules() const { | 421 ChromeRenderProcessObserver::content_setting_rules() const { |
| 412 return &content_setting_rules_; | 422 return &content_setting_rules_; |
| 413 } | 423 } |
| OLD | NEW |