diff options
author | maruel@google.com <maruel@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-09-13 01:49:57 +0000 |
---|---|---|
committer | maruel@google.com <maruel@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-09-13 01:49:57 +0000 |
commit | 220043208469fbc19aaa4aed6ae7f75aabbf95b9 (patch) | |
tree | b0f9223a211de11116c6354c4f770bab7fa4db25 /chrome/browser/views | |
parent | 60bf8fa69c1fe068ff8db444e98fd110e6e4b4e3 (diff) | |
download | chromium_src-220043208469fbc19aaa4aed6ae7f75aabbf95b9.zip chromium_src-220043208469fbc19aaa4aed6ae7f75aabbf95b9.tar.gz chromium_src-220043208469fbc19aaa4aed6ae7f75aabbf95b9.tar.bz2 |
Back r2151 since it causes ui tests failures.
Review URL: http://codereview.chromium.org/3037
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2161 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views')
-rw-r--r-- | chrome/browser/views/options/advanced_contents_view.cc | 62 |
1 files changed, 23 insertions, 39 deletions
diff --git a/chrome/browser/views/options/advanced_contents_view.cc b/chrome/browser/views/options/advanced_contents_view.cc index ccfb98a..1bb4343 100644 --- a/chrome/browser/views/options/advanced_contents_view.cc +++ b/chrome/browser/views/options/advanced_contents_view.cc @@ -34,7 +34,6 @@ #include "chrome/common/pref_member.h" #include "chrome/common/pref_names.h" #include "chrome/common/resource_bundle.h" -#include "chrome/installer/util/google_update_settings.h" #include "chrome/views/background.h" #include "chrome/views/checkbox.h" #include "chrome/views/combo_box.h" @@ -324,8 +323,6 @@ class GeneralSection : public AdvancedSection, StringPrefMember auto_open_files_; BooleanPrefMember enable_metrics_recording_; - void ResolveMetricsReportingEnabled(); - DISALLOW_EVIL_CONSTRUCTORS(GeneralSection); }; @@ -345,15 +342,24 @@ void GeneralSection::ButtonPressed(ChromeViews::NativeButton* sender) { profile()->GetPrefs()); } else if (sender == reporting_enabled_checkbox_) { bool enabled = reporting_enabled_checkbox_->IsSelected(); - if (enabled) - UserMetricsRecordAction(L"Options_MetricsReportingCheckbox_Enable", + // Do what we can, but we might not be able to get what was asked for. + bool done = g_browser_process->metrics_service()->EnableReporting(enabled); + if (!done) { + enabled = !enabled; + done = g_browser_process->metrics_service()->EnableReporting(enabled); + DCHECK(done); + reporting_enabled_checkbox_->SetIsSelected(enabled); + } else { + if (enabled) { + UserMetricsRecordAction(L"Options_MetricsReportingCheckbox_Enable", profile()->GetPrefs()); - else - UserMetricsRecordAction(L"Options_MetricsReportingCheckbox_Disable", + } else { + UserMetricsRecordAction(L"Options_MetricsReportingCheckbox_Disable", profile()->GetPrefs()); - ResolveMetricsReportingEnabled(); - if (enabled == reporting_enabled_checkbox_->IsSelected()) + } RestartMessageBox::ShowMessageBox(GetRootWindow()); + } + enable_metrics_recording_.SetValue(enabled); } } @@ -438,37 +444,15 @@ void GeneralSection::NotifyPrefChanged(const std::wstring* pref_name) { reset_file_handlers_button_->SetEnabled(enabled); } if (!pref_name || *pref_name == prefs::kMetricsReportingEnabled) { - ResolveMetricsReportingEnabled(); - } -} - -void GeneralSection::ResolveMetricsReportingEnabled() { - bool enabled = reporting_enabled_checkbox_->IsSelected(); - - GoogleUpdateSettings::SetCollectStatsConsent(enabled); - bool update_pref = GoogleUpdateSettings::GetCollectStatsConsent(); - - if (enabled != update_pref) { - DLOG(INFO) << - "GENERAL SECTION: Unable to set crash report status to " << - enabled; - } - - // Only change the pref if GoogleUpdateSettings::GetCollectStatsConsent - // succeeds. - enabled = update_pref; - - MetricsService* metrics = g_browser_process->metrics_service(); - DCHECK(metrics); - if (metrics) { - metrics->SetUserPermitsUpload(enabled); - if (enabled) - metrics->Start(); - else - metrics->Stop(); + bool enabled = enable_metrics_recording_.GetValue(); + bool done = g_browser_process->metrics_service()->EnableReporting(enabled); + if (!done) { + enabled = !enabled; + done = g_browser_process->metrics_service()->EnableReporting(enabled); + DCHECK(done); + } + reporting_enabled_checkbox_->SetIsSelected(enabled); } - - reporting_enabled_checkbox_->SetIsSelected(enabled); } //////////////////////////////////////////////////////////////////////////////// |