chore: fix BiDi redirects (#10929)

This commit is contained in:
Nikolay Vitkov 2023-09-19 15:41:21 +02:00 committed by GitHub
parent 04384aeaec
commit 825dd17d2a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 5 additions and 19 deletions

View File

@ -93,12 +93,10 @@ export class BidiNetworkManager extends EventEmitter<BidiNetworkManagerEvents> {
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<BidiNetworkManagerEvents> {
}
this.emit(NetworkManagerEvent.Response, response);
this.emit(NetworkManagerEvent.RequestFinished, request);
this.#requestMap.delete(event.request.request);
}
#onFetchError(event: Bidi.Network.FetchErrorParameters) {

View File

@ -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;

View File

@ -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) {

View File

@ -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"],