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); |
+ }); |
+} |