diff --git a/packages/puppeteer-core/src/bidi/NetworkManager.ts b/packages/puppeteer-core/src/bidi/NetworkManager.ts index 81f18ba4194..87c8cd6b420 100644 --- a/packages/puppeteer-core/src/bidi/NetworkManager.ts +++ b/packages/puppeteer-core/src/bidi/NetworkManager.ts @@ -93,12 +93,10 @@ export class BidiNetworkManager extends EventEmitter { return; } const request = this.#requestMap.get(event.request.request); - let upsertRequest: BidiHTTPRequest; if (request) { - const requestChain = request._redirectChain; - - upsertRequest = new BidiHTTPRequest(event, frame, requestChain); + request._redirectChain.push(request); + upsertRequest = new BidiHTTPRequest(event, frame, request._redirectChain); } else { upsertRequest = new BidiHTTPRequest(event, frame, []); } @@ -123,7 +121,6 @@ export class BidiNetworkManager extends EventEmitter { } this.emit(NetworkManagerEvent.Response, response); this.emit(NetworkManagerEvent.RequestFinished, request); - this.#requestMap.delete(event.request.request); } #onFetchError(event: Bidi.Network.FetchErrorParameters) { diff --git a/packages/puppeteer-core/src/cdp/HTTPRequest.ts b/packages/puppeteer-core/src/cdp/HTTPRequest.ts index 9d809d6b719..fffcaf4f9f7 100644 --- a/packages/puppeteer-core/src/cdp/HTTPRequest.ts +++ b/packages/puppeteer-core/src/cdp/HTTPRequest.ts @@ -37,12 +37,7 @@ import {assert} from '../util/assert.js'; * @internal */ export class CdpHTTPRequest extends HTTPRequest { - override _requestId: string; - override _interceptionId: string | undefined; - override _failureText: string | null = null; - override _response: HTTPResponse | null = null; - override _fromMemoryCache = false; - override _redirectChain: CdpHTTPRequest[]; + declare _redirectChain: CdpHTTPRequest[]; #client: CDPSession; #isNavigationRequest: boolean; diff --git a/packages/puppeteer-core/src/cdp/HTTPResponse.ts b/packages/puppeteer-core/src/cdp/HTTPResponse.ts index ced72739eb3..ecfa1f75dc6 100644 --- a/packages/puppeteer-core/src/cdp/HTTPResponse.ts +++ b/packages/puppeteer-core/src/cdp/HTTPResponse.ts @@ -57,7 +57,7 @@ export class CdpHTTPResponse extends HTTPResponse { port: responsePayload.remotePort, }; this.#statusText = - this.#parseStatusTextFromExtrInfo(extraInfo) || + this.#parseStatusTextFromExtraInfo(extraInfo) || responsePayload.statusText; this.#url = request.url(); this.#fromDiskCache = !!responsePayload.fromDiskCache; @@ -75,7 +75,7 @@ export class CdpHTTPResponse extends HTTPResponse { this.#timing = responsePayload.timing || null; } - #parseStatusTextFromExtrInfo( + #parseStatusTextFromExtraInfo( extraInfo: Protocol.Network.ResponseReceivedExtraInfoEvent | null ): string | undefined { if (!extraInfo || !extraInfo.headersText) { diff --git a/test/TestExpectations.json b/test/TestExpectations.json index 39abfbe182b..000703131f5 100644 --- a/test/TestExpectations.json +++ b/test/TestExpectations.json @@ -2597,12 +2597,6 @@ "parameters": ["chrome", "webDriverBiDi"], "expectations": ["PASS"] }, - { - "testIdPattern": "[navigation.spec] navigation Page.goto should return last response in redirect chain", - "platforms": ["darwin", "linux", "win32"], - "parameters": ["firefox", "webDriverBiDi"], - "expectations": ["FAIL"] - }, { "testIdPattern": "[navigation.spec] navigation Page.goto should return response when page changes its URL after load", "platforms": ["darwin", "linux", "win32"],