aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/xwidget.el38
1 files changed, 21 insertions, 17 deletions
diff --git a/lisp/xwidget.el b/lisp/xwidget.el
index c83ab3b1e48..aeae8d59453 100644
--- a/lisp/xwidget.el
+++ b/lisp/xwidget.el
@@ -194,22 +194,26 @@ defaults to the string looking like a url around the cursor position."
194 (xwidget-resize xw (car size) (cadr size)))) 194 (xwidget-resize xw (car size) (cadr size))))
195 195
196 196
197(defvar xwidget-webkit-activeelement-js 197(defvar xwidget-webkit-activeelement-js"
198" 198function findactiveelement(doc){
199function findactiveelement(myframes){ 199//alert(doc.activeElement.value);
200if(document.activeElement.value != undefined) 200 if(doc.activeElement.value != undefined){
201 return document.activeElement; 201 return doc.activeElement;
202 for(i=0;i<myframes.length;i++){ 202 }else{
203 if(myframes[i].document.activeElement.value != undefined) 203 // recurse over the child documents:
204 return myframes[i].document.activeElement; 204 var frames = doc.getElementsByTagName('frame');
205 else{ 205 for (var i = 0; i < frames.length; i++)
206 if(myframes[i].frames.length > 0) 206 {
207 findactiveelement(myframes[i].frames); 207 var d = frames[i].contentDocument;
208 else 208 var rv = findactiveelement(d);
209 return; 209 if(rv != undefined){
210 return rv;
211 }
212 }
210 } 213 }
211 } 214 return undefined;
212} 215};
216
213 217
214" 218"
215 219
@@ -232,10 +236,10 @@ Argument STR string."
232 (field-value 236 (field-value
233 (progn 237 (progn
234 (xwidget-webkit-execute-script xww xwidget-webkit-activeelement-js) 238 (xwidget-webkit-execute-script xww xwidget-webkit-activeelement-js)
235 (xwidget-webkit-execute-script-rv xww "findactiveelement(frames).value")))) 239 (xwidget-webkit-execute-script-rv xww "findactiveelement(document).value;" ))))
236 (list xww 240 (list xww
237 (read-string "string:" field-value)))) 241 (read-string "string:" field-value))))
238 (xwidget-webkit-execute-script xw (format "findactiveelement(frames).value='%s'" str))) 242 (xwidget-webkit-execute-script xw (format "findactiveelement(document).value='%s'" str)))
239 243
240 244
241(defun xwidget-webkit-show-named-element (xw element-name) 245(defun xwidget-webkit-show-named-element (xw element-name)