OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/browser_main.h" | 5 #include "chrome/browser/browser_main.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 963 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
974 // deletions. We need this new instance because, the old instance created | 974 // deletions. We need this new instance because, the old instance created |
975 // in ChromeMain() got destructed when the function returned. | 975 // in ChromeMain() got destructed when the function returned. |
976 base::AtExitManager exit_manager; | 976 base::AtExitManager exit_manager; |
977 Upgrade::RelaunchChromeBrowserWithNewCommandLineIfNeeded(); | 977 Upgrade::RelaunchChromeBrowserWithNewCommandLineIfNeeded(); |
978 } | 978 } |
979 #endif | 979 #endif |
980 | 980 |
981 #if defined(USE_LINUX_BREAKPAD) | 981 #if defined(USE_LINUX_BREAKPAD) |
982 bool IsMetricsReportingEnabled(const PrefService* local_state) { | 982 bool IsMetricsReportingEnabled(const PrefService* local_state) { |
983 // Check whether we should initialize the crash reporter. It may be disabled | 983 // Check whether we should initialize the crash reporter. It may be disabled |
984 // through configuration policy or user preference. The kHeadless environment | 984 // through configuration policy or user preference. |
985 // variable overrides the decision, but only if the crash service is under | 985 // The kHeadless environment variable overrides the decision, but only if the |
986 // control of the user. The CHROME_HEADLESS environment variable is used by QA | 986 // crash service is under control of the user. It is used by QA testing |
987 // testing infrastructure to switch on generation of crash reports. | 987 // infrastructure to switch on generation of crash reports. |
988 #if defined(OS_CHROMEOS) | 988 #if defined(OS_CHROMEOS) |
989 bool breakpad_enabled = | 989 bool breakpad_enabled = |
990 chromeos::MetricsCrosSettingsProvider::GetMetricsStatus(); | 990 chromeos::MetricsCrosSettingsProvider::GetMetricsStatus(); |
| 991 if (!breakpad_enabled) |
| 992 breakpad_enabled = getenv(env_vars::kHeadless) != NULL; |
991 #else | 993 #else |
992 const PrefService::Preference* metrics_reporting_enabled = | 994 const PrefService::Preference* metrics_reporting_enabled = |
993 local_state->FindPreference(prefs::kMetricsReportingEnabled); | 995 local_state->FindPreference(prefs::kMetricsReportingEnabled); |
994 CHECK(metrics_reporting_enabled); | 996 CHECK(metrics_reporting_enabled); |
995 bool breakpad_enabled = | 997 bool breakpad_enabled = |
996 local_state->GetBoolean(prefs::kMetricsReportingEnabled); | 998 local_state->GetBoolean(prefs::kMetricsReportingEnabled); |
997 if (!breakpad_enabled && metrics_reporting_enabled->IsUserModifiable()) | 999 if (!breakpad_enabled && metrics_reporting_enabled->IsUserModifiable()) |
998 breakpad_enabled = getenv(env_vars::kHeadless) != NULL; | 1000 breakpad_enabled = getenv(env_vars::kHeadless) != NULL; |
999 #endif // #if defined(OS_CHROMEOS) | 1001 #endif // #if defined(OS_CHROMEOS) |
1000 return breakpad_enabled; | 1002 return breakpad_enabled; |
(...skipping 662 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1663 metrics->Stop(); | 1665 metrics->Stop(); |
1664 | 1666 |
1665 // browser_shutdown takes care of deleting browser_process, so we need to | 1667 // browser_shutdown takes care of deleting browser_process, so we need to |
1666 // release it. | 1668 // release it. |
1667 ignore_result(browser_process.release()); | 1669 ignore_result(browser_process.release()); |
1668 browser_shutdown::Shutdown(); | 1670 browser_shutdown::Shutdown(); |
1669 | 1671 |
1670 TRACE_EVENT_END("BrowserMain", 0, 0); | 1672 TRACE_EVENT_END("BrowserMain", 0, 0); |
1671 return result_code; | 1673 return result_code; |
1672 } | 1674 } |
OLD | NEW |