@@ -128,16 +128,17 @@ export class ImmediateDefinition {
128128 // * https://developer.mozilla.org/en/DOM/window.postMessage
129129 // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages
130130 const root = this . root ;
131- const runIfPresent = this . runIfPresent ;
132131
133132 let messagePrefix = 'setImmediate$' + root . Math . random ( ) + '$' ;
134- let onGlobalMessage = function ( event ) {
133+ let onGlobalMessage = function globalMessageHandler ( event ) {
134+ const instance = ( < any > globalMessageHandler ) . instance ;
135135 if ( event . source === root &&
136136 typeof event . data === 'string' &&
137137 event . data . indexOf ( messagePrefix ) === 0 ) {
138- runIfPresent ( + event . data . slice ( messagePrefix . length ) ) ;
138+ instance . runIfPresent ( + event . data . slice ( messagePrefix . length ) ) ;
139139 }
140140 } ;
141+ ( < any > onGlobalMessage ) . instance = this ;
141142
142143 root . addEventListener ( 'message' , onGlobalMessage , false ) ;
143144
@@ -198,7 +199,7 @@ export class ImmediateDefinition {
198199 createReadyStateChangeSetImmediate ( ) {
199200 let fn = function setImmediate ( ) {
200201 const instance = ( < any > setImmediate ) . instance ;
201- const { root, runIfPresent } = instance ;
202+ const root = instance . root ;
202203 const doc = root . document ;
203204 const html = doc . documentElement ;
204205
@@ -207,7 +208,7 @@ export class ImmediateDefinition {
207208 // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.
208209 let script = doc . createElement ( 'script' ) ;
209210 script . onreadystatechange = ( ) => {
210- runIfPresent ( handle ) ;
211+ instance . runIfPresent ( handle ) ;
211212 script . onreadystatechange = null ;
212213 html . removeChild ( script ) ;
213214 script = null ;
0 commit comments