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

Unified Diff: chrome/browser/resources/security_warnings/extended_reporting.js

Issue 935663004: Add checkbox for reporting invalid TLS/SSL cert chains (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add report-sending callback for browser tests Created 5 years, 10 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/resources/security_warnings/extended_reporting.js
diff --git a/chrome/browser/resources/security_warnings/extended_reporting.js b/chrome/browser/resources/security_warnings/extended_reporting.js
new file mode 100644
index 0000000000000000000000000000000000000000..b444cd7a104343aaf4f9e59e9c874f3125d6a942
--- /dev/null
+++ b/chrome/browser/resources/security_warnings/extended_reporting.js
@@ -0,0 +1,55 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+'use strict';
+
+// Must match the commands handled by SafeBrowsingBlockingPage::CommandReceived.
+var SB_CMD_DO_REPORT = 'doReport';
+var SB_CMD_DONT_REPORT = 'dontReport';
+var SB_CMD_EXPANDED_SEE_MORE = 'expandedSeeMore';
+var SB_CMD_LEARN_MORE_2 = 'learnMore2';
+var SB_CMD_PROCEED = 'proceed';
+var SB_CMD_SHOW_DIAGNOSTIC = 'showDiagnostic';
+var SB_CMD_SHOW_PRIVACY = 'showPrivacy';
+var SB_CMD_TAKE_ME_BACK = 'takeMeBack';
+
+// Other constants defined in security_interstitial_page.h.
+var SB_BOX_CHECKED = 'boxchecked';
+var SB_DISPLAY_CHECK_BOX = 'displaycheckbox';
+
+// This sets up the Extended Safe Browsing Reporting opt-in, either for
+// reporting malware or invalid certificate chains. Does nothing if the
+// interstitial type is not SAFEBROWSING or SSL.
+function setupExtendedReportingCheckbox() {
+ var interstitialType = loadTimeData.getString('type');
+ if (interstitialType != 'SAFEBROWSING' && interstitialType != 'SSL') {
+ return;
+ }
+
+ if (!loadTimeData.getBoolean(SB_DISPLAY_CHECK_BOX)) {
+ return;
+ }
+
+ $('opt-in-label').innerHTML = loadTimeData.getString('optInLink');
+ $('opt-in-checkbox').checked = loadTimeData.getBoolean(SB_BOX_CHECKED);
+ $('extended-reporting-opt-in').classList.remove('hidden');
+
+ var className = interstitialType == 'SAFEBROWSING' ? 'safe-browsing-opt-in' :
+ 'ssl-opt-in';
+ $('extended-reporting-opt-in').classList.add(className);
+
+ $('body').classList.add('extended-reporting-has-checkbox');
+
+ $('opt-in-checkbox').addEventListener('click', function() {
+ var command;
+ if ($('opt-in-checkbox').checked) {
+ command = interstitialType == 'SAFEBROWSING' ?
+ SB_CMD_DO_REPORT : SSL_CMD_DO_REPORT;
+ } else {
+ command = interstitialType == 'SAFEBROWSING' ?
+ SB_CMD_DONT_REPORT : SSL_CMD_DONT_REPORT;
+ }
+ sendCommand(command);
+ });
+}

Powered by Google App Engine
This is Rietveld 408576698