File tree Expand file tree Collapse file tree 1 file changed +17
-12
lines changed Expand file tree Collapse file tree 1 file changed +17
-12
lines changed Original file line number Diff line number Diff line change @@ -71,6 +71,11 @@ var nwWrapEventsMap = {
71
71
'navigation' : 'onNavigation'
72
72
} ;
73
73
74
+ var wrapEventsMapNewWin = {
75
+ 'focus' : 'onFocusChanged' ,
76
+ 'blur' : 'onFocusChanged'
77
+ } ;
78
+
74
79
nw_internal . registerCustomHook ( function ( bindingsAPI ) {
75
80
var apiFunctions = bindingsAPI . apiFunctions ;
76
81
apiFunctions . setHandleRequest ( 'getCurrent' , function ( ) {
@@ -283,11 +288,13 @@ NWWindow.prototype.removeListener = function (event, callback) {
283
288
}
284
289
}
285
290
}
286
- switch ( event ) {
287
- case 'focus' :
288
- case 'blur' :
289
- chrome . windows . onFocusChanged . removeListener ( callback . __nw_cb ) ;
290
- break ;
291
+ if ( wrapEventsMapNewWin . hasOwnProperty ( event ) ) {
292
+ for ( let l of chrome . windows [ wrapEventsMapNewWin [ event ] ] . getListeners ( ) ) {
293
+ if ( l . callback . listener && l . callback . listener === callback ) {
294
+ this [ nwWrapEventsMap [ event ] ] . removeListener ( l . callback ) ;
295
+ return this ;
296
+ }
297
+ }
291
298
}
292
299
return this ;
293
300
} ;
@@ -320,13 +327,11 @@ NWWindow.prototype.removeAllListeners = function (event) {
320
327
}
321
328
return this ;
322
329
}
323
- switch ( event ) {
324
- case 'focus' :
325
- this . appWindow . contentWindow . onfocus = null ;
326
- break ;
327
- case 'blur' :
328
- this . appWindow . contentWindow . onblur = null ;
329
- break ;
330
+ if ( wrapEventsMapNewWin . hasOwnProperty ( event ) ) {
331
+ for ( let l of chrome . windows [ wrapEventsMapNewWin [ event ] ] . getListeners ( ) ) {
332
+ chrome . windows [ wrapEventsMapNewWin [ event ] ] . removeListener ( l . callback ) ;
333
+ }
334
+ return this ;
330
335
}
331
336
return this ;
332
337
} ;
You can’t perform that action at this time.
0 commit comments