Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3539)

Unified Diff: chrome/browser/profile_resetter/profile_resetter.cc

Issue 333193002: Adding a SW reporter component updater (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Support no local state in tests Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/profile_resetter/profile_resetter.cc
diff --git a/chrome/browser/profile_resetter/profile_resetter.cc b/chrome/browser/profile_resetter/profile_resetter.cc
index 2ed5fdf34a7c91cd98ba4efac6a4ac9e6611d276..9714485a86474880057c334d6aad37dcc1d1b5f0 100644
--- a/chrome/browser/profile_resetter/profile_resetter.cc
+++ b/chrome/browser/profile_resetter/profile_resetter.cc
@@ -7,6 +7,7 @@
#include "base/prefs/pref_service.h"
#include "base/prefs/scoped_user_pref_update.h"
#include "base/synchronization/cancellation_flag.h"
+#include "chrome/browser/browser_process.h"
#include "chrome/browser/browsing_data/browsing_data_helper.h"
#include "chrome/browser/content_settings/host_content_settings_map.h"
#include "chrome/browser/extensions/extension_service.h"
@@ -30,6 +31,7 @@
#if defined(OS_WIN)
#include "base/base_paths.h"
#include "base/path_service.h"
+#include "chrome/browser/component_updater/sw_reporter_component_installer_win.h"
#include "chrome/installer/util/shell_util.h"
#include "content/public/browser/browser_thread.h"
@@ -77,6 +79,7 @@ ProfileResetter::~ProfileResetter() {
void ProfileResetter::Reset(
ProfileResetter::ResettableFlags resettable_flags,
scoped_ptr<BrandcodedDefaultSettings> master_settings,
+ bool accepted_send_feedback,
const base::Closure& callback) {
DCHECK(CalledOnValidThread());
DCHECK(master_settings);
@@ -121,6 +124,20 @@ void ProfileResetter::Reset(
}
}
+// When the user resets any of their settings on Windows, run the software
+// reporter tool to see if it could find the reason why the user wanted a
+// reset.
+#if defined(OS_WIN)
+ // The browser process and / or local_state can be NULL when running tests.
+ if (accepted_send_feedback && g_browser_process &&
+ g_browser_process->local_state() &&
+ g_browser_process->local_state()->GetBoolean(
+ prefs::kMetricsReportingEnabled)) {
+ RegisterSwReporterComponent(g_browser_process->component_updater(),
+ g_browser_process->local_state());
+ }
+#endif
+
DCHECK_EQ(resettable_flags, reset_triggered_for_flags);
}

Powered by Google App Engine
This is Rietveld 408576698