| Index: chrome/browser/resources/security_warnings/safe_browsing.js
|
| diff --git a/chrome/browser/resources/security_warnings/safe_browsing.js b/chrome/browser/resources/security_warnings/safe_browsing.js
|
| index 3673da5ceefcc616a57118fa3d285c562b05d3a0..bf7001eb30556ffc5a7258a8430dc7eb96e08f8c 100644
|
| --- a/chrome/browser/resources/security_warnings/safe_browsing.js
|
| +++ b/chrome/browser/resources/security_warnings/safe_browsing.js
|
| @@ -12,24 +12,47 @@ var SB_CMD_SHOW_DIAGNOSTIC = 'showDiagnostic';
|
| var SB_CMD_SHOW_PRIVACY = 'showPrivacy';
|
| var SB_CMD_TAKE_ME_BACK = 'takeMeBack';
|
|
|
| -// Other constants defined in safe_browsing_blocking_page.cc.
|
| +// Must match SSLBlockingPageCommands in ssl_blocking_page.h.
|
| +var SSL_CMD_DO_REPORT = 6;
|
| +var SSL_CMD_DONT_REPORT = 7;
|
| +
|
| +// 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.
|
| -function setupCheckbox() {
|
| - if (loadTimeData.getString('type') != 'SAFEBROWSING' ||
|
| +// This sets up the Extended Safe Browsing Reporting opt-in, either for
|
| +// reporting malware or invalid certificate chains, depending on which
|
| +// |type| is passed in. |type| can be 'SAFEBROWSING' or
|
| +// 'SSL' (to set up the invalid cert collection checkbox).
|
| +function setupCheckbox(type) {
|
| + if (type != 'SAFEBROWSING' && type != 'SSL') {
|
| + throw new Error('setupCheckbox called for invalid interstitial.');
|
| + }
|
| +
|
| + var container = type == 'SAFEBROWSING' ?
|
| + 'malware-opt-in' : 'cert-collection-opt-in';
|
| +
|
| + if (loadTimeData.getString('type') != type ||
|
| !loadTimeData.getBoolean(SB_DISPLAY_CHECK_BOX)) {
|
| return;
|
| }
|
|
|
| - $('opt-in-label').innerHTML = loadTimeData.getString('optInLink');
|
| - $('opt-in-checkbox').checked = loadTimeData.getBoolean(SB_BOX_CHECKED);
|
| - $('malware-opt-in').classList.remove('hidden');
|
| + $(container + '-label').innerHTML =
|
| + loadTimeData.getString('optInLink');
|
| + $(container + '-checkbox').checked =
|
| + loadTimeData.getBoolean(SB_BOX_CHECKED);
|
| +
|
| + $(container).classList.remove('hidden');
|
| $('body').classList.add('safe-browsing-has-checkbox');
|
|
|
| - $('opt-in-checkbox').addEventListener('click', function() {
|
| - sendCommand(
|
| - $('opt-in-checkbox').checked ? SB_CMD_DO_REPORT : SB_CMD_DONT_REPORT);
|
| + $(container + '-checkbox').addEventListener('click', function() {
|
| + var command;
|
| + if ($(container + '-checkbox').checked) {
|
| + command = type == 'SAFEBROWSING' ? SB_CMD_DO_REPORT : SSL_CMD_DO_REPORT;
|
| + } else {
|
| + command = type == 'SAFEBROWSING' ?
|
| + SB_CMD_DONT_REPORT : SSL_CMD_DONT_REPORT;
|
| + }
|
| + sendCommand(command);
|
| });
|
| }
|
|
|