Index: chrome/browser/ui/webui/options/browser_options_handler.cc |
diff --git a/chrome/browser/ui/webui/options/browser_options_handler.cc b/chrome/browser/ui/webui/options/browser_options_handler.cc |
index 5be4f546fee5583b6d09a5880da2d90686fcdcbf..e724918df4bdd4d0180024c1f5c08b69930c26f6 100644 |
--- a/chrome/browser/ui/webui/options/browser_options_handler.cc |
+++ b/chrome/browser/ui/webui/options/browser_options_handler.cc |
@@ -45,6 +45,7 @@ |
#include "chrome/browser/profiles/profile_shortcut_manager.h" |
#include "chrome/browser/profiles/profile_window.h" |
#include "chrome/browser/profiles/profiles_state.h" |
+#include "chrome/browser/safe_browsing/download_feedback_service.h" |
#include "chrome/browser/search/hotword_service.h" |
#include "chrome/browser/search/hotword_service_factory.h" |
#include "chrome/browser/search/search.h" |
@@ -133,6 +134,7 @@ using content::BrowserThread; |
using content::DownloadManager; |
using content::OpenURLParams; |
using content::Referrer; |
+using safe_browsing::DownloadFeedbackService; |
namespace options { |
@@ -299,6 +301,8 @@ void BrowserOptionsHandler::GetLocalizedValues(base::DictionaryValue* values) { |
IDS_RESET_PROFILE_SETTINGS_SECTION_TITLE }, |
{ "safeBrowsingEnableProtection", |
IDS_OPTIONS_SAFEBROWSING_ENABLEPROTECTION }, |
+ { "safeBrowsingEnableDownloadFeedback", |
+ IDS_OPTIONS_SAFEBROWSING_ENABLEDOWNLOADFEEDBACK }, |
{ "sectionTitleAppearance", IDS_APPEARANCE_GROUP_NAME }, |
{ "sectionTitleDefaultBrowser", IDS_OPTIONS_DEFAULTBROWSER_GROUP_NAME }, |
{ "sectionTitleUsers", IDS_PROFILES_OPTIONS_GROUP_NAME }, |
@@ -579,6 +583,15 @@ void BrowserOptionsHandler::GetLocalizedValues(base::DictionaryValue* values) { |
values->SetString("languagesLearnMoreURL", |
chrome::kLanguageSettingsLearnMoreUrl); |
+ |
+ PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); |
+ DownloadFeedbackService::DownloadReportingStatus reporting_pref = |
+ static_cast<DownloadFeedbackService::DownloadReportingStatus>( |
+ pref_service->GetInteger( |
+ prefs::kSafeBrowsingDownloadReportingEnabled)); |
+ values->SetBoolean( |
+ "sbDownloadFeedbackEnabled", |
+ reporting_pref == DownloadFeedbackService::kDownloadReportingEnabled); |
} |
#if defined(ENABLE_FULL_PRINTING) |
@@ -714,6 +727,10 @@ void BrowserOptionsHandler::RegisterMessages() { |
"requestHotwordAvailable", |
base::Bind(&BrowserOptionsHandler::HandleRequestHotwordAvailable, |
base::Unretained(this))); |
+ web_ui()->RegisterMessageCallback( |
+ "downloadFeedbackStatusChanged", |
+ base::Bind(&BrowserOptionsHandler::DownloadFeedbackStatusChanged, |
Dan Beam
2014/02/12 22:53:04
nit: HandleDownloadFeedbackStatusChanged
felt
2014/02/13 05:17:58
Done.
|
+ base::Unretained(this))); |
} |
void BrowserOptionsHandler::Uninitialize() { |
@@ -1532,6 +1549,22 @@ void BrowserOptionsHandler::HandleRequestHotwordAvailable( |
} |
} |
+void BrowserOptionsHandler::DownloadFeedbackStatusChanged( |
+ const base::ListValue* args) { |
+ bool enabled = false; |
+ args->GetBoolean(0, &enabled); |
Dan Beam
2014/02/12 22:53:04
nit:
bool success = args->GetBoolean(0, &enable
felt
2014/02/13 05:17:58
Done.
|
+ PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); |
+ if (enabled) { |
+ pref_service->SetInteger( |
+ prefs::kSafeBrowsingDownloadReportingEnabled, |
+ DownloadFeedbackService::kDownloadReportingEnabled); |
+ } else { |
+ pref_service->SetInteger( |
+ prefs::kSafeBrowsingDownloadReportingEnabled, |
+ DownloadFeedbackService::kDownloadReportingDisabled); |
+ } |
Dan Beam
2014/02/12 22:53:04
nit:
pref_service->SetInteger(
prefs::kSa
felt
2014/02/13 05:17:58
Done.
|
+} |
+ |
#if defined(OS_CHROMEOS) |
void BrowserOptionsHandler::HandleOpenWallpaperManager( |
const base::ListValue* args) { |