93 @return generated script |
93 @return generated script |
94 @rtype str |
94 @rtype str |
95 """ |
95 """ |
96 source = """ |
96 source = """ |
97 (function() { |
97 (function() { |
98 var external = {}; |
98 var external = {}; |
99 |
99 external.AddSearchProvider = function(url) { |
100 window.external = external; |
100 window.location = 'eric:AddSearchProvider?url=' + url; |
101 |
101 }; |
102 window.print = function() { |
102 external.IsSearchProviderInstalled = function(url) { |
103 window.location = 'eric:PrintPage'; |
103 console.warn('NOT IMPLEMENTED: IsSearchProviderInstalled()'); |
104 }; |
104 return false; |
|
105 }; |
|
106 window.external = external; |
|
107 window.print = function() { |
|
108 window.location = 'eric:PrintPage'; |
|
109 }; |
105 })()""" |
110 })()""" |
106 |
111 |
107 return source |
112 return source |
108 |
113 |
109 |
114 |
138 @rtype str |
143 @rtype str |
139 """ |
144 """ |
140 source = """ |
145 source = """ |
141 (function() {{ |
146 (function() {{ |
142 var e = document.elementFromPoint({0}, {1}); |
147 var e = document.elementFromPoint({0}, {1}); |
143 if (!e || e.tagName != 'INPUT') |
148 if (!e || e.tagName.toLowerCase() != 'input') |
144 return; |
149 return; |
145 var fe = e.parentElement; |
150 var fe = e.parentElement; |
146 while (fe) {{ |
151 while (fe) {{ |
147 if (fe.tagName == 'FORM') |
152 if (fe.tagName.toLowerCase() != 'form') |
148 break; |
153 break; |
149 fe = fe.parentElement; |
154 fe = fe.parentElement; |
150 }} |
155 }} |
151 if (!fe) |
156 if (!fe) |
152 return; |
157 return; |
334 |
339 |
335 for (var i = 0; i < document.forms.length; ++i) |
340 for (var i = 0; i < document.forms.length; ++i) |
336 registerForm(document.forms[i]); |
341 registerForm(document.forms[i]); |
337 |
342 |
338 var observer = new MutationObserver(function(mutations) { |
343 var observer = new MutationObserver(function(mutations) { |
339 for (var i = 0; i < mutations.length; ++i) |
344 for (var mutation of mutations) |
340 for (var j = 0; j < mutations[i].addedNodes.length; ++j) |
345 for (var node of mutation.addedNodes) |
341 if (mutations[i].addedNodes[j].tagName == 'FORM') |
346 if (node.tagName && node.tagName.toLowerCase() == 'form') |
342 registerForm(mutations[i].addedNodes[j]); |
347 registerForm(node); |
343 }); |
348 }); |
344 observer.observe(document.documentElement, { |
349 observer.observe(document.documentElement, { |
345 childList: true, subtree: true |
350 childList: true, subtree: true |
346 }); |
351 }); |
347 |
352 |