chore: clear `pendingDocument()` for the same-document navigation (#32954)

WebKit notifies about a pending same-document navigation through
`Page.frameScheduledNavigation`, and committing it should clear the
`pendingDocument()`.

Extracted from #32899.
This commit is contained in:
Dmitry Gozman 2024-10-04 04:54:56 -07:00 committed by GitHub
parent 895be9f8de
commit 10d6812058
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 5 additions and 0 deletions

View File

@ -248,6 +248,11 @@ export class FrameManager {
const frame = this._frames.get(frameId);
if (!frame)
return;
const pending = frame.pendingDocument();
if (pending && pending.documentId === undefined && pending.request === undefined) {
// WebKit has notified about the same-document navigation being requested, so clear it.
frame.setPendingDocument(undefined);
}
frame._url = url;
const navigationEvent: NavigationEvent = { url, name: frame._name, isPublic: true };
this._fireInternalFrameNavigation(frame, navigationEvent);