Devtools: fix js exception in SDK.NetworkLog._initiatorChain
Issue: In SDK.NetworkLog._initiatorChain, we potential run into the case where
[initiatorDataSymbol] is not defined yet when we recursively walk up the
initiator chain for the request.
This changes adds initializeInitiatorSymbolIfNeeded in the walking process
and also fix a "typo" in initiatorGraphForRequest networkManager checking.
Change-Id: Ibaa1deec6c2548e149554aa526abf27a61711621
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1867412
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Lorne Mitchell <lomitch@microsoft.com>
Commit-Queue: Junyi Xiao <juxiao@microsoft.com>
Cr-Original-Commit-Position: refs/heads/master@{#707502}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a75fc7267808c0e667261083919d2c86003c7eb5
diff --git a/front_end/sdk/NetworkLog.js b/front_end/sdk/NetworkLog.js
index 34c53a2..fbdc51f 100644
--- a/front_end/sdk/NetworkLog.js
+++ b/front_end/sdk/NetworkLog.js
@@ -241,7 +241,7 @@
const initiated = new Set();
const networkManager = SDK.NetworkManager.forRequest(request);
for (const otherRequest of this._requests) {
- const otherRequestManager = SDK.NetworkManager.forRequest(request);
+ const otherRequestManager = SDK.NetworkManager.forRequest(otherRequest);
if (networkManager === otherRequestManager && this._initiatorChain(otherRequest).has(request)) {
initiated.add(otherRequest);
}
@@ -265,6 +265,7 @@
let checkRequest = request;
do {
+ this._initializeInitiatorSymbolIfNeeded(checkRequest);
if (checkRequest[_initiatorDataSymbol].chain) {
initiatorChainCache.addAll(checkRequest[_initiatorDataSymbol].chain);
break;