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

Unified Diff: chrome/browser/safe_browsing/safe_browsing_blocking_page.cc

Issue 6066011: Add a checkbox to the malware interstitial page, for user to opt-in to send m... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 11 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/safe_browsing/safe_browsing_blocking_page.cc
===================================================================
--- chrome/browser/safe_browsing/safe_browsing_blocking_page.cc (revision 70746)
+++ chrome/browser/safe_browsing/safe_browsing_blocking_page.cc (working copy)
@@ -15,6 +15,7 @@
#include "base/string_number_conversions.h"
#include "base/utf_string_conversions.h"
#include "base/values.h"
+#include "chrome/browser/browser_process.h"
#include "chrome/browser/browser_thread.h"
#include "chrome/browser/dom_operation_notification_details.h"
#include "chrome/browser/dom_ui/new_tab_ui.h"
@@ -72,6 +73,10 @@
static const char* const kLearnMoreCommand = "learnMore";
static const char* const kProceedCommand = "proceed";
static const char* const kTakeMeBackCommand = "takeMeBack";
+static const char* const kDoReportCommand = "doReport";
+static const char* const kDontReportCommand = "dontReport";
+static const char* const kDisplayCheckBox = "displaycheckbox";
+static const char* const kBoxChecked = "boxchecked";
// static
SafeBrowsingBlockingPageFactory* SafeBrowsingBlockingPage::factory_ = NULL;
@@ -316,6 +321,27 @@
strings->SetString("proceed_link",
l10n_util::GetStringUTF16(IDS_SAFE_BROWSING_MALWARE_PROCEED_LINK));
strings->SetString("textdirection", base::i18n::IsRTL() ? "rtl" : "ltr");
+
+ if (!CanShowMalwareDetailsOption()) {
+ strings->SetBoolean(kDisplayCheckBox, false);
+ } else {
+ // Show the checkbox for sending malware details.
+ strings->SetBoolean(kDisplayCheckBox, true);
+ strings->SetString(
+ "confirm_text",
+ l10n_util::GetStringUTF16(IDS_SAFE_BROWSING_MALWARE_REPORTING_AGREE));
+
+ const PrefService::Preference* pref =
+ tab()->profile()->GetPrefs()->FindPreference(
+ prefs::kSafeBrowsingReportingEnabled);
+
+ bool value;
+ if (pref && pref->GetValue()->GetAsBoolean(&value) && value) {
+ strings->SetString(kBoxChecked, "yes");
+ } else {
+ strings->SetString(kBoxChecked, "");
+ }
+ }
}
void SafeBrowsingBlockingPage::PopulatePhishingStringDictionary(
@@ -349,6 +375,16 @@
command = command.substr(1, command.length() - 2);
}
+ if (command == kDoReportCommand) {
+ SetReportingPreference(true);
+ return;
+ }
+
+ if (command == kDontReportCommand) {
+ SetReportingPreference(false);
+ return;
+ }
+
if (command == kLearnMoreCommand) {
// User pressed "Learn more".
GURL url;
@@ -424,6 +460,11 @@
NOTREACHED() << "Unexpected command: " << command;
}
+void SafeBrowsingBlockingPage::SetReportingPreference(bool report) {
+ PrefService* pref = tab()->profile()->GetPrefs();
+ pref->SetBoolean(prefs::kSafeBrowsingReportingEnabled, report);
+}
+
void SafeBrowsingBlockingPage::Proceed() {
RecordUserAction(PROCEED);
FinishMalwareDetails(); // Send the malware details, if we opted to.

Powered by Google App Engine
This is Rietveld 408576698