summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views
diff options
context:
space:
mode:
authormaruel@google.com <maruel@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-09-13 01:49:57 +0000
committermaruel@google.com <maruel@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-09-13 01:49:57 +0000
commit220043208469fbc19aaa4aed6ae7f75aabbf95b9 (patch)
treeb0f9223a211de11116c6354c4f770bab7fa4db25 /chrome/browser/views
parent60bf8fa69c1fe068ff8db444e98fd110e6e4b4e3 (diff)
downloadchromium_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.cc62
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);
}
////////////////////////////////////////////////////////////////////////////////