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 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 this._networkAgent.enable(10000000, 5000000); | 50 this._networkAgent.enable(10000000, 5000000); |
51 else | 51 else |
52 this._networkAgent.enable(); | 52 this._networkAgent.enable(); |
53 | 53 |
54 this._bypassServiceWorkerSetting = WebInspector.settings.createSetting("bypa
ssServiceWorker", false); | 54 this._bypassServiceWorkerSetting = WebInspector.settings.createSetting("bypa
ssServiceWorker", false); |
55 if (this._bypassServiceWorkerSetting.get()) | 55 if (this._bypassServiceWorkerSetting.get()) |
56 this._bypassServiceWorkerChanged(); | 56 this._bypassServiceWorkerChanged(); |
57 this._bypassServiceWorkerSetting.addChangeListener(this._bypassServiceWorker
Changed, this); | 57 this._bypassServiceWorkerSetting.addChangeListener(this._bypassServiceWorker
Changed, this); |
58 | 58 |
59 WebInspector.moduleSetting("cacheDisabled").addChangeListener(this._cacheDis
abledSettingChanged, this); | 59 WebInspector.moduleSetting("cacheDisabled").addChangeListener(this._cacheDis
abledSettingChanged, this); |
60 } | 60 }; |
61 | 61 |
62 /** @enum {symbol} */ | 62 /** @enum {symbol} */ |
63 WebInspector.NetworkManager.Events = { | 63 WebInspector.NetworkManager.Events = { |
64 RequestStarted: Symbol("RequestStarted"), | 64 RequestStarted: Symbol("RequestStarted"), |
65 RequestUpdated: Symbol("RequestUpdated"), | 65 RequestUpdated: Symbol("RequestUpdated"), |
66 RequestFinished: Symbol("RequestFinished"), | 66 RequestFinished: Symbol("RequestFinished"), |
67 RequestUpdateDropped: Symbol("RequestUpdateDropped"), | 67 RequestUpdateDropped: Symbol("RequestUpdateDropped"), |
68 ResponseReceived: Symbol("ResponseReceived") | 68 ResponseReceived: Symbol("ResponseReceived") |
69 } | 69 }; |
70 | 70 |
71 WebInspector.NetworkManager._MIMETypes = { | 71 WebInspector.NetworkManager._MIMETypes = { |
72 "text/html": {"document": true}, | 72 "text/html": {"document": true}, |
73 "text/xml": {"document": true}, | 73 "text/xml": {"document": true}, |
74 "text/plain": {"document": true}, | 74 "text/plain": {"document": true}, |
75 "application/xhtml+xml": {"document": true}, | 75 "application/xhtml+xml": {"document": true}, |
76 "image/svg+xml": {"document": true}, | 76 "image/svg+xml": {"document": true}, |
77 "text/css": {"stylesheet": true}, | 77 "text/css": {"stylesheet": true}, |
78 "text/xsl": {"stylesheet": true}, | 78 "text/xsl": {"stylesheet": true}, |
79 "text/vtt": {"texttrack": true}, | 79 "text/vtt": {"texttrack": true}, |
80 } | 80 }; |
81 | 81 |
82 /** | 82 /** |
83 * @param {!WebInspector.Target} target | 83 * @param {!WebInspector.Target} target |
84 * @return {?WebInspector.NetworkManager} | 84 * @return {?WebInspector.NetworkManager} |
85 */ | 85 */ |
86 WebInspector.NetworkManager.fromTarget = function(target) | 86 WebInspector.NetworkManager.fromTarget = function(target) |
87 { | 87 { |
88 return /** @type {?WebInspector.NetworkManager} */ (target.model(WebInspecto
r.NetworkManager)); | 88 return /** @type {?WebInspector.NetworkManager} */ (target.model(WebInspecto
r.NetworkManager)); |
89 } | 89 }; |
90 | 90 |
91 /** @typedef {{download: number, upload: number, latency: number, title: string}
} */ | 91 /** @typedef {{download: number, upload: number, latency: number, title: string}
} */ |
92 WebInspector.NetworkManager.Conditions; | 92 WebInspector.NetworkManager.Conditions; |
93 /** @type {!WebInspector.NetworkManager.Conditions} */ | 93 /** @type {!WebInspector.NetworkManager.Conditions} */ |
94 WebInspector.NetworkManager.NoThrottlingConditions = {title: WebInspector.UIStri
ng("No throttling"), download: -1, upload: -1, latency: 0}; | 94 WebInspector.NetworkManager.NoThrottlingConditions = {title: WebInspector.UIStri
ng("No throttling"), download: -1, upload: -1, latency: 0}; |
95 /** @type {!WebInspector.NetworkManager.Conditions} */ | 95 /** @type {!WebInspector.NetworkManager.Conditions} */ |
96 WebInspector.NetworkManager.OfflineConditions = {title: WebInspector.UIString("O
ffline"), download: 0, upload: 0, latency: 0}; | 96 WebInspector.NetworkManager.OfflineConditions = {title: WebInspector.UIString("O
ffline"), download: 0, upload: 0, latency: 0}; |
97 | 97 |
98 /** | 98 /** |
99 * @param {!WebInspector.NetworkManager.Conditions} conditions | 99 * @param {!WebInspector.NetworkManager.Conditions} conditions |
(...skipping 13 matching lines...) Expand all Loading... |
113 types.push(["4g", NetworkAgent.ConnectionType.Cellular4g]); | 113 types.push(["4g", NetworkAgent.ConnectionType.Cellular4g]); |
114 types.push(["bluetooth", NetworkAgent.ConnectionType.Bluetooth]); | 114 types.push(["bluetooth", NetworkAgent.ConnectionType.Bluetooth]); |
115 types.push(["wifi", NetworkAgent.ConnectionType.Wifi]); | 115 types.push(["wifi", NetworkAgent.ConnectionType.Wifi]); |
116 types.push(["wimax", NetworkAgent.ConnectionType.Wimax]); | 116 types.push(["wimax", NetworkAgent.ConnectionType.Wimax]); |
117 } | 117 } |
118 for (var type of types) { | 118 for (var type of types) { |
119 if (conditions.title.toLowerCase().indexOf(type[0]) !== -1) | 119 if (conditions.title.toLowerCase().indexOf(type[0]) !== -1) |
120 return type[1]; | 120 return type[1]; |
121 } | 121 } |
122 return NetworkAgent.ConnectionType.Other; | 122 return NetworkAgent.ConnectionType.Other; |
123 } | 123 }; |
124 | 124 |
125 WebInspector.NetworkManager.prototype = { | 125 WebInspector.NetworkManager.prototype = { |
126 /** | 126 /** |
127 * @param {string} url | 127 * @param {string} url |
128 * @return {!WebInspector.NetworkRequest} | 128 * @return {!WebInspector.NetworkRequest} |
129 */ | 129 */ |
130 inflightRequestForURL: function(url) | 130 inflightRequestForURL: function(url) |
131 { | 131 { |
132 return this._dispatcher._inflightRequestsByURL[url]; | 132 return this._dispatcher._inflightRequestsByURL[url]; |
133 }, | 133 }, |
(...skipping 11 matching lines...) Expand all Loading... |
145 { | 145 { |
146 WebInspector.moduleSetting("cacheDisabled").removeChangeListener(this._c
acheDisabledSettingChanged, this); | 146 WebInspector.moduleSetting("cacheDisabled").removeChangeListener(this._c
acheDisabledSettingChanged, this); |
147 }, | 147 }, |
148 | 148 |
149 _bypassServiceWorkerChanged: function() | 149 _bypassServiceWorkerChanged: function() |
150 { | 150 { |
151 this._networkAgent.setBypassServiceWorker(this._bypassServiceWorkerSetti
ng.get()); | 151 this._networkAgent.setBypassServiceWorker(this._bypassServiceWorkerSetti
ng.get()); |
152 }, | 152 }, |
153 | 153 |
154 __proto__: WebInspector.SDKModel.prototype | 154 __proto__: WebInspector.SDKModel.prototype |
155 } | 155 }; |
156 | 156 |
157 /** | 157 /** |
158 * @constructor | 158 * @constructor |
159 * @implements {NetworkAgent.Dispatcher} | 159 * @implements {NetworkAgent.Dispatcher} |
160 */ | 160 */ |
161 WebInspector.NetworkDispatcher = function(manager) | 161 WebInspector.NetworkDispatcher = function(manager) |
162 { | 162 { |
163 this._manager = manager; | 163 this._manager = manager; |
164 this._inflightRequestsById = {}; | 164 this._inflightRequestsById = {}; |
165 this._inflightRequestsByURL = {}; | 165 this._inflightRequestsByURL = {}; |
166 } | 166 }; |
167 | 167 |
168 WebInspector.NetworkDispatcher.prototype = { | 168 WebInspector.NetworkDispatcher.prototype = { |
169 /** | 169 /** |
170 * @param {!NetworkAgent.Headers} headersMap | 170 * @param {!NetworkAgent.Headers} headersMap |
171 * @return {!Array.<!WebInspector.NetworkRequest.NameValue>} | 171 * @return {!Array.<!WebInspector.NetworkRequest.NameValue>} |
172 */ | 172 */ |
173 _headersMapToHeadersArray: function(headersMap) | 173 _headersMapToHeadersArray: function(headersMap) |
174 { | 174 { |
175 var result = []; | 175 var result = []; |
176 for (var name in headersMap) { | 176 for (var name in headersMap) { |
(...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
653 * @param {string} frameId | 653 * @param {string} frameId |
654 * @param {!NetworkAgent.LoaderId} loaderId | 654 * @param {!NetworkAgent.LoaderId} loaderId |
655 * @param {string} url | 655 * @param {string} url |
656 * @param {string} documentURL | 656 * @param {string} documentURL |
657 * @param {?NetworkAgent.Initiator} initiator | 657 * @param {?NetworkAgent.Initiator} initiator |
658 */ | 658 */ |
659 _createNetworkRequest: function(requestId, frameId, loaderId, url, documentU
RL, initiator) | 659 _createNetworkRequest: function(requestId, frameId, loaderId, url, documentU
RL, initiator) |
660 { | 660 { |
661 return new WebInspector.NetworkRequest(this._manager._target, requestId,
url, documentURL, frameId, loaderId, initiator); | 661 return new WebInspector.NetworkRequest(this._manager._target, requestId,
url, documentURL, frameId, loaderId, initiator); |
662 } | 662 } |
663 } | 663 }; |
664 | 664 |
665 | 665 |
666 /** | 666 /** |
667 * @constructor | 667 * @constructor |
668 * @extends {WebInspector.Object} | 668 * @extends {WebInspector.Object} |
669 * @implements {WebInspector.TargetManager.Observer} | 669 * @implements {WebInspector.TargetManager.Observer} |
670 */ | 670 */ |
671 WebInspector.MultitargetNetworkManager = function() | 671 WebInspector.MultitargetNetworkManager = function() |
672 { | 672 { |
673 WebInspector.Object.call(this); | 673 WebInspector.Object.call(this); |
674 WebInspector.targetManager.observeTargets(this); | 674 WebInspector.targetManager.observeTargets(this); |
675 | 675 |
676 /** @type {!Set<string>} */ | 676 /** @type {!Set<string>} */ |
677 this._blockedURLs = new Set(); | 677 this._blockedURLs = new Set(); |
678 this._blockedSetting = WebInspector.moduleSetting("blockedURLs"); | 678 this._blockedSetting = WebInspector.moduleSetting("blockedURLs"); |
679 this._blockedSetting.addChangeListener(this._updateBlockedURLs, this); | 679 this._blockedSetting.addChangeListener(this._updateBlockedURLs, this); |
680 this._blockedSetting.set([]); | 680 this._blockedSetting.set([]); |
681 this._updateBlockedURLs(); | 681 this._updateBlockedURLs(); |
682 | 682 |
683 this._userAgentOverride = ""; | 683 this._userAgentOverride = ""; |
684 /** @type {!Set<!Protocol.NetworkAgent>} */ | 684 /** @type {!Set<!Protocol.NetworkAgent>} */ |
685 this._agents = new Set(); | 685 this._agents = new Set(); |
686 /** @type {!WebInspector.NetworkManager.Conditions} */ | 686 /** @type {!WebInspector.NetworkManager.Conditions} */ |
687 this._networkConditions = WebInspector.NetworkManager.NoThrottlingConditions
; | 687 this._networkConditions = WebInspector.NetworkManager.NoThrottlingConditions
; |
688 } | 688 }; |
689 | 689 |
690 /** @enum {symbol} */ | 690 /** @enum {symbol} */ |
691 WebInspector.MultitargetNetworkManager.Events = { | 691 WebInspector.MultitargetNetworkManager.Events = { |
692 ConditionsChanged: Symbol("ConditionsChanged"), | 692 ConditionsChanged: Symbol("ConditionsChanged"), |
693 UserAgentChanged: Symbol("UserAgentChanged") | 693 UserAgentChanged: Symbol("UserAgentChanged") |
694 } | 694 }; |
695 | 695 |
696 /** | 696 /** |
697 * @param {string} uaString | 697 * @param {string} uaString |
698 * @return {string} | 698 * @return {string} |
699 */ | 699 */ |
700 WebInspector.MultitargetNetworkManager.patchUserAgentWithChromeVersion = functio
n(uaString) | 700 WebInspector.MultitargetNetworkManager.patchUserAgentWithChromeVersion = functio
n(uaString) |
701 { | 701 { |
702 // Patches Chrome/CriOS version from user agent ("1.2.3.4" when user agent i
s: "Chrome/1.2.3.4"). | 702 // Patches Chrome/CriOS version from user agent ("1.2.3.4" when user agent i
s: "Chrome/1.2.3.4"). |
703 var chromeRegex = new RegExp("(?:^|\\W)Chrome/(\\S+)"); | 703 var chromeRegex = new RegExp("(?:^|\\W)Chrome/(\\S+)"); |
704 var chromeMatch = navigator.userAgent.match(chromeRegex); | 704 var chromeMatch = navigator.userAgent.match(chromeRegex); |
705 if (chromeMatch && chromeMatch.length > 1) | 705 if (chromeMatch && chromeMatch.length > 1) |
706 return String.sprintf(uaString, chromeMatch[1]); | 706 return String.sprintf(uaString, chromeMatch[1]); |
707 return uaString; | 707 return uaString; |
708 } | 708 }; |
709 | 709 |
710 WebInspector.MultitargetNetworkManager.prototype = { | 710 WebInspector.MultitargetNetworkManager.prototype = { |
711 /** | 711 /** |
712 * @override | 712 * @override |
713 * @param {!WebInspector.Target} target | 713 * @param {!WebInspector.Target} target |
714 */ | 714 */ |
715 targetAdded: function(target) | 715 targetAdded: function(target) |
716 { | 716 { |
717 var networkAgent = target.networkAgent(); | 717 var networkAgent = target.networkAgent(); |
718 if (this._extraHeaders) | 718 if (this._extraHeaders) |
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
915 if (currentUserAgent) | 915 if (currentUserAgent) |
916 headers["User-Agent"] = currentUserAgent; | 916 headers["User-Agent"] = currentUserAgent; |
917 | 917 |
918 if (WebInspector.moduleSetting("cacheDisabled").get()) | 918 if (WebInspector.moduleSetting("cacheDisabled").get()) |
919 headers["Cache-Control"] = "no-cache"; | 919 headers["Cache-Control"] = "no-cache"; |
920 | 920 |
921 WebInspector.ResourceLoader.load(url, headers, callback); | 921 WebInspector.ResourceLoader.load(url, headers, callback); |
922 }, | 922 }, |
923 | 923 |
924 __proto__: WebInspector.Object.prototype | 924 __proto__: WebInspector.Object.prototype |
925 } | 925 }; |
926 | 926 |
927 /** | 927 /** |
928 * @type {!WebInspector.MultitargetNetworkManager} | 928 * @type {!WebInspector.MultitargetNetworkManager} |
929 */ | 929 */ |
930 WebInspector.multitargetNetworkManager; | 930 WebInspector.multitargetNetworkManager; |
OLD | NEW |