12
12
13
13
import { findEventTasks } from '../common/events' ;
14
14
import { patchTimer } from '../common/timers' ;
15
- import { bindArguments , i , j , o , patchClass , patchMacroTask , patchMethod , patchOnProperties , patchPrototype , r , zoneSymbol } from '../common/utils' ;
15
+ import { bindArguments , patchClass , patchMacroTask , patchMethod , patchOnProperties , patchPrototype , ZONE_SYMBOL_ADD_EVENT_LISTENER , ZONE_SYMBOL_REMOVE_EVENT_LISTENER , zoneSymbol } from '../common/utils' ;
16
16
17
17
import { propertyPatch } from './define-property' ;
18
18
import { eventTargetPatch , patchEvent } from './event-target' ;
19
19
import { propertyDescriptorPatch } from './property-descriptor' ;
20
20
import { registerElementPatch } from './register-element' ;
21
21
22
- ( Zone as any ) . l ( 'util' , ( global : any , Zone : ZoneType , api : _ZonePrivate ) => {
22
+ Zone . __load_patch ( 'util' , ( global : any , Zone : ZoneType , api : _ZonePrivate ) => {
23
23
api . patchOnProperties = patchOnProperties ;
24
24
api . patchMethod = patchMethod ;
25
25
api . bindArguments = bindArguments ;
26
26
} ) ;
27
27
28
- ( Zone as any ) . l ( 'timers' , ( global : any ) => {
28
+ Zone . __load_patch ( 'timers' , ( global : any ) => {
29
29
const set = 'set' ;
30
30
const clear = 'clear' ;
31
31
patchTimer ( global , set , clear , 'Timeout' ) ;
32
32
patchTimer ( global , set , clear , 'Interval' ) ;
33
33
patchTimer ( global , set , clear , 'Immediate' ) ;
34
34
} ) ;
35
35
36
- ( Zone as any ) . l ( 'requestAnimationFrame' , ( global : any ) => {
36
+ Zone . __load_patch ( 'requestAnimationFrame' , ( global : any ) => {
37
37
patchTimer ( global , 'request' , 'cancel' , 'AnimationFrame' ) ;
38
38
patchTimer ( global , 'mozRequest' , 'mozCancel' , 'AnimationFrame' ) ;
39
39
patchTimer ( global , 'webkitRequest' , 'webkitCancel' , 'AnimationFrame' ) ;
40
40
} ) ;
41
41
42
- ( Zone as any ) . l ( 'blocking' , ( global : any , Zone : ZoneType ) => {
42
+ Zone . __load_patch ( 'blocking' , ( global : any , Zone : ZoneType ) => {
43
43
const blockingMethods = [ 'alert' , 'prompt' , 'confirm' ] ;
44
44
for ( let i = 0 ; i < blockingMethods . length ; i ++ ) {
45
45
const name = blockingMethods [ i ] ;
46
46
patchMethod ( global , name , ( delegate , symbol , name ) => {
47
47
return function ( s : any , args : any [ ] ) {
48
- // Zone.current.run
49
- return ( Zone as any ) . c . r ( delegate , global , args , name ) ;
48
+ return Zone . current . run ( delegate , global , args , name ) ;
50
49
} ;
51
50
} ) ;
52
51
}
53
52
} ) ;
54
53
55
- ( Zone as any ) . l ( 'EventTarget' , ( global : any , Zone : ZoneType , api : _ZonePrivate ) => {
54
+ Zone . __load_patch ( 'EventTarget' , ( global : any , Zone : ZoneType , api : _ZonePrivate ) => {
56
55
// load blackListEvents from global
57
56
// Zone.__symbol__
58
- const SYMBOL_BLACK_LISTED_EVENTS = ( Zone as any ) . s ( 'BLACK_LISTED_EVENTS' ) ;
57
+ const SYMBOL_BLACK_LISTED_EVENTS = Zone . __symbol__ ( 'BLACK_LISTED_EVENTS' ) ;
59
58
if ( global [ SYMBOL_BLACK_LISTED_EVENTS ] ) {
60
59
( Zone as any ) [ SYMBOL_BLACK_LISTED_EVENTS ] = global [ SYMBOL_BLACK_LISTED_EVENTS ] ;
61
60
}
@@ -73,25 +72,24 @@ import {registerElementPatch} from './register-element';
73
72
patchClass ( 'FileReader' ) ;
74
73
} ) ;
75
74
76
- ( Zone as any ) . l ( 'on_property' , ( global : any , Zone : ZoneType , api : _ZonePrivate ) => {
75
+ Zone . __load_patch ( 'on_property' , ( global : any , Zone : ZoneType , api : _ZonePrivate ) => {
77
76
propertyDescriptorPatch ( api , global ) ;
78
77
propertyPatch ( ) ;
79
78
registerElementPatch ( global ) ;
80
79
} ) ;
81
80
82
- ( Zone as any ) . l ( 'canvas' , ( global : any ) => {
81
+ Zone . __load_patch ( 'canvas' , ( global : any ) => {
83
82
const HTMLCanvasElement = global [ 'HTMLCanvasElement' ] ;
84
- // o is 'undefined'
85
- if ( typeof HTMLCanvasElement !== o && HTMLCanvasElement . prototype &&
83
+ if ( typeof HTMLCanvasElement !== 'undefined' && HTMLCanvasElement . prototype &&
86
84
HTMLCanvasElement . prototype . toBlob ) {
87
85
patchMacroTask ( HTMLCanvasElement . prototype , 'toBlob' , ( self : any , args : any [ ] ) => {
88
86
return { name : 'HTMLCanvasElement.toBlob' , target : self , cbIdx : 0 , args : args } ;
89
87
} ) ;
90
88
}
91
89
} ) ;
92
90
93
- ( Zone as any ) . l ( 'XHR' , ( global : any , Zone : ZoneType ) => {
94
- // Treat XMLHTTPRequest as a macrotask.
91
+ Zone . __load_patch ( 'XHR' , ( global : any , Zone : ZoneType ) => {
92
+ // Treat XMLHttpRequest as a macrotask.
95
93
patchXHR ( global ) ;
96
94
97
95
const XHR_TASK = zoneSymbol ( 'xhrTask' ) ;
@@ -111,18 +109,17 @@ import {registerElementPatch} from './register-element';
111
109
const XMLHttpRequestPrototype : any = XMLHttpRequest . prototype ;
112
110
113
111
function findPendingTask ( target : any ) {
114
- const pendingTask : Task = target [ XHR_TASK ] ;
115
- return pendingTask ;
112
+ return target [ XHR_TASK ] ;
116
113
}
117
114
118
- let oriAddListener = XMLHttpRequestPrototype [ i ] ;
119
- let oriRemoveListener = XMLHttpRequestPrototype [ j ] ;
115
+ let oriAddListener = XMLHttpRequestPrototype [ ZONE_SYMBOL_ADD_EVENT_LISTENER ] ;
116
+ let oriRemoveListener = XMLHttpRequestPrototype [ ZONE_SYMBOL_REMOVE_EVENT_LISTENER ] ;
120
117
if ( ! oriAddListener ) {
121
118
const XMLHttpRequestEventTarget = window [ 'XMLHttpRequestEventTarget' ] ;
122
119
if ( XMLHttpRequestEventTarget ) {
123
120
const XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget . prototype ;
124
- oriAddListener = XMLHttpRequestEventTargetPrototype [ i ] ;
125
- oriRemoveListener = XMLHttpRequestEventTargetPrototype [ j ] ;
121
+ oriAddListener = XMLHttpRequestEventTargetPrototype [ ZONE_SYMBOL_ADD_EVENT_LISTENER ] ;
122
+ oriRemoveListener = XMLHttpRequestEventTargetPrototype [ ZONE_SYMBOL_REMOVE_EVENT_LISTENER ] ;
126
123
}
127
124
}
128
125
@@ -136,14 +133,12 @@ import {registerElementPatch} from './register-element';
136
133
// remove existing event listener
137
134
const listener = target [ XHR_LISTENER ] ;
138
135
if ( ! oriAddListener ) {
139
- // i is addEventListener zoneSymbol
140
- // j is removeEventListener zoneSymbol
141
- oriAddListener = target [ i ] ;
142
- oriRemoveListener = target [ j ] ;
136
+ oriAddListener = target [ ZONE_SYMBOL_ADD_EVENT_LISTENER ] ;
137
+ oriRemoveListener = target [ ZONE_SYMBOL_REMOVE_EVENT_LISTENER ] ;
143
138
}
144
139
145
140
if ( listener ) {
146
- oriRemoveListener . apply ( target , [ READY_STATE_CHANGE , listener ] ) ;
141
+ oriRemoveListener . call ( target , READY_STATE_CHANGE , listener ) ;
147
142
}
148
143
const newListener = target [ XHR_LISTENER ] = ( ) => {
149
144
if ( target . readyState === target . DONE ) {
@@ -154,7 +149,7 @@ import {registerElementPatch} from './register-element';
154
149
}
155
150
}
156
151
} ;
157
- oriAddListener . apply ( target , [ READY_STATE_CHANGE , newListener ] ) ;
152
+ oriAddListener . call ( target , READY_STATE_CHANGE , newListener ) ;
158
153
159
154
const storedTask : Task = target [ XHR_TASK ] ;
160
155
if ( ! storedTask ) {
@@ -186,7 +181,7 @@ import {registerElementPatch} from './register-element';
186
181
const sendNative : Function =
187
182
patchMethod ( XMLHttpRequestPrototype , 'send' , ( ) => function ( self : any , args : any [ ] ) {
188
183
// Zone.current
189
- const zone = ( Zone as any ) . c ;
184
+ const zone = Zone . current ;
190
185
if ( self [ XHR_SYNC ] ) {
191
186
// if the XHR is sync there is no task to schedule, just execute the code.
192
187
return sendNative . apply ( self , args ) ;
@@ -199,16 +194,14 @@ import {registerElementPatch} from './register-element';
199
194
args : args ,
200
195
aborted : false
201
196
} ;
202
- // Zone.scheduleMacroTask
203
- return zone . sc (
197
+ return zone . scheduleMacroTask (
204
198
XMLHTTPREQUEST_SOURCE , placeholderCallback , options , scheduleTask , clearTask ) ;
205
199
}
206
200
} ) ;
207
201
208
202
const abortNative = patchMethod ( XMLHttpRequestPrototype , 'abort' , ( ) => function ( self : any ) {
209
203
const task : Task = findPendingTask ( self ) ;
210
- // r is 'string'
211
- if ( task && typeof task . type == r ) {
204
+ if ( task && typeof task . type == 'string' ) {
212
205
// If the XHR has already completed, do nothing.
213
206
// If the XHR has already been aborted, do nothing.
214
207
// Fix #569, call abort multiple times before done will cause
@@ -217,7 +210,7 @@ import {registerElementPatch} from './register-element';
217
210
return ;
218
211
}
219
212
// Zone.cancelTask
220
- ( task . zone as any ) . ct ( task ) ;
213
+ task . zone . cancelTask ( task ) ;
221
214
}
222
215
// Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no
223
216
// task
@@ -226,14 +219,14 @@ import {registerElementPatch} from './register-element';
226
219
}
227
220
} ) ;
228
221
229
- ( Zone as any ) . l ( 'geolocation' , ( global : any ) => {
222
+ Zone . __load_patch ( 'geolocation' , ( global : any ) => {
230
223
/// GEO_LOCATION
231
224
if ( global [ 'navigator' ] && global [ 'navigator' ] . geolocation ) {
232
225
patchPrototype ( global [ 'navigator' ] . geolocation , [ 'getCurrentPosition' , 'watchPosition' ] ) ;
233
226
}
234
227
} ) ;
235
228
236
- ( Zone as any ) . l ( 'PromiseRejectionEvent' , ( global : any , Zone : ZoneType ) => {
229
+ Zone . __load_patch ( 'PromiseRejectionEvent' , ( global : any , Zone : ZoneType ) => {
237
230
// handle unhandled promise rejection
238
231
function findPromiseRejectionHandler ( evtName : string ) {
239
232
return function ( e : any ) {
0 commit comments