| 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/app/chrome_main_delegate.h" | 5 #include "chrome/app/chrome_main_delegate.h" |
| 6 | 6 |
| 7 #include "base/base_paths.h" | 7 #include "base/base_paths.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/cpu.h" | 9 #include "base/cpu.h" |
| 10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
| 11 #include "base/i18n/rtl.h" | 11 #include "base/i18n/rtl.h" |
| 12 #include "base/lazy_instance.h" | 12 #include "base/lazy_instance.h" |
| 13 #include "base/message_loop/message_loop.h" | 13 #include "base/message_loop/message_loop.h" |
| 14 #include "base/metrics/statistics_recorder.h" | 14 #include "base/metrics/statistics_recorder.h" |
| 15 #include "base/path_service.h" | 15 #include "base/path_service.h" |
| 16 #include "base/process/memory.h" | 16 #include "base/process/memory.h" |
| 17 #include "base/process/process_handle.h" | 17 #include "base/process/process_handle.h" |
| 18 #include "base/strings/string_util.h" | 18 #include "base/strings/string_util.h" |
| 19 #include "base/trace_event/trace_event_impl.h" |
| 19 #include "build/build_config.h" | 20 #include "build/build_config.h" |
| 20 #include "chrome/browser/chrome_content_browser_client.h" | 21 #include "chrome/browser/chrome_content_browser_client.h" |
| 21 #include "chrome/browser/defaults.h" | 22 #include "chrome/browser/defaults.h" |
| 22 #include "chrome/common/chrome_constants.h" | 23 #include "chrome/common/chrome_constants.h" |
| 23 #include "chrome/common/chrome_content_client.h" | 24 #include "chrome/common/chrome_content_client.h" |
| 24 #include "chrome/common/chrome_paths.h" | 25 #include "chrome/common/chrome_paths.h" |
| 25 #include "chrome/common/chrome_paths_internal.h" | 26 #include "chrome/common/chrome_paths_internal.h" |
| 26 #include "chrome/common/chrome_result_codes.h" | 27 #include "chrome/common/chrome_result_codes.h" |
| 27 #include "chrome/common/chrome_switches.h" | 28 #include "chrome/common/chrome_switches.h" |
| 28 #include "chrome/common/chrome_version_info.h" | 29 #include "chrome/common/chrome_version_info.h" |
| 29 #include "chrome/common/crash_keys.h" | 30 #include "chrome/common/crash_keys.h" |
| 30 #include "chrome/common/logging_chrome.h" | 31 #include "chrome/common/logging_chrome.h" |
| 31 #include "chrome/common/profiling.h" | 32 #include "chrome/common/profiling.h" |
| 32 #include "chrome/common/switch_utils.h" | 33 #include "chrome/common/switch_utils.h" |
| 34 #include "chrome/common/trace_event_args_whitelist.h" |
| 33 #include "chrome/common/url_constants.h" | 35 #include "chrome/common/url_constants.h" |
| 34 #include "chrome/plugin/chrome_content_plugin_client.h" | 36 #include "chrome/plugin/chrome_content_plugin_client.h" |
| 35 #include "chrome/renderer/chrome_content_renderer_client.h" | 37 #include "chrome/renderer/chrome_content_renderer_client.h" |
| 36 #include "chrome/utility/chrome_content_utility_client.h" | 38 #include "chrome/utility/chrome_content_utility_client.h" |
| 37 #include "components/component_updater/component_updater_paths.h" | 39 #include "components/component_updater/component_updater_paths.h" |
| 38 #include "components/content_settings/core/common/content_settings_pattern.h" | 40 #include "components/content_settings/core/common/content_settings_pattern.h" |
| 39 #include "components/startup_metric_utils/startup_metric_utils.h" | 41 #include "components/startup_metric_utils/startup_metric_utils.h" |
| 40 #include "content/public/common/content_client.h" | 42 #include "content/public/common/content_client.h" |
| 41 #include "content/public/common/content_paths.h" | 43 #include "content/public/common/content_paths.h" |
| 42 #include "extensions/common/constants.h" | 44 #include "extensions/common/constants.h" |
| (...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 431 // there have more impact. | 433 // there have more impact. |
| 432 const bool is_browser = !command_line.HasSwitch(switches::kProcessType); | 434 const bool is_browser = !command_line.HasSwitch(switches::kProcessType); |
| 433 ObjcEvilDoers::ZombieEnable(true, is_browser ? 10000 : 1000); | 435 ObjcEvilDoers::ZombieEnable(true, is_browser ? 10000 : 1000); |
| 434 | 436 |
| 435 SetUpBundleOverrides(); | 437 SetUpBundleOverrides(); |
| 436 chrome::common::mac::EnableCFBundleBlocker(); | 438 chrome::common::mac::EnableCFBundleBlocker(); |
| 437 #endif | 439 #endif |
| 438 | 440 |
| 439 Profiling::ProcessStarted(); | 441 Profiling::ProcessStarted(); |
| 440 | 442 |
| 443 base::trace_event::TraceLog::GetInstance()->SetArgumentFilterPredicate( |
| 444 base::Bind(&IsTraceEventArgsWhitelisted)); |
| 445 |
| 441 #if defined(OS_WIN) | 446 #if defined(OS_WIN) |
| 442 v8_breakpad_support::SetUp(); | 447 v8_breakpad_support::SetUp(); |
| 443 #endif | 448 #endif |
| 444 | 449 |
| 445 #if defined(OS_POSIX) | 450 #if defined(OS_POSIX) |
| 446 if (HandleVersionSwitches(command_line)) { | 451 if (HandleVersionSwitches(command_line)) { |
| 447 *exit_code = 0; | 452 *exit_code = 0; |
| 448 return true; // Got a --version switch; exit with a success error code. | 453 return true; // Got a --version switch; exit with a success error code. |
| 449 } | 454 } |
| 450 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) | 455 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) |
| (...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 980 case chrome::VersionInfo::CHANNEL_CANARY: | 985 case chrome::VersionInfo::CHANNEL_CANARY: |
| 981 return true; | 986 return true; |
| 982 case chrome::VersionInfo::CHANNEL_DEV: | 987 case chrome::VersionInfo::CHANNEL_DEV: |
| 983 case chrome::VersionInfo::CHANNEL_BETA: | 988 case chrome::VersionInfo::CHANNEL_BETA: |
| 984 case chrome::VersionInfo::CHANNEL_STABLE: | 989 case chrome::VersionInfo::CHANNEL_STABLE: |
| 985 default: | 990 default: |
| 986 // Don't enable instrumentation. | 991 // Don't enable instrumentation. |
| 987 return false; | 992 return false; |
| 988 } | 993 } |
| 989 } | 994 } |
| OLD | NEW |