OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 /** | 5 /** |
6 * The global object. | 6 * The global object. |
7 * @param {!Object} | 7 * @param {!Object} |
8 */ | 8 */ |
9 const global = this; | 9 const global = this; |
10 | 10 |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 var afterA = a.nextSibling; | 101 var afterA = a.nextSibling; |
102 if (afterA == b) { | 102 if (afterA == b) { |
103 swapDomNodes(b, a); | 103 swapDomNodes(b, a); |
104 return; | 104 return; |
105 } | 105 } |
106 var aParent = a.parentNode; | 106 var aParent = a.parentNode; |
107 b.parentNode.replaceChild(a, b); | 107 b.parentNode.replaceChild(a, b); |
108 aParent.insertBefore(b, afterA); | 108 aParent.insertBefore(b, afterA); |
109 } | 109 } |
110 | 110 |
111 /* | 111 // Handle click on a link. If the link points to a chrome: or file: url, then |
112 * Handles a click or mouseup on a link. If the link points to a chrome: or | 112 // call into the browser to do the navigation. |
113 * file: url, then call into the browser to do the navigation. | 113 document.addEventListener('click', function(e) { |
114 * @return {Object} e The click or mouseup event. | |
115 */ | |
116 function handleLinkClickOrMouseUp(e) { | |
117 var el = e.target; | 114 var el = e.target; |
118 if (el.nodeType == Node.ELEMENT_NODE && | 115 if (el.nodeType == Node.ELEMENT_NODE && |
119 el.webkitMatchesSelector('A, A *')) { | 116 el.webkitMatchesSelector('A, A *')) { |
120 while (el.tagName != 'A') { | 117 while (el.tagName != 'A') { |
121 el = el.parentElement; | 118 el = el.parentElement; |
122 } | 119 } |
123 | 120 |
124 if ((el.protocol == 'file:' || el.protocol == 'about:') && | 121 if ((el.protocol == 'file:' || el.protocol == 'about:') && |
125 ((e.button == 0 && e.type == 'click') || | 122 (e.button == 0 || e.button == 1)) { |
126 (e.button == 1 && e.type == 'mouseup'))) { | |
127 chrome.send('navigateToUrl', | 123 chrome.send('navigateToUrl', |
128 [el.href, String(e.button), String(e.ctrlKey), String(e.shiftKey), | 124 [el.href, e.button, e.altKey, e.ctrlKey, e.metaKey, e.shiftKey]); |
129 String(e.altKey)]); | |
130 e.preventDefault(); | 125 e.preventDefault(); |
131 } | 126 } |
132 } | 127 } |
133 } | 128 }); |
134 | |
135 document.addEventListener('click', handleLinkClickOrMouseUp, true); | |
136 document.addEventListener('mouseup', handleLinkClickOrMouseUp, true); | |
OLD | NEW |