OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 13 matching lines...) Expand all Loading... |
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
29 */ | 29 */ |
30 | 30 |
31 /** | 31 /** |
32 * @implements {SDK.SDKModelObserver<!SDK.NetworkManager>} | 32 * @implements {SDK.SDKModelObserver<!SDK.NetworkManager>} |
33 */ | 33 */ |
34 SDK.NetworkLog = class { | 34 NetworkLog.NetworkLog = class { |
35 constructor() { | 35 constructor() { |
36 /** @type {!Array<!SDK.NetworkRequest>} */ | 36 /** @type {!Array<!SDK.NetworkRequest>} */ |
37 this._requests = []; | 37 this._requests = []; |
38 /** @type {!Map<!SDK.Target, !Map<string, !SDK.NetworkRequest>>} */ | 38 /** @type {!Map<!SDK.Target, !Map<string, !SDK.NetworkRequest>>} */ |
39 this._requestsByTargetAndId = new Map(); | 39 this._requestsByTargetAndId = new Map(); |
40 /** @type {!Map<!SDK.Target, !SDK.PageLoad>} */ | 40 /** @type {!Map<!SDK.Target, !NetworkLog.PageLoad>} */ |
41 this._currentPageLoad = new Map(); | 41 this._currentPageLoad = new Map(); |
42 SDK.targetManager.observeModels(SDK.NetworkManager, this); | 42 SDK.targetManager.observeModels(SDK.NetworkManager, this); |
43 } | 43 } |
44 | 44 |
45 /** | 45 /** |
46 * @override | 46 * @override |
47 * @param {!SDK.NetworkManager} networkManager | 47 * @param {!SDK.NetworkManager} networkManager |
48 */ | 48 */ |
49 modelAdded(networkManager) { | 49 modelAdded(networkManager) { |
50 var eventListeners = []; | 50 var eventListeners = []; |
51 eventListeners.push( | 51 eventListeners.push( |
52 networkManager.addEventListener(SDK.NetworkManager.Events.RequestStarted
, this._onRequestStarted, this)); | 52 networkManager.addEventListener(SDK.NetworkManager.Events.RequestStarted
, this._onRequestStarted, this)); |
53 eventListeners.push(networkManager.on(SDK.NetworkManager.RequestRedirectEven
t, this._onRequestRedirect, this)); | 53 eventListeners.push(networkManager.on(SDK.NetworkManager.RequestRedirectEven
t, this._onRequestRedirect, this)); |
54 | 54 |
55 var resourceTreeModel = networkManager.target().model(SDK.ResourceTreeModel)
; | 55 var resourceTreeModel = networkManager.target().model(SDK.ResourceTreeModel)
; |
56 if (resourceTreeModel) { | 56 if (resourceTreeModel) { |
57 eventListeners.push(resourceTreeModel.addEventListener( | 57 eventListeners.push(resourceTreeModel.addEventListener( |
58 SDK.ResourceTreeModel.Events.MainFrameNavigated, this._onMainFrameNavi
gated, this)); | 58 SDK.ResourceTreeModel.Events.MainFrameNavigated, this._onMainFrameNavi
gated, this)); |
59 eventListeners.push(resourceTreeModel.addEventListener( | 59 eventListeners.push(resourceTreeModel.addEventListener( |
60 SDK.ResourceTreeModel.Events.Load, this._onLoad.bind(this, resourceTre
eModel))); | 60 SDK.ResourceTreeModel.Events.Load, this._onLoad.bind(this, resourceTre
eModel))); |
61 eventListeners.push(resourceTreeModel.addEventListener( | 61 eventListeners.push(resourceTreeModel.addEventListener( |
62 SDK.ResourceTreeModel.Events.DOMContentLoaded, this._onDOMContentLoade
d.bind(this, resourceTreeModel))); | 62 SDK.ResourceTreeModel.Events.DOMContentLoaded, this._onDOMContentLoade
d.bind(this, resourceTreeModel))); |
63 } | 63 } |
64 | 64 |
65 networkManager[SDK.NetworkLog._events] = eventListeners; | 65 networkManager[NetworkLog.NetworkLog._events] = eventListeners; |
66 this._requestsByTargetAndId.set(networkManager.target(), new Map()); | 66 this._requestsByTargetAndId.set(networkManager.target(), new Map()); |
67 } | 67 } |
68 | 68 |
69 /** | 69 /** |
70 * @override | 70 * @override |
71 * @param {!SDK.NetworkManager} networkManager | 71 * @param {!SDK.NetworkManager} networkManager |
72 */ | 72 */ |
73 modelRemoved(networkManager) { | 73 modelRemoved(networkManager) { |
74 this._requestsByTargetAndId.delete(networkManager.target()); | 74 this._requestsByTargetAndId.delete(networkManager.target()); |
75 Common.EventTarget.removeEventListeners(networkManager[SDK.NetworkLog._event
s]); | 75 Common.EventTarget.removeEventListeners(networkManager[NetworkLog.NetworkLog
._events]); |
76 } | 76 } |
77 | 77 |
78 /** | 78 /** |
79 * @param {string} url | 79 * @param {string} url |
80 * @return {?SDK.NetworkRequest} | 80 * @return {?SDK.NetworkRequest} |
81 */ | 81 */ |
82 requestForURL(url) { | 82 requestForURL(url) { |
83 return this._requests.find(request => request.url() === url) || null; | 83 return this._requests.find(request => request.url() === url) || null; |
84 } | 84 } |
85 | 85 |
(...skipping 26 matching lines...) Expand all Loading... |
112 if (request.url() === url) | 112 if (request.url() === url) |
113 return request; | 113 return request; |
114 } | 114 } |
115 return null; | 115 return null; |
116 } | 116 } |
117 | 117 |
118 /** | 118 /** |
119 * @param {!SDK.NetworkRequest} request | 119 * @param {!SDK.NetworkRequest} request |
120 */ | 120 */ |
121 _initializeInitiatorSymbolIfNeeded(request) { | 121 _initializeInitiatorSymbolIfNeeded(request) { |
122 if (!request[SDK.NetworkLog._initiatorDataSymbol]) { | 122 if (!request[NetworkLog.NetworkLog._initiatorDataSymbol]) { |
123 /** @type {!{info: ?SDK.NetworkLog._InitiatorInfo, chain: !Set<!SDK.Networ
kRequest>, request: (?SDK.NetworkRequest|undefined)}} */ | 123 /** @type {!{info: ?NetworkLog.NetworkLog._InitiatorInfo, chain: !Set<!SDK
.NetworkRequest>, request: (?SDK.NetworkRequest|undefined)}} */ |
124 request[SDK.NetworkLog._initiatorDataSymbol] = { | 124 request[NetworkLog.NetworkLog._initiatorDataSymbol] = { |
125 info: null, | 125 info: null, |
126 chain: null, | 126 chain: null, |
127 request: undefined, | 127 request: undefined, |
128 }; | 128 }; |
129 } | 129 } |
130 } | 130 } |
131 | 131 |
132 /** | 132 /** |
133 * @param {!SDK.NetworkRequest} request | 133 * @param {!SDK.NetworkRequest} request |
134 * @return {!SDK.NetworkLog._InitiatorInfo} | 134 * @return {!NetworkLog.NetworkLog._InitiatorInfo} |
135 */ | 135 */ |
136 initiatorInfoForRequest(request) { | 136 initiatorInfoForRequest(request) { |
137 this._initializeInitiatorSymbolIfNeeded(request); | 137 this._initializeInitiatorSymbolIfNeeded(request); |
138 if (request[SDK.NetworkLog._initiatorDataSymbol].info) | 138 if (request[NetworkLog.NetworkLog._initiatorDataSymbol].info) |
139 return request[SDK.NetworkLog._initiatorDataSymbol].info; | 139 return request[NetworkLog.NetworkLog._initiatorDataSymbol].info; |
140 | 140 |
141 var type = SDK.NetworkRequest.InitiatorType.Other; | 141 var type = SDK.NetworkRequest.InitiatorType.Other; |
142 var url = ''; | 142 var url = ''; |
143 var lineNumber = -Infinity; | 143 var lineNumber = -Infinity; |
144 var columnNumber = -Infinity; | 144 var columnNumber = -Infinity; |
145 var scriptId = null; | 145 var scriptId = null; |
146 var initiator = request.initiator(); | 146 var initiator = request.initiator(); |
147 | 147 |
148 if (request.redirectSource) { | 148 if (request.redirectSource) { |
149 type = SDK.NetworkRequest.InitiatorType.Redirect; | 149 type = SDK.NetworkRequest.InitiatorType.Redirect; |
(...skipping 13 matching lines...) Expand all Loading... |
163 lineNumber = topFrame.lineNumber; | 163 lineNumber = topFrame.lineNumber; |
164 columnNumber = topFrame.columnNumber; | 164 columnNumber = topFrame.columnNumber; |
165 scriptId = topFrame.scriptId; | 165 scriptId = topFrame.scriptId; |
166 break; | 166 break; |
167 } | 167 } |
168 } else if (initiator.type === Protocol.Network.InitiatorType.Preload) { | 168 } else if (initiator.type === Protocol.Network.InitiatorType.Preload) { |
169 type = SDK.NetworkRequest.InitiatorType.Preload; | 169 type = SDK.NetworkRequest.InitiatorType.Preload; |
170 } | 170 } |
171 } | 171 } |
172 | 172 |
173 request[SDK.NetworkLog._initiatorDataSymbol].info = | 173 request[NetworkLog.NetworkLog._initiatorDataSymbol].info = |
174 {type: type, url: url, lineNumber: lineNumber, columnNumber: columnNumbe
r, scriptId: scriptId}; | 174 {type: type, url: url, lineNumber: lineNumber, columnNumber: columnNumbe
r, scriptId: scriptId}; |
175 return request[SDK.NetworkLog._initiatorDataSymbol].info; | 175 return request[NetworkLog.NetworkLog._initiatorDataSymbol].info; |
176 } | 176 } |
177 | 177 |
178 /** | 178 /** |
179 * @param {!SDK.NetworkRequest} request | 179 * @param {!SDK.NetworkRequest} request |
180 * @return {!SDK.NetworkLog.InitiatorGraph} | 180 * @return {!NetworkLog.NetworkLog.InitiatorGraph} |
181 */ | 181 */ |
182 initiatorGraphForRequest(request) { | 182 initiatorGraphForRequest(request) { |
183 /** @type {!Set<!SDK.NetworkRequest>} */ | 183 /** @type {!Set<!SDK.NetworkRequest>} */ |
184 var initiated = new Set(); | 184 var initiated = new Set(); |
185 var map = this._requestsByTargetAndId.get(request.target()); | 185 var map = this._requestsByTargetAndId.get(request.target()); |
186 if (map) { | 186 if (map) { |
187 for (var otherRequest of map.values()) { | 187 for (var otherRequest of map.values()) { |
188 if (this._initiatorChain(otherRequest).has(request)) | 188 if (this._initiatorChain(otherRequest).has(request)) |
189 initiated.add(otherRequest); | 189 initiated.add(otherRequest); |
190 } | 190 } |
191 } | 191 } |
192 return {initiators: this._initiatorChain(request), initiated: initiated}; | 192 return {initiators: this._initiatorChain(request), initiated: initiated}; |
193 } | 193 } |
194 | 194 |
195 /** | 195 /** |
196 * @param {!SDK.NetworkRequest} request | 196 * @param {!SDK.NetworkRequest} request |
197 * @return {!Set<!SDK.NetworkRequest>} | 197 * @return {!Set<!SDK.NetworkRequest>} |
198 */ | 198 */ |
199 _initiatorChain(request) { | 199 _initiatorChain(request) { |
200 this._initializeInitiatorSymbolIfNeeded(request); | 200 this._initializeInitiatorSymbolIfNeeded(request); |
201 var initiatorChainCache = | 201 var initiatorChainCache = |
202 /** @type {?Set<!SDK.NetworkRequest>} */ (request[SDK.NetworkLog._initia
torDataSymbol].chain); | 202 /** @type {?Set<!SDK.NetworkRequest>} */ (request[NetworkLog.NetworkLog.
_initiatorDataSymbol].chain); |
203 if (initiatorChainCache) | 203 if (initiatorChainCache) |
204 return initiatorChainCache; | 204 return initiatorChainCache; |
205 | 205 |
206 initiatorChainCache = new Set(); | 206 initiatorChainCache = new Set(); |
207 | 207 |
208 var checkRequest = request; | 208 var checkRequest = request; |
209 do { | 209 do { |
210 initiatorChainCache.add(checkRequest); | 210 initiatorChainCache.add(checkRequest); |
211 checkRequest = this._initiatorRequest(checkRequest); | 211 checkRequest = this._initiatorRequest(checkRequest); |
212 } while (checkRequest); | 212 } while (checkRequest); |
213 request[SDK.NetworkLog._initiatorDataSymbol].chain = initiatorChainCache; | 213 request[NetworkLog.NetworkLog._initiatorDataSymbol].chain = initiatorChainCa
che; |
214 return initiatorChainCache; | 214 return initiatorChainCache; |
215 } | 215 } |
216 | 216 |
217 /** | 217 /** |
218 * @param {!SDK.NetworkRequest} request | 218 * @param {!SDK.NetworkRequest} request |
219 * @return {?SDK.NetworkRequest} | 219 * @return {?SDK.NetworkRequest} |
220 */ | 220 */ |
221 _initiatorRequest(request) { | 221 _initiatorRequest(request) { |
222 this._initializeInitiatorSymbolIfNeeded(request); | 222 this._initializeInitiatorSymbolIfNeeded(request); |
223 if (request[SDK.NetworkLog._initiatorDataSymbol].request !== undefined) | 223 if (request[NetworkLog.NetworkLog._initiatorDataSymbol].request !== undefine
d) |
224 return request[SDK.NetworkLog._initiatorDataSymbol].request; | 224 return request[NetworkLog.NetworkLog._initiatorDataSymbol].request; |
225 var url = this.initiatorInfoForRequest(request).url; | 225 var url = this.initiatorInfoForRequest(request).url; |
226 request[SDK.NetworkLog._initiatorDataSymbol].request = this._requestForURLIn
Target(url, request.target()); | 226 request[NetworkLog.NetworkLog._initiatorDataSymbol].request = this._requestF
orURLInTarget(url, request.target()); |
227 return request[SDK.NetworkLog._initiatorDataSymbol].request; | 227 return request[NetworkLog.NetworkLog._initiatorDataSymbol].request; |
228 } | 228 } |
229 | 229 |
230 /** | 230 /** |
231 * @param {!SDK.NetworkRequest} request | 231 * @param {!SDK.NetworkRequest} request |
232 * @return {?SDK.PageLoad} | 232 * @return {?NetworkLog.PageLoad} |
233 */ | 233 */ |
234 pageLoadForRequest(request) { | 234 pageLoadForRequest(request) { |
235 return request[SDK.NetworkLog._pageLoadForRequestSymbol]; | 235 return request[NetworkLog.NetworkLog._pageLoadForRequestSymbol]; |
236 } | 236 } |
237 | 237 |
238 /** | 238 /** |
239 * @param {!Common.Event} event | 239 * @param {!Common.Event} event |
240 */ | 240 */ |
241 _onMainFrameNavigated(event) { | 241 _onMainFrameNavigated(event) { |
242 var mainFrame = /** @type {!SDK.ResourceTreeFrame} */ (event.data); | 242 var mainFrame = /** @type {!SDK.ResourceTreeFrame} */ (event.data); |
243 var target = mainFrame.target(); | 243 var target = mainFrame.target(); |
244 this._currentPageLoad.delete(target); | 244 this._currentPageLoad.delete(target); |
245 var oldRequests = this.requestsForTarget(target); | 245 var oldRequests = this.requestsForTarget(target); |
246 this._requests = this._requests.filter(request => request.target() !== targe
t); | 246 this._requests = this._requests.filter(request => request.target() !== targe
t); |
247 var idMap = new Map(); | 247 var idMap = new Map(); |
248 this._requestsByTargetAndId.set(target, idMap); | 248 this._requestsByTargetAndId.set(target, idMap); |
249 | 249 |
250 // Preserve requests from the new session. | 250 // Preserve requests from the new session. |
251 var currentPageLoad = null; | 251 var currentPageLoad = null; |
252 for (var i = 0; i < oldRequests.length; ++i) { | 252 for (var i = 0; i < oldRequests.length; ++i) { |
253 var request = oldRequests[i]; | 253 var request = oldRequests[i]; |
254 if (request.loaderId === mainFrame.loaderId) { | 254 if (request.loaderId === mainFrame.loaderId) { |
255 if (!currentPageLoad) | 255 if (!currentPageLoad) |
256 currentPageLoad = new SDK.PageLoad(request); | 256 currentPageLoad = new NetworkLog.PageLoad(request); |
257 this._requests.push(request); | 257 this._requests.push(request); |
258 idMap.set(request.requestId(), request); | 258 idMap.set(request.requestId(), request); |
259 request[SDK.NetworkLog._pageLoadForRequestSymbol] = currentPageLoad; | 259 request[NetworkLog.NetworkLog._pageLoadForRequestSymbol] = currentPageLo
ad; |
260 } | 260 } |
261 } | 261 } |
262 if (currentPageLoad) | 262 if (currentPageLoad) |
263 this._currentPageLoad.set(target, currentPageLoad); | 263 this._currentPageLoad.set(target, currentPageLoad); |
264 } | 264 } |
265 | 265 |
266 /** | 266 /** |
267 * @param {!Common.Event} event | 267 * @param {!Common.Event} event |
268 */ | 268 */ |
269 _onRequestStarted(event) { | 269 _onRequestStarted(event) { |
270 var request = /** @type {!SDK.NetworkRequest} */ (event.data); | 270 var request = /** @type {!SDK.NetworkRequest} */ (event.data); |
271 this._requests.push(request); | 271 this._requests.push(request); |
272 this._requestsByTargetAndId.get(request.target()).set(request.requestId(), r
equest); | 272 this._requestsByTargetAndId.get(request.target()).set(request.requestId(), r
equest); |
273 request[SDK.NetworkLog._pageLoadForRequestSymbol] = this._currentPageLoad.ge
t(request.target()); | 273 request[NetworkLog.NetworkLog._pageLoadForRequestSymbol] = this._currentPage
Load.get(request.target()); |
274 } | 274 } |
275 | 275 |
276 /** | 276 /** |
277 * @param {!SDK.NetworkManager.RequestRedirectEvent} event | 277 * @param {!SDK.NetworkManager.RequestRedirectEvent} event |
278 */ | 278 */ |
279 _onRequestRedirect(event) { | 279 _onRequestRedirect(event) { |
280 var request = event.request; | 280 var request = event.request; |
281 delete request[SDK.NetworkLog._initiatorDataSymbol]; | 281 delete request[NetworkLog.NetworkLog._initiatorDataSymbol]; |
282 } | 282 } |
283 | 283 |
284 /** | 284 /** |
285 * @param {!SDK.ResourceTreeModel} resourceTreeModel | 285 * @param {!SDK.ResourceTreeModel} resourceTreeModel |
286 * @param {!Common.Event} event | 286 * @param {!Common.Event} event |
287 */ | 287 */ |
288 _onDOMContentLoaded(resourceTreeModel, event) { | 288 _onDOMContentLoaded(resourceTreeModel, event) { |
289 var pageLoad = this._currentPageLoad.get(resourceTreeModel.target()); | 289 var pageLoad = this._currentPageLoad.get(resourceTreeModel.target()); |
290 if (pageLoad) | 290 if (pageLoad) |
291 pageLoad.contentLoadTime = /** @type {number} */ (event.data); | 291 pageLoad.contentLoadTime = /** @type {number} */ (event.data); |
(...skipping 13 matching lines...) Expand all Loading... |
305 * @param {!SDK.Target} target | 305 * @param {!SDK.Target} target |
306 * @param {!Protocol.Network.RequestId} requestId | 306 * @param {!Protocol.Network.RequestId} requestId |
307 * @return {?SDK.NetworkRequest} | 307 * @return {?SDK.NetworkRequest} |
308 */ | 308 */ |
309 requestForId(target, requestId) { | 309 requestForId(target, requestId) { |
310 var map = this._requestsByTargetAndId.get(target); | 310 var map = this._requestsByTargetAndId.get(target); |
311 return map ? (map.get(requestId) || null) : null; | 311 return map ? (map.get(requestId) || null) : null; |
312 } | 312 } |
313 }; | 313 }; |
314 | 314 |
315 SDK.PageLoad = class { | 315 NetworkLog.PageLoad = class { |
316 /** | 316 /** |
317 * @param {!SDK.NetworkRequest} mainRequest | 317 * @param {!SDK.NetworkRequest} mainRequest |
318 */ | 318 */ |
319 constructor(mainRequest) { | 319 constructor(mainRequest) { |
320 this.id = ++SDK.PageLoad._lastIdentifier; | 320 this.id = ++NetworkLog.PageLoad._lastIdentifier; |
321 this.url = mainRequest.url(); | 321 this.url = mainRequest.url(); |
322 this.startTime = mainRequest.startTime; | 322 this.startTime = mainRequest.startTime; |
323 /** @type {number} */ | 323 /** @type {number} */ |
324 this.loadTime; | 324 this.loadTime; |
325 /** @type {number} */ | 325 /** @type {number} */ |
326 this.contentLoadTime; | 326 this.contentLoadTime; |
327 } | 327 } |
328 }; | 328 }; |
329 | 329 |
330 SDK.PageLoad._lastIdentifier = 0; | 330 NetworkLog.PageLoad._lastIdentifier = 0; |
331 | 331 |
332 /** @typedef {!{initiators: !Set<!SDK.NetworkRequest>, initiated: !Set<!SDK.Netw
orkRequest>}} */ | 332 /** @typedef {!{initiators: !Set<!SDK.NetworkRequest>, initiated: !Set<!SDK.Netw
orkRequest>}} */ |
333 SDK.NetworkLog.InitiatorGraph; | 333 NetworkLog.NetworkLog.InitiatorGraph; |
334 | 334 |
335 /** @typedef {!{type: !SDK.NetworkRequest.InitiatorType, url: string, lineNumber
: number, columnNumber: number, scriptId: ?string}} */ | 335 /** @typedef {!{type: !SDK.NetworkRequest.InitiatorType, url: string, lineNumber
: number, columnNumber: number, scriptId: ?string}} */ |
336 SDK.NetworkLog._InitiatorInfo; | 336 NetworkLog.NetworkLog._InitiatorInfo; |
337 | 337 |
338 SDK.NetworkLog._initiatorDataSymbol = Symbol('InitiatorData'); | 338 NetworkLog.NetworkLog._initiatorDataSymbol = Symbol('InitiatorData'); |
339 SDK.NetworkLog._pageLoadForRequestSymbol = Symbol('PageLoadForRequest'); | 339 NetworkLog.NetworkLog._pageLoadForRequestSymbol = Symbol('PageLoadForRequest'); |
340 SDK.NetworkLog._events = Symbol('SDK.NetworkLog.events'); | 340 NetworkLog.NetworkLog._events = Symbol('NetworkLog.NetworkLog.events'); |
341 | 341 |
342 /** @type {!SDK.NetworkLog} */ | 342 /** @type {!NetworkLog.NetworkLog} */ |
343 SDK.networkLog; | 343 NetworkLog.networkLog; |
OLD | NEW |