@@ -167,9 +167,10 @@ Utils.initWebLoadingListener = function(respond, opt_window) {
167
167
} , respond . session . getPageLoadTimeout ( ) , window ) ;
168
168
} ;
169
169
170
- Utils . type = function ( doc , element , text , jsTimer , releaseModifiers ,
170
+ Utils . type = function ( session , element , text , jsTimer , releaseModifiers ,
171
171
opt_keysState ) {
172
172
173
+ var doc = session . getDocument ( ) ;
173
174
// For consistency between native and synthesized events, convert common
174
175
// escape sequences to their Key enum aliases.
175
176
text = text . replace ( / [ \b ] / g, '\uE003' ) . // DOM_VK_BACK_SPACE
@@ -200,25 +201,25 @@ Utils.type = function(doc, element, text, jsTimer, releaseModifiers,
200
201
if ( c == '\uE000' ) {
201
202
if ( controlKey ) {
202
203
var kCode = Components . interfaces . nsIDOMKeyEvent . DOM_VK_CONTROL ;
203
- Utils . keyEvent ( doc , element , 'keyup' , kCode , 0 ,
204
+ Utils . keyEvent ( session , element , 'keyup' , kCode , 0 ,
204
205
controlKey = false , shiftKey , altKey , metaKey ) ;
205
206
}
206
207
207
208
if ( shiftKey ) {
208
209
var kCode = Components . interfaces . nsIDOMKeyEvent . DOM_VK_SHIFT ;
209
- Utils . keyEvent ( doc , element , 'keyup' , kCode , 0 ,
210
+ Utils . keyEvent ( session , element , 'keyup' , kCode , 0 ,
210
211
controlKey , shiftKey = false , altKey , metaKey ) ;
211
212
}
212
213
213
214
if ( altKey ) {
214
215
var kCode = Components . interfaces . nsIDOMKeyEvent . DOM_VK_ALT ;
215
- Utils . keyEvent ( doc , element , 'keyup' , kCode , 0 ,
216
+ Utils . keyEvent ( session , element , 'keyup' , kCode , 0 ,
216
217
controlKey , shiftKey , altKey = false , metaKey ) ;
217
218
}
218
219
219
220
if ( metaKey ) {
220
221
var kCode = Components . interfaces . nsIDOMKeyEvent . DOM_VK_META ;
221
- Utils . keyEvent ( doc , element , 'keyup' , kCode , 0 ,
222
+ Utils . keyEvent ( session , element , 'keyup' , kCode , 0 ,
222
223
controlKey , shiftKey , altKey , metaKey = false ) ;
223
224
}
224
225
@@ -428,7 +429,7 @@ Utils.type = function(doc, element, text, jsTimer, releaseModifiers,
428
429
// generate modifier key event if needed, and continue
429
430
430
431
if ( modifierEvent ) {
431
- Utils . keyEvent ( doc , element , modifierEvent , keyCode , 0 ,
432
+ Utils . keyEvent ( session , element , modifierEvent , keyCode , 0 ,
432
433
controlKey , shiftKey , altKey , metaKey ) ;
433
434
continue ;
434
435
}
@@ -442,7 +443,7 @@ Utils.type = function(doc, element, text, jsTimer, releaseModifiers,
442
443
443
444
if ( needsShift && ! shiftKey ) {
444
445
var kCode = Components . interfaces . nsIDOMKeyEvent . DOM_VK_SHIFT ;
445
- Utils . keyEvent ( doc , element , 'keydown' , kCode , 0 ,
446
+ Utils . keyEvent ( session , element , 'keydown' , kCode , 0 ,
446
447
controlKey , true , altKey , metaKey ) ;
447
448
Utils . shiftCount += 1 ;
448
449
}
@@ -473,22 +474,22 @@ Utils.type = function(doc, element, text, jsTimer, releaseModifiers,
473
474
}
474
475
475
476
var accepted =
476
- Utils . keyEvent ( doc , element , 'keydown' , keyCode , 0 ,
477
+ Utils . keyEvent ( session , element , 'keydown' , keyCode , 0 ,
477
478
controlKey , needsShift || shiftKey , altKey , metaKey ) ;
478
479
479
480
if ( accepted ) {
480
- Utils . keyEvent ( doc , element , 'keypress' , pressCode , charCode ,
481
+ Utils . keyEvent ( session , element , 'keypress' , pressCode , charCode ,
481
482
controlKey , needsShift || shiftKey , altKey , metaKey ) ;
482
483
}
483
484
484
- Utils . keyEvent ( doc , element , 'keyup' , keyCode , 0 ,
485
+ Utils . keyEvent ( session , element , 'keyup' , keyCode , 0 ,
485
486
controlKey , needsShift || shiftKey , altKey , metaKey ) ;
486
487
487
488
// shift up if needed
488
489
489
490
if ( needsShift && ! shiftKey ) {
490
491
var kCode = Components . interfaces . nsIDOMKeyEvent . DOM_VK_SHIFT ;
491
- Utils . keyEvent ( doc , element , 'keyup' , kCode , 0 ,
492
+ Utils . keyEvent ( session , element , 'keyup' , kCode , 0 ,
492
493
controlKey , false , altKey , metaKey ) ;
493
494
}
494
495
}
@@ -497,25 +498,25 @@ Utils.type = function(doc, element, text, jsTimer, releaseModifiers,
497
498
498
499
if ( controlKey && releaseModifiers ) {
499
500
var kCode = Components . interfaces . nsIDOMKeyEvent . DOM_VK_CONTROL ;
500
- Utils . keyEvent ( doc , element , 'keyup' , kCode , 0 ,
501
+ Utils . keyEvent ( session , element , 'keyup' , kCode , 0 ,
501
502
controlKey = false , shiftKey , altKey , metaKey ) ;
502
503
}
503
504
504
505
if ( shiftKey && releaseModifiers ) {
505
506
var kCode = Components . interfaces . nsIDOMKeyEvent . DOM_VK_SHIFT ;
506
- Utils . keyEvent ( doc , element , 'keyup' , kCode , 0 ,
507
+ Utils . keyEvent ( session , element , 'keyup' , kCode , 0 ,
507
508
controlKey , shiftKey = false , altKey , metaKey ) ;
508
509
}
509
510
510
511
if ( altKey && releaseModifiers ) {
511
512
var kCode = Components . interfaces . nsIDOMKeyEvent . DOM_VK_ALT ;
512
- Utils . keyEvent ( doc , element , 'keyup' , kCode , 0 ,
513
+ Utils . keyEvent ( session , element , 'keyup' , kCode , 0 ,
513
514
controlKey , shiftKey , altKey = false , metaKey ) ;
514
515
}
515
516
516
517
if ( metaKey && releaseModifiers ) {
517
518
var kCode = Components . interfaces . nsIDOMKeyEvent . DOM_VK_META ;
518
- Utils . keyEvent ( doc , element , 'keyup' , kCode , 0 ,
519
+ Utils . keyEvent ( session , element , 'keyup' , kCode , 0 ,
519
520
controlKey , shiftKey , altKey , metaKey = false ) ;
520
521
}
521
522
@@ -528,8 +529,10 @@ Utils.type = function(doc, element, text, jsTimer, releaseModifiers,
528
529
} ;
529
530
530
531
531
- Utils . keyEvent = function ( doc , element , type , keyCode , charCode ,
532
+ Utils . keyEvent = function ( session , element , type , keyCode , charCode ,
532
533
controlState , shiftState , altState , metaState ) {
534
+
535
+ var doc = session . getDocument ( ) ;
533
536
// Silently bail out if the element is no longer attached to the DOM.
534
537
var isAttachedToDom = goog . dom . getAncestor ( element , function ( node ) {
535
538
return node === element . ownerDocument . documentElement ;
@@ -539,7 +542,7 @@ Utils.keyEvent = function(doc, element, type, keyCode, charCode,
539
542
return false ;
540
543
}
541
544
542
- var windowUtils = doc . defaultView
545
+ var windowUtils = session . getChromeWindow ( )
543
546
. QueryInterface ( Components . interfaces . nsIInterfaceRequestor )
544
547
. getInterface ( Components . interfaces . nsIDOMWindowUtils ) ;
545
548
0 commit comments