OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // This is the shared code for the new (Chrome 37) security interstitials. It is | 5 // This is the shared code for the new (Chrome 37) security interstitials. It is |
6 // used for both SSL interstitials and Safe Browsing interstitials. | 6 // used for both SSL interstitials and Safe Browsing interstitials. |
7 | 7 |
8 var expandedDetails = false; | 8 var expandedDetails = false; |
| 9 var keyPressState = 0; |
| 10 |
| 11 /* |
| 12 * A convenience method for sending commands to the parent page. |
| 13 * @param {string} cmd The command to send. |
| 14 */ |
| 15 function sendCommand(cmd) { |
| 16 window.domAutomationController.setAutomationId(1); |
| 17 window.domAutomationController.send(cmd); |
| 18 } |
| 19 |
| 20 /* |
| 21 * This allows errors to be skippped by typing "danger" into the page. |
| 22 * @param {string} e The key that was just pressed. |
| 23 */ |
| 24 function handleKeypress(e) { |
| 25 var BYPASS_SEQUENCE = 'danger'; |
| 26 if (BYPASS_SEQUENCE.charCodeAt(keyPressState) == e.keyCode) { |
| 27 keyPressState++; |
| 28 if (keyPressState == BYPASS_SEQUENCE.length) { |
| 29 sendCommand(CMD_PROCEED); |
| 30 keyPressState = 0; |
| 31 } |
| 32 } else { |
| 33 keyPressState = 0; |
| 34 } |
| 35 } |
9 | 36 |
10 function setupEvents() { | 37 function setupEvents() { |
11 var overridable = loadTimeData.getBoolean('overridable'); | 38 var overridable = loadTimeData.getBoolean('overridable'); |
12 var ssl = loadTimeData.getBoolean('ssl'); | 39 var ssl = loadTimeData.getBoolean('ssl'); |
13 | 40 |
14 if (ssl) { | 41 if (ssl) { |
15 $('body').classList.add('ssl'); | 42 $('body').classList.add('ssl'); |
16 $('error-code').textContent = loadTimeData.getString('errorCode'); | 43 $('error-code').textContent = loadTimeData.getString('errorCode'); |
17 $('error-code').classList.remove('hidden'); | 44 $('error-code').classList.remove('hidden'); |
18 } else { | 45 } else { |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
63 loadTimeData.getString('closeDetails'); | 90 loadTimeData.getString('closeDetails'); |
64 if (!expandedDetails) { | 91 if (!expandedDetails) { |
65 // Record a histogram entry only the first time that details is opened. | 92 // Record a histogram entry only the first time that details is opened. |
66 sendCommand(ssl ? CMD_MORE : SB_CMD_EXPANDED_SEE_MORE); | 93 sendCommand(ssl ? CMD_MORE : SB_CMD_EXPANDED_SEE_MORE); |
67 expandedDetails = true; | 94 expandedDetails = true; |
68 } | 95 } |
69 }); | 96 }); |
70 | 97 |
71 preventDefaultOnPoundLinkClicks(); | 98 preventDefaultOnPoundLinkClicks(); |
72 setupCheckbox(); | 99 setupCheckbox(); |
| 100 document.addEventListener('keypress', handleKeypress); |
73 } | 101 } |
74 | 102 |
75 document.addEventListener('DOMContentLoaded', setupEvents); | 103 document.addEventListener('DOMContentLoaded', setupEvents); |
OLD | NEW |