Chromium Code Reviews| 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. |
|
mattm
2015/03/17 20:58:12
This file also needs to be updated for the command
estark
2015/03/18 15:57:18
Done.
|
| +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); |
| + }); |
| +} |