summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_main.cc
diff options
context:
space:
mode:
authorpetersont@google.com <petersont@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-10-16 02:18:07 +0000
committerpetersont@google.com <petersont@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-10-16 02:18:07 +0000
commitd01b873dae981f54da8b3d0a818cb0c487d56ec6 (patch)
treee82f49c73a0ae789c96c5752bc239e45861c3dea /chrome/browser/browser_main.cc
parent41aa0e41f6b14d4d6c847a2498994ef382d51f38 (diff)
downloadchromium_src-d01b873dae981f54da8b3d0a818cb0c487d56ec6.zip
chromium_src-d01b873dae981f54da8b3d0a818cb0c487d56ec6.tar.gz
chromium_src-d01b873dae981f54da8b3d0a818cb0c487d56ec6.tar.bz2
This is the same change as 2419 minus a line of debug code I accidentally left in browser_main.cc which ignored the user preference.
Review URL: http://codereview.chromium.org/4229 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3448 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browser_main.cc')
-rw-r--r--chrome/browser/browser_main.cc21
1 files changed, 17 insertions, 4 deletions
diff --git a/chrome/browser/browser_main.cc b/chrome/browser/browser_main.cc
index 049a402..6e819b2 100644
--- a/chrome/browser/browser_main.cc
+++ b/chrome/browser/browser_main.cc
@@ -531,14 +531,27 @@ int BrowserMain(CommandLine &parsed_command_line, int show_command,
MetricsService* metrics = NULL;
if (!parsed_command_line.HasSwitch(switches::kDisableMetrics)) {
- if (parsed_command_line.HasSwitch(switches::kDisableMetricsReporting)) {
+ if (parsed_command_line.HasSwitch(switches::kMetricsRecordingOnly)) {
local_state->transient()->SetBoolean(prefs::kMetricsReportingEnabled,
false);
}
metrics = browser_process->metrics_service();
DCHECK(metrics);
- // Start user experience metrics recording, if enabled.
- metrics->SetRecording(local_state->GetBoolean(prefs::kMetricsIsRecording));
+
+ // If we're testing then we don't care what the user
+ // preference is, we turn on recording, but not reporting, otherwise tests
+ // fail.
+ if (parsed_command_line.HasSwitch(switches::kMetricsRecordingOnly)) {
+ metrics->StartRecordingOnly();
+ } else {
+ // If the user permits metrics reporting with the checkbox in the
+ // prefs, we turn on recording.
+ bool enabled = local_state->GetBoolean(prefs::kMetricsReportingEnabled);
+
+ metrics->SetUserPermitsUpload(enabled);
+ if (enabled)
+ metrics->Start();
+ }
}
InstallJankometer(parsed_command_line);
@@ -559,7 +572,7 @@ int BrowserMain(CommandLine &parsed_command_line, int show_command,
}
if (metrics)
- metrics->SetRecording(false); // Force persistent save.
+ metrics->Stop();
// browser_shutdown takes care of deleting browser_process, so we need to
// release it.