fix: Page.waitForDevicePrompt crash (#11153)

This commit is contained in:
Thiago Perrotta 2023-10-15 10:32:33 -04:00 committed by GitHub
parent 2b578e4a09
commit 257be15d83
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -21,7 +21,6 @@ import {Frame, FrameEvent, throwIfDetached} from '../api/Frame.js';
import type {HTTPResponse} from '../api/HTTPResponse.js';
import type {WaitTimeoutOptions} from '../api/Page.js';
import {setPageContent} from '../common/util.js';
import {assert} from '../util/assert.js';
import {Deferred} from '../util/Deferred.js';
import {disposeSymbol} from '../util/disposable.js';
import {isErrorLike} from '../util/ErrorLike.js';
@ -293,12 +292,12 @@ export class CdpFrame extends Frame {
}
#deviceRequestPromptManager(): DeviceRequestPromptManager {
if (this.isOOPFrame()) {
return this._frameManager._deviceRequestPromptManager(this.#client);
}
const parentFrame = this.parentFrame();
assert(parentFrame !== null);
return parentFrame.#deviceRequestPromptManager();
if (this.isOOPFrame() || parentFrame === null) {
return this._frameManager._deviceRequestPromptManager(this.#client);
} else {
return parentFrame.#deviceRequestPromptManager();
}
}
@throwIfDetached