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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 this._bypassServiceWorkerSetting = Common.settings.createSetting('bypassServ
iceWorker', false); | 52 this._bypassServiceWorkerSetting = Common.settings.createSetting('bypassServ
iceWorker', false); |
53 if (this._bypassServiceWorkerSetting.get()) | 53 if (this._bypassServiceWorkerSetting.get()) |
54 this._bypassServiceWorkerChanged(); | 54 this._bypassServiceWorkerChanged(); |
55 this._bypassServiceWorkerSetting.addChangeListener(this._bypassServiceWorker
Changed, this); | 55 this._bypassServiceWorkerSetting.addChangeListener(this._bypassServiceWorker
Changed, this); |
56 | 56 |
57 Common.moduleSetting('cacheDisabled').addChangeListener(this._cacheDisabledS
ettingChanged, this); | 57 Common.moduleSetting('cacheDisabled').addChangeListener(this._cacheDisabledS
ettingChanged, this); |
58 } | 58 } |
59 | 59 |
60 /** | 60 /** |
61 * @param {!SDK.NetworkRequest} request | 61 * @param {!SDK.NetworkRequest} request |
| 62 * @return {?SDK.NetworkManager} |
| 63 */ |
| 64 static forRequest(request) { |
| 65 return request[SDK.NetworkManager._networkManagerForRequestSymbol]; |
| 66 } |
| 67 |
| 68 /** |
| 69 * @param {!SDK.NetworkRequest} request |
62 * @return {boolean} | 70 * @return {boolean} |
63 */ | 71 */ |
64 static canReplayRequest(request) { | 72 static canReplayRequest(request) { |
65 return request.resourceType() === Common.resourceTypes.XHR; | 73 return !!request[SDK.NetworkManager._networkManagerForRequestSymbol] && |
| 74 request.resourceType() === Common.resourceTypes.XHR; |
66 } | 75 } |
67 | 76 |
68 /** | 77 /** |
69 * @param {!SDK.NetworkRequest} request | 78 * @param {!SDK.NetworkRequest} request |
70 */ | 79 */ |
71 static replayRequest(request) { | 80 static replayRequest(request) { |
72 // TODO(allada) networkAgent() will be removed from NetworkRequest, but in t
he mean time we extract it from request. | 81 var manager = request[SDK.NetworkManager._networkManagerForRequestSymbol]; |
73 request.networkManager()._networkAgent.replayXHR(request.requestId()); | 82 if (!manager) |
| 83 return; |
| 84 manager._networkAgent.replayXHR(request.requestId()); |
74 } | 85 } |
75 | 86 |
76 /** | 87 /** |
77 * @param {!SDK.NetworkRequest} request | 88 * @param {!SDK.NetworkRequest} request |
78 * @return {!Promise<!SDK.NetworkRequest.ContentData>} | 89 * @return {!Promise<!SDK.NetworkRequest.ContentData>} |
79 */ | 90 */ |
80 static async requestContentData(request) { | 91 static async requestContentData(request) { |
81 if (request.resourceType() === Common.resourceTypes.WebSocket) | 92 if (request.resourceType() === Common.resourceTypes.WebSocket) |
82 return {error: 'Content for WebSockets is currently not supported', conten
t: null, encoded: false}; | 93 return {error: 'Content for WebSockets is currently not supported', conten
t: null, encoded: false}; |
83 if (!request.finished) | 94 if (!request.finished) |
84 await request.once(SDK.NetworkRequest.Events.FinishedLoading); | 95 await request.once(SDK.NetworkRequest.Events.FinishedLoading); |
85 var manager = request.networkManager(); | 96 var manager = SDK.NetworkManager.forRequest(request); |
| 97 if (!manager) |
| 98 return {error: 'No network manager for request', content: null, encoded: f
alse}; |
86 var response = await manager._networkAgent.invoke_getResponseBody({requestId
: request.requestId()}); | 99 var response = await manager._networkAgent.invoke_getResponseBody({requestId
: request.requestId()}); |
87 var error = response[Protocol.Error] || null; | 100 var error = response[Protocol.Error] || null; |
88 return {error: error, content: error ? null : response.body, encoded: respon
se.base64Encoded}; | 101 return {error: error, content: error ? null : response.body, encoded: respon
se.base64Encoded}; |
89 } | 102 } |
90 | 103 |
91 /** | 104 /** |
92 * @param {!SDK.NetworkManager.Conditions} conditions | 105 * @param {!SDK.NetworkManager.Conditions} conditions |
93 * @return {!Protocol.Network.ConnectionType} | 106 * @return {!Protocol.Network.ConnectionType} |
94 * TODO(allada): this belongs to NetworkConditionsSelector, which should hardc
ode/guess it. | 107 * TODO(allada): this belongs to NetworkConditionsSelector, which should hardc
ode/guess it. |
95 */ | 108 */ |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 /** @type {!SDK.NetworkManager.Conditions} */ | 195 /** @type {!SDK.NetworkManager.Conditions} */ |
183 SDK.NetworkManager.OfflineConditions = { | 196 SDK.NetworkManager.OfflineConditions = { |
184 title: Common.UIString('Offline'), | 197 title: Common.UIString('Offline'), |
185 download: 0, | 198 download: 0, |
186 upload: 0, | 199 upload: 0, |
187 latency: 0 | 200 latency: 0 |
188 }; | 201 }; |
189 /** @typedef {{url: string, enabled: boolean}} */ | 202 /** @typedef {{url: string, enabled: boolean}} */ |
190 SDK.NetworkManager.BlockedPattern; | 203 SDK.NetworkManager.BlockedPattern; |
191 | 204 |
| 205 SDK.NetworkManager._networkManagerForRequestSymbol = Symbol('NetworkManager'); |
192 | 206 |
193 /** | 207 /** |
194 * @implements {Protocol.NetworkDispatcher} | 208 * @implements {Protocol.NetworkDispatcher} |
195 * @unrestricted | 209 * @unrestricted |
196 */ | 210 */ |
197 SDK.NetworkDispatcher = class { | 211 SDK.NetworkDispatcher = class { |
| 212 /** |
| 213 * @param {!SDK.NetworkManager} manager |
| 214 */ |
198 constructor(manager) { | 215 constructor(manager) { |
199 this._manager = manager; | 216 this._manager = manager; |
200 /** @type {!Object<!Protocol.Network.RequestId, !SDK.NetworkRequest>} */ | 217 /** @type {!Object<!Protocol.Network.RequestId, !SDK.NetworkRequest>} */ |
201 this._inflightRequestsById = {}; | 218 this._inflightRequestsById = {}; |
202 /** @type {!Object<string, !SDK.NetworkRequest>} */ | 219 /** @type {!Object<string, !SDK.NetworkRequest>} */ |
203 this._inflightRequestsByURL = {}; | 220 this._inflightRequestsByURL = {}; |
204 } | 221 } |
205 | 222 |
206 /** | 223 /** |
207 * @param {!Protocol.Network.Headers} headersMap | 224 * @param {!Protocol.Network.Headers} headersMap |
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
481 this._finishNetworkRequest(networkRequest, time, -1); | 498 this._finishNetworkRequest(networkRequest, time, -1); |
482 } | 499 } |
483 | 500 |
484 /** | 501 /** |
485 * @override | 502 * @override |
486 * @param {!Protocol.Network.RequestId} requestId | 503 * @param {!Protocol.Network.RequestId} requestId |
487 * @param {string} requestURL | 504 * @param {string} requestURL |
488 * @param {!Protocol.Network.Initiator=} initiator | 505 * @param {!Protocol.Network.Initiator=} initiator |
489 */ | 506 */ |
490 webSocketCreated(requestId, requestURL, initiator) { | 507 webSocketCreated(requestId, requestURL, initiator) { |
491 var networkRequest = new SDK.NetworkRequest(this._manager, requestId, reques
tURL, '', '', '', initiator || null); | 508 var networkRequest = new SDK.NetworkRequest(requestId, requestURL, '', '', '
', initiator || null); |
| 509 networkRequest[SDK.NetworkManager._networkManagerForRequestSymbol] = this._m
anager; |
492 networkRequest.setResourceType(Common.resourceTypes.WebSocket); | 510 networkRequest.setResourceType(Common.resourceTypes.WebSocket); |
493 this._startNetworkRequest(networkRequest); | 511 this._startNetworkRequest(networkRequest); |
494 } | 512 } |
495 | 513 |
496 /** | 514 /** |
497 * @override | 515 * @override |
498 * @param {!Protocol.Network.RequestId} requestId | 516 * @param {!Protocol.Network.RequestId} requestId |
499 * @param {!Protocol.Network.Timestamp} time | 517 * @param {!Protocol.Network.Timestamp} time |
500 * @param {!Protocol.Network.Timestamp} wallTime | 518 * @param {!Protocol.Network.Timestamp} wallTime |
501 * @param {!Protocol.Network.WebSocketRequest} request | 519 * @param {!Protocol.Network.WebSocketRequest} request |
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
693 | 711 |
694 /** | 712 /** |
695 * @param {!Protocol.Network.RequestId} requestId | 713 * @param {!Protocol.Network.RequestId} requestId |
696 * @param {string} frameId | 714 * @param {string} frameId |
697 * @param {!Protocol.Network.LoaderId} loaderId | 715 * @param {!Protocol.Network.LoaderId} loaderId |
698 * @param {string} url | 716 * @param {string} url |
699 * @param {string} documentURL | 717 * @param {string} documentURL |
700 * @param {?Protocol.Network.Initiator} initiator | 718 * @param {?Protocol.Network.Initiator} initiator |
701 */ | 719 */ |
702 _createNetworkRequest(requestId, frameId, loaderId, url, documentURL, initiato
r) { | 720 _createNetworkRequest(requestId, frameId, loaderId, url, documentURL, initiato
r) { |
703 return new SDK.NetworkRequest(this._manager, requestId, url, documentURL, fr
ameId, loaderId, initiator); | 721 var request = new SDK.NetworkRequest(requestId, url, documentURL, frameId, l
oaderId, initiator); |
| 722 request[SDK.NetworkManager._networkManagerForRequestSymbol] = this._manager; |
| 723 return request; |
704 } | 724 } |
705 }; | 725 }; |
706 | 726 |
707 /** | 727 /** |
708 * @implements {SDK.TargetManager.Observer} | 728 * @implements {SDK.TargetManager.Observer} |
709 * @unrestricted | 729 * @unrestricted |
710 */ | 730 */ |
711 SDK.MultitargetNetworkManager = class extends Common.Object { | 731 SDK.MultitargetNetworkManager = class extends Common.Object { |
712 constructor() { | 732 constructor() { |
713 super(); | 733 super(); |
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
956 SDK.MultitargetNetworkManager.Events = { | 976 SDK.MultitargetNetworkManager.Events = { |
957 BlockedPatternsChanged: Symbol('BlockedPatternsChanged'), | 977 BlockedPatternsChanged: Symbol('BlockedPatternsChanged'), |
958 ConditionsChanged: Symbol('ConditionsChanged'), | 978 ConditionsChanged: Symbol('ConditionsChanged'), |
959 UserAgentChanged: Symbol('UserAgentChanged') | 979 UserAgentChanged: Symbol('UserAgentChanged') |
960 }; | 980 }; |
961 | 981 |
962 /** | 982 /** |
963 * @type {!SDK.MultitargetNetworkManager} | 983 * @type {!SDK.MultitargetNetworkManager} |
964 */ | 984 */ |
965 SDK.multitargetNetworkManager; | 985 SDK.multitargetNetworkManager; |
OLD | NEW |