Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(395)

Unified Diff: third_party/WebKit/Source/devtools/front_end/network_log/NetworkLog.js

Issue 2921963002: [Devtools] Removed NetworkRequest dependency on NetworkManager (Closed)
Patch Set: changes Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/devtools/front_end/network_log/NetworkLog.js
diff --git a/third_party/WebKit/Source/devtools/front_end/network_log/NetworkLog.js b/third_party/WebKit/Source/devtools/front_end/network_log/NetworkLog.js
index 96edf0421fd3486132dffa8184e96b66ab764f75..55d223b3a10a3d7e79c488d5f28344849cf474bd 100644
--- a/third_party/WebKit/Source/devtools/front_end/network_log/NetworkLog.js
+++ b/third_party/WebKit/Source/devtools/front_end/network_log/NetworkLog.js
@@ -38,10 +38,8 @@ NetworkLog.NetworkLog = class extends Common.Object {
this._requests = [];
/** @type {!Set<!SDK.NetworkRequest>} */
this._requestsSet = new Set();
- /** @type {!Map<!SDK.NetworkManager, !Map<string, !SDK.NetworkRequest>>} */
- this._requestsByManagerAndId = new Map();
/** @type {!Map<!SDK.NetworkManager, !NetworkLog.PageLoad>} */
- this._currentPageLoad = new Map();
+ this._pageLoadForManager = new Map();
this._isRecording = true;
SDK.targetManager.observeModels(SDK.NetworkManager, this);
}
@@ -73,7 +71,6 @@ NetworkLog.NetworkLog = class extends Common.Object {
}
networkManager[NetworkLog.NetworkLog._events] = eventListeners;
- this._requestsByManagerAndId.set(networkManager, new Map());
}
/**
@@ -81,7 +78,6 @@ NetworkLog.NetworkLog = class extends Common.Object {
* @param {!SDK.NetworkManager} networkManager
*/
modelRemoved(networkManager) {
- this._requestsByManagerAndId.delete(networkManager);
Common.EventTarget.removeEventListeners(networkManager[NetworkLog.NetworkLog._events]);
}
@@ -113,11 +109,17 @@ NetworkLog.NetworkLog = class extends Common.Object {
/**
* @param {!SDK.NetworkManager} networkManager
- * @return {!Array<!SDK.NetworkRequest>}
+ * @param {!Protocol.Network.RequestId} requestId
+ * @return {?SDK.NetworkRequest}
*/
- requestsForManager(networkManager) {
- var map = this._requestsByManagerAndId.get(networkManager);
- return map ? Array.from(map.values()) : [];
+ requestByManagerAndId(networkManager, requestId) {
+ // We itterate backwards because the last item will likely be the one needed for console network request lookups.
+ for (var i = this._requests.length - 1; i >= 0; i--) {
+ var request = this._requests[i];
+ if (requestId === request.requestId() && networkManager === SDK.NetworkManager.managerForRequest(request))
+ return request;
+ }
+ return null;
}
/**
@@ -126,11 +128,8 @@ NetworkLog.NetworkLog = class extends Common.Object {
* @return {?SDK.NetworkRequest}
*/
_requestByManagerAndURL(networkManager, url) {
- var map = this._requestsByManagerAndId.get(networkManager);
- if (!map)
- return null;
- for (var request of map.values()) {
- if (request.url() === url)
+ for (var request of this._requests) {
+ if (url === request.url() && networkManager === SDK.NetworkManager.managerForRequest(request))
return request;
}
return null;
@@ -204,12 +203,11 @@ NetworkLog.NetworkLog = class extends Common.Object {
initiatorGraphForRequest(request) {
/** @type {!Set<!SDK.NetworkRequest>} */
var initiated = new Set();
- var map = this._requestsByManagerAndId.get(request.networkManager());
- if (map) {
- for (var otherRequest of map.values()) {
- if (this._initiatorChain(otherRequest).has(request))
- initiated.add(otherRequest);
- }
+ var networkManager = SDK.NetworkManager.managerForRequest(request);
+ for (var otherRequest of this._requests) {
+ var otherRequestManager = SDK.NetworkManager.managerForRequest(request);
+ if (networkManager === otherRequestManager && this._initiatorChain(otherRequest).has(request))
+ initiated.add(otherRequest);
}
return {initiators: this._initiatorChain(request), initiated: initiated};
}
@@ -245,8 +243,9 @@ NetworkLog.NetworkLog = class extends Common.Object {
if (request[NetworkLog.NetworkLog._initiatorDataSymbol].request !== undefined)
return request[NetworkLog.NetworkLog._initiatorDataSymbol].request;
var url = this.initiatorInfoForRequest(request).url;
+ var networkManager = SDK.NetworkManager.managerForRequest(request);
request[NetworkLog.NetworkLog._initiatorDataSymbol].request =
- this._requestByManagerAndURL(request.networkManager(), url);
+ networkManager ? this._requestByManagerAndURL(networkManager, url) : null;
return request[NetworkLog.NetworkLog._initiatorDataSymbol].request;
}
@@ -270,16 +269,16 @@ NetworkLog.NetworkLog = class extends Common.Object {
if (!this._isRecording)
return;
var mainFrame = /** @type {!SDK.ResourceTreeFrame} */ (event.data);
- var networkManager = mainFrame.resourceTreeModel().target().model(SDK.NetworkManager);
- if (!networkManager)
+ var manager = mainFrame.resourceTreeModel().target().model(SDK.NetworkManager);
+ if (!manager)
return;
- var oldRequests = this.requestsForManager(networkManager);
+ var oldRequests = this._requests;
if (!Common.moduleSetting('network_log.preserve-log').get()) {
var filteredRequests = [];
var removedRequests = [];
for (var request of this._requests) {
- if (request.networkManager() !== networkManager)
+ if (SDK.NetworkManager.managerForRequest(request) !== manager)
filteredRequests.push(request);
else
removedRequests.push(request);
@@ -289,25 +288,21 @@ NetworkLog.NetworkLog = class extends Common.Object {
for (var request of removedRequests)
this.dispatchEventToListeners(NetworkLog.NetworkLog.Events.RequestRemoved, request);
}
- var idMap = new Map();
- this._requestsByManagerAndId.set(networkManager, idMap);
// Preserve requests from the new session.
var currentPageLoad = null;
- for (var i = 0; i < oldRequests.length; ++i) {
- var request = oldRequests[i];
- if (request.loaderId === mainFrame.loaderId) {
- if (!currentPageLoad)
- currentPageLoad = new NetworkLog.PageLoad(request);
- this._requests.push(request);
- this._requestsSet.add(request);
- this.dispatchEventToListeners(NetworkLog.NetworkLog.Events.RequestAdded, request);
- idMap.set(request.requestId(), request);
- request[NetworkLog.NetworkLog._pageLoadForRequestSymbol] = currentPageLoad;
- }
+ for (var request of oldRequests) {
+ if (request.loaderId !== mainFrame.loaderId)
+ continue;
+ if (!currentPageLoad)
+ currentPageLoad = new NetworkLog.PageLoad(request);
+ this._requests.push(request);
+ this._requestsSet.add(request);
+ this.dispatchEventToListeners(NetworkLog.NetworkLog.Events.RequestAdded, request);
+ request[NetworkLog.NetworkLog._pageLoadForRequestSymbol] = currentPageLoad;
}
if (currentPageLoad)
- this._currentPageLoad.set(networkManager, currentPageLoad);
+ this._pageLoadForManager.set(manager, currentPageLoad);
}
/**
@@ -319,8 +314,9 @@ NetworkLog.NetworkLog = class extends Common.Object {
var request = /** @type {!SDK.NetworkRequest} */ (event.data);
this._requests.push(request);
this._requestsSet.add(request);
- this._requestsByManagerAndId.get(request.networkManager()).set(request.requestId(), request);
- request[NetworkLog.NetworkLog._pageLoadForRequestSymbol] = this._currentPageLoad.get(request.networkManager());
+ var manager = SDK.NetworkManager.managerForRequest(request);
+ if (manager)
+ request[NetworkLog.NetworkLog._pageLoadForRequestSymbol] = this._pageLoadForManager.get(manager);
this.dispatchEventToListeners(NetworkLog.NetworkLog.Events.RequestAdded, request);
}
@@ -353,8 +349,8 @@ NetworkLog.NetworkLog = class extends Common.Object {
_onDOMContentLoaded(resourceTreeModel, event) {
if (!this._isRecording)
return;
- var networkManager = resourceTreeModel.target().model(SDK.NetworkManager);
- var pageLoad = networkManager ? this._currentPageLoad.get(networkManager) : null;
+ var manager = resourceTreeModel.target().model(SDK.NetworkManager);
+ var pageLoad = manager ? this._pageLoadForManager.get(manager) : null;
if (pageLoad)
pageLoad.contentLoadTime = /** @type {number} */ (event.data);
}
@@ -365,30 +361,18 @@ NetworkLog.NetworkLog = class extends Common.Object {
_onLoad(event) {
if (!this._isRecording)
return;
- var networkManager = event.data.resourceTreeModel.target().model(SDK.NetworkManager);
- var pageLoad = networkManager ? this._currentPageLoad.get(networkManager) : null;
+ var pageLoad = this._pageLoadForManager.get(event.data.resourceTreeModel.target().model(SDK.NetworkManager));
if (pageLoad)
pageLoad.loadTime = /** @type {number} */ (event.data.loadTime);
}
- /**
- * @param {!SDK.NetworkManager} networkManager
- * @param {!Protocol.Network.RequestId} requestId
- * @return {?SDK.NetworkRequest}
- */
- requestForId(networkManager, requestId) {
- var map = this._requestsByManagerAndId.get(networkManager);
- return map ? (map.get(requestId) || null) : null;
- }
-
reset() {
this._requests = [];
this._requestsSet.clear();
- this._requestsByManagerAndId.forEach(map => map.clear());
- var networkManagers = new Set(SDK.targetManager.models(SDK.NetworkManager));
- for (var networkManager of this._currentPageLoad.keys()) {
- if (!networkManagers.has(networkManager))
- this._currentPageLoad.delete(networkManager);
+ var managers = new Set(SDK.targetManager.models(SDK.NetworkManager));
+ for (var manager of this._pageLoadForManager.keys()) {
+ if (!managers.has(manager))
+ this._pageLoadForManager.delete(manager);
}
this.dispatchEventToListeners(NetworkLog.NetworkLog.Events.Reset);

Powered by Google App Engine
This is Rietveld 408576698