| 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 d37e61c882cdce46253696a2b1549b2a94f2dd26..995b62847dfd8437df65e0d6ff6641969f19c228 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 and agreed to sending
|
| +// feedback, 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)) {
|
| + ExecuteSwReporterComponent(g_browser_process->component_updater(),
|
| + g_browser_process->local_state());
|
| + }
|
| +#endif
|
| +
|
| DCHECK_EQ(resettable_flags, reset_triggered_for_flags);
|
| }
|
|
|
|
|