[go: nahoru, domu]

Roll protocol for preload domain migration

This CL rolls protocol for preload domain migration and change the
related CDPs call sites.

DISABLE_THIRD_PARTY_CHECK=Need to update code depending on generated
types

Bug: 1384419
Change-Id: I42a26d5c7dd19df1454a9bec43bc56d54c30978f
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/4305501
Reviewed-by: Danil Somsikov <dsv@chromium.org>
Reviewed-by: Ken Okada <kenoss@chromium.org>
Commit-Queue: Huanpo Lin <robertlin@chromium.org>
diff --git a/front_end/core/sdk/PreloadingModel.ts b/front_end/core/sdk/PreloadingModel.ts
index c97e32a..7114519 100644
--- a/front_end/core/sdk/PreloadingModel.ts
+++ b/front_end/core/sdk/PreloadingModel.ts
@@ -123,6 +123,15 @@
   ruleSetRemoved(event: Protocol.Preload.RuleSetRemovedEvent): void {
     this.model.onRuleSetRemoved(event);
   }
+
+  prerenderAttemptCompleted(_event: Protocol.Preload.PrerenderAttemptCompletedEvent): void {
+  }
+
+  prefetchStatusUpdated(_event: Protocol.Preload.PrefetchStatusUpdatedEvent): void {
+  }
+
+  prerenderStatusUpdated(_event: Protocol.Preload.PrerenderStatusUpdatedEvent): void {
+  }
 }
 
 class RuleSetRegistry {
diff --git a/front_end/core/sdk/PrerenderingModel.ts b/front_end/core/sdk/PrerenderingModel.ts
index 0aacc76..3da56bf 100644
--- a/front_end/core/sdk/PrerenderingModel.ts
+++ b/front_end/core/sdk/PrerenderingModel.ts
@@ -99,7 +99,7 @@
   }
 
   private onPrerenderAttemptCompleted(
-      event: Common.EventTarget.EventTargetEvent<Protocol.Page.PrerenderAttemptCompletedEvent>): void {
+      event: Common.EventTarget.EventTargetEvent<Protocol.Preload.PrerenderAttemptCompletedEvent>): void {
     const inner = event.data;
 
     this.registry.updateOpaquePrerenderingAttempt(inner);
@@ -135,7 +135,7 @@
   trigger: PrerenderingTrigger;
   url: Platform.DevToolsPath.UrlString;
   status: PrerenderingStatus;
-  discardedReason?: Protocol.Page.PrerenderFinalStatus|null|'Unknown';
+  discardedReason?: Protocol.Preload.PrerenderFinalStatus|null|'Unknown';
 }
 
 type PrerenderingTrigger =
@@ -265,7 +265,7 @@
     this.opaqueUrlToPreId.set(url, id);
   }
 
-  updateOpaquePrerenderingAttempt(event: Protocol.Page.PrerenderAttemptCompletedEvent): void {
+  updateOpaquePrerenderingAttempt(event: Protocol.Preload.PrerenderAttemptCompletedEvent): void {
     const id = this.opaqueUrlToPreId.get(event.prerenderingUrl as Platform.DevToolsPath.UrlString);
 
     if (id === undefined) {
@@ -278,8 +278,9 @@
       return;
     }
 
-    const status = (event.finalStatus === Protocol.Page.PrerenderFinalStatus.Activated) ? PrerenderingStatus.Activated :
-                                                                                          PrerenderingStatus.Discarded;
+    const status = (event.finalStatus === Protocol.Preload.PrerenderFinalStatus.Activated) ?
+        PrerenderingStatus.Activated :
+        PrerenderingStatus.Discarded;
     const eventInternal: PrerenderingAttemptEventUpdate = {
       kind: 'PrerenderingAttemptEventUpdate',
       update: {
@@ -294,12 +295,12 @@
     this.processEvent(eventInternal);
   }
 
-  private getDiscardedReason(event: Protocol.Page.PrerenderAttemptCompletedEvent): Protocol.Page.PrerenderFinalStatus
-      |null {
+  private getDiscardedReason(event: Protocol.Preload.PrerenderAttemptCompletedEvent):
+      Protocol.Preload.PrerenderFinalStatus|null {
     switch (event.finalStatus) {
-      case Protocol.Page.PrerenderFinalStatus.Activated:
+      case Protocol.Preload.PrerenderFinalStatus.Activated:
         return null;
-      case Protocol.Page.PrerenderFinalStatus.Destroyed:
+      case Protocol.Preload.PrerenderFinalStatus.Destroyed:
         return null;
       default:
         return event.finalStatus;
diff --git a/front_end/core/sdk/ResourceTreeModel.ts b/front_end/core/sdk/ResourceTreeModel.ts
index 3a27a6f..49cc1a2 100644
--- a/front_end/core/sdk/ResourceTreeModel.ts
+++ b/front_end/core/sdk/ResourceTreeModel.ts
@@ -66,7 +66,7 @@
   isInterstitialShowing: boolean;
   mainFrame: ResourceTreeFrame|null;
   #pendingBackForwardCacheNotUsedEvents: Set<Protocol.Page.BackForwardCacheNotUsedEvent>;
-  #pendingPrerenderAttemptCompletedEvents: Set<Protocol.Page.PrerenderAttemptCompletedEvent>;
+  #pendingPrerenderAttemptCompletedEvents: Set<Protocol.Preload.PrerenderAttemptCompletedEvent>;
 
   constructor(target: Target) {
     super(target);
@@ -82,8 +82,9 @@
     this.#securityOriginManager = (target.model(SecurityOriginManager) as SecurityOriginManager);
     this.#storageKeyManager = (target.model(StorageKeyManager) as StorageKeyManager);
     this.#pendingBackForwardCacheNotUsedEvents = new Set<Protocol.Page.BackForwardCacheNotUsedEvent>();
-    this.#pendingPrerenderAttemptCompletedEvents = new Set<Protocol.Page.PrerenderAttemptCompletedEvent>();
+    this.#pendingPrerenderAttemptCompletedEvents = new Set<Protocol.Preload.PrerenderAttemptCompletedEvent>();
     target.registerPageDispatcher(new PageDispatcher(this));
+    target.registerPreloadDispatcher(new PreloadDispatcher(this));
 
     this.framesInternal = new Map();
     this.#cachedResourcesProcessed = false;
@@ -589,7 +590,7 @@
     }
   }
 
-  onPrerenderAttemptCompleted(event: Protocol.Page.PrerenderAttemptCompletedEvent): void {
+  onPrerenderAttemptCompleted(event: Protocol.Preload.PrerenderAttemptCompletedEvent): void {
     if (this.mainFrame && this.mainFrame.id === event.initiatingFrameId) {
       this.mainFrame.setPrerenderFinalStatus(event.finalStatus);
       this.dispatchEventToListeners(Events.PrerenderingStatusUpdated, this.mainFrame);
@@ -676,7 +677,7 @@
   [Events.InterstitialHidden]: void,
   [Events.BackForwardCacheDetailsUpdated]: ResourceTreeFrame,
   [Events.PrerenderingStatusUpdated]: ResourceTreeFrame,
-  [Events.PrerenderAttemptCompleted]: Protocol.Page.PrerenderAttemptCompletedEvent,
+  [Events.PrerenderAttemptCompleted]: Protocol.Preload.PrerenderAttemptCompletedEvent,
   [Events.JavaScriptDialogOpening]: Protocol.Page.JavascriptDialogOpeningEvent,
 };
 
@@ -709,7 +710,7 @@
     explanations: [],
     explanationsTree: undefined,
   };
-  prerenderFinalStatus: Protocol.Page.PrerenderFinalStatus|null;
+  prerenderFinalStatus: Protocol.Preload.PrerenderFinalStatus|null;
   prerenderDisallowedApiMethod: string|null;
 
   constructor(
@@ -1086,7 +1087,7 @@
     return this.resourcesMap;
   }
 
-  setPrerenderFinalStatus(status: Protocol.Page.PrerenderFinalStatus): void {
+  setPrerenderFinalStatus(status: Protocol.Preload.PrerenderFinalStatus): void {
     this.prerenderFinalStatus = status;
   }
 
@@ -1195,15 +1196,28 @@
 
   downloadProgress(): void {
   }
+}
 
-  prerenderAttemptCompleted(params: Protocol.Page.PrerenderAttemptCompletedEvent): void {
+class PreloadDispatcher implements ProtocolProxyApi.PreloadDispatcher {
+  #resourceTreeModel: ResourceTreeModel;
+  constructor(resourceTreeModel: ResourceTreeModel) {
+    this.#resourceTreeModel = resourceTreeModel;
+  }
+
+  ruleSetUpdated(_event: Protocol.Preload.RuleSetUpdatedEvent): void {
+  }
+
+  ruleSetRemoved(_event: Protocol.Preload.RuleSetRemovedEvent): void {
+  }
+
+  prerenderAttemptCompleted(params: Protocol.Preload.PrerenderAttemptCompletedEvent): void {
     this.#resourceTreeModel.onPrerenderAttemptCompleted(params);
   }
 
-  prefetchStatusUpdated({}: Protocol.Page.PrefetchStatusUpdatedEvent): void {
+  prefetchStatusUpdated(_event: Protocol.Preload.PrefetchStatusUpdatedEvent): void {
   }
 
-  prerenderStatusUpdated({}: Protocol.Page.PrerenderStatusUpdatedEvent): void {
+  prerenderStatusUpdated(_event: Protocol.Preload.PrerenderStatusUpdatedEvent): void {
   }
 }
 
diff --git a/front_end/core/sdk/ScreenCaptureModel.ts b/front_end/core/sdk/ScreenCaptureModel.ts
index 79c3b4c..fae2363 100644
--- a/front_end/core/sdk/ScreenCaptureModel.ts
+++ b/front_end/core/sdk/ScreenCaptureModel.ts
@@ -177,13 +177,13 @@
   downloadProgress(): void {
   }
 
-  prerenderAttemptCompleted(_params: Protocol.Page.PrerenderAttemptCompletedEvent): void {
+  prerenderAttemptCompleted(_params: Protocol.Preload.PrerenderAttemptCompletedEvent): void {
   }
 
-  prefetchStatusUpdated(_params: Protocol.Page.PrefetchStatusUpdatedEvent): void {
+  prefetchStatusUpdated(_params: Protocol.Preload.PrefetchStatusUpdatedEvent): void {
   }
 
-  prerenderStatusUpdated(_params: Protocol.Page.PrerenderStatusUpdatedEvent): void {
+  prerenderStatusUpdated(_params: Protocol.Preload.PrerenderStatusUpdatedEvent): void {
   }
 }
 
diff --git a/front_end/generated/InspectorBackendCommands.js b/front_end/generated/InspectorBackendCommands.js
index bcbc313..461419a 100644
--- a/front_end/generated/InspectorBackendCommands.js
+++ b/front_end/generated/InspectorBackendCommands.js
@@ -64,7 +64,7 @@
 inspectorBackend.registerEnum("Audits.SharedArrayBufferIssueType", {TransferIssue: "TransferIssue", CreationIssue: "CreationIssue"});
 inspectorBackend.registerEnum("Audits.TwaQualityEnforcementViolationType", {KHttpError: "kHttpError", KUnavailableOffline: "kUnavailableOffline", KDigitalAssetLinks: "kDigitalAssetLinks"});
 inspectorBackend.registerEnum("Audits.AttributionReportingIssueType", {PermissionPolicyDisabled: "PermissionPolicyDisabled", PermissionPolicyNotDelegated: "PermissionPolicyNotDelegated", UntrustworthyReportingOrigin: "UntrustworthyReportingOrigin", InsecureContext: "InsecureContext", InvalidHeader: "InvalidHeader", InvalidRegisterTriggerHeader: "InvalidRegisterTriggerHeader", InvalidEligibleHeader: "InvalidEligibleHeader", TooManyConcurrentRequests: "TooManyConcurrentRequests", SourceAndTriggerHeaders: "SourceAndTriggerHeaders", SourceIgnored: "SourceIgnored", TriggerIgnored: "TriggerIgnored"});
-inspectorBackend.registerEnum("Audits.GenericIssueErrorType", {CrossOriginPortalPostMessageError: "CrossOriginPortalPostMessageError", FormLabelForNameError: "FormLabelForNameError", FormDuplicateIdForInputError: "FormDuplicateIdForInputError", FormInputWithNoLabelError: "FormInputWithNoLabelError", FormAutocompleteAttributeEmptyError: "FormAutocompleteAttributeEmptyError", FormEmptyIdAndNameAttributesForInputError: "FormEmptyIdAndNameAttributesForInputError", FormAriaLabelledByToNonExistingId: "FormAriaLabelledByToNonExistingId", FormInputAssignedAutocompleteValueToIdOrNameAttributeError: "FormInputAssignedAutocompleteValueToIdOrNameAttributeError", FormLabelHasNeitherForNorNestedInput: "FormLabelHasNeitherForNorNestedInput", FormLabelForMatchesNonExistingIdError: "FormLabelForMatchesNonExistingIdError", FormHasPasswordFieldWithoutUsernameFieldError: "FormHasPasswordFieldWithoutUsernameFieldError"});
+inspectorBackend.registerEnum("Audits.GenericIssueErrorType", {CrossOriginPortalPostMessageError: "CrossOriginPortalPostMessageError", FormLabelForNameError: "FormLabelForNameError", FormDuplicateIdForInputError: "FormDuplicateIdForInputError", FormInputWithNoLabelError: "FormInputWithNoLabelError", FormAutocompleteAttributeEmptyError: "FormAutocompleteAttributeEmptyError", FormEmptyIdAndNameAttributesForInputError: "FormEmptyIdAndNameAttributesForInputError", FormAriaLabelledByToNonExistingId: "FormAriaLabelledByToNonExistingId", FormInputAssignedAutocompleteValueToIdOrNameAttributeError: "FormInputAssignedAutocompleteValueToIdOrNameAttributeError", FormLabelHasNeitherForNorNestedInput: "FormLabelHasNeitherForNorNestedInput", FormLabelForMatchesNonExistingIdError: "FormLabelForMatchesNonExistingIdError"});
 inspectorBackend.registerEnum("Audits.ClientHintIssueReason", {MetaTagAllowListInvalidOrigin: "MetaTagAllowListInvalidOrigin", MetaTagModifiedHTML: "MetaTagModifiedHTML"});
 inspectorBackend.registerEnum("Audits.FederatedAuthRequestIssueReason", {ShouldEmbargo: "ShouldEmbargo", TooManyRequests: "TooManyRequests", WellKnownHttpNotFound: "WellKnownHttpNotFound", WellKnownNoResponse: "WellKnownNoResponse", WellKnownInvalidResponse: "WellKnownInvalidResponse", WellKnownListEmpty: "WellKnownListEmpty", ConfigNotInWellKnown: "ConfigNotInWellKnown", WellKnownTooBig: "WellKnownTooBig", ConfigHttpNotFound: "ConfigHttpNotFound", ConfigNoResponse: "ConfigNoResponse", ConfigInvalidResponse: "ConfigInvalidResponse", ClientMetadataHttpNotFound: "ClientMetadataHttpNotFound", ClientMetadataNoResponse: "ClientMetadataNoResponse", ClientMetadataInvalidResponse: "ClientMetadataInvalidResponse", DisabledInSettings: "DisabledInSettings", ErrorFetchingSignin: "ErrorFetchingSignin", InvalidSigninResponse: "InvalidSigninResponse", AccountsHttpNotFound: "AccountsHttpNotFound", AccountsNoResponse: "AccountsNoResponse", AccountsInvalidResponse: "AccountsInvalidResponse", AccountsListEmpty: "AccountsListEmpty", IdTokenHttpNotFound: "IdTokenHttpNotFound", IdTokenNoResponse: "IdTokenNoResponse", IdTokenInvalidResponse: "IdTokenInvalidResponse", IdTokenInvalidRequest: "IdTokenInvalidRequest", ErrorIdToken: "ErrorIdToken", Canceled: "Canceled", RpPageNotVisible: "RpPageNotVisible"});
 inspectorBackend.registerEnum("Audits.InspectorIssueCode", {CookieIssue: "CookieIssue", MixedContentIssue: "MixedContentIssue", BlockedByResponseIssue: "BlockedByResponseIssue", HeavyAdIssue: "HeavyAdIssue", ContentSecurityPolicyIssue: "ContentSecurityPolicyIssue", SharedArrayBufferIssue: "SharedArrayBufferIssue", TrustedWebActivityIssue: "TrustedWebActivityIssue", LowTextContrastIssue: "LowTextContrastIssue", CorsIssue: "CorsIssue", AttributionReportingIssue: "AttributionReportingIssue", QuirksModeIssue: "QuirksModeIssue", NavigatorUserAgentIssue: "NavigatorUserAgentIssue", GenericIssue: "GenericIssue", DeprecationIssue: "DeprecationIssue", ClientHintIssue: "ClientHintIssue", FederatedAuthRequestIssue: "FederatedAuthRequestIssue"});
@@ -569,8 +569,6 @@
 inspectorBackend.registerEnum("Page.NavigationType", {Navigation: "Navigation", BackForwardCacheRestore: "BackForwardCacheRestore"});
 inspectorBackend.registerEnum("Page.BackForwardCacheNotRestoredReason", {NotPrimaryMainFrame: "NotPrimaryMainFrame", BackForwardCacheDisabled: "BackForwardCacheDisabled", RelatedActiveContentsExist: "RelatedActiveContentsExist", HTTPStatusNotOK: "HTTPStatusNotOK", SchemeNotHTTPOrHTTPS: "SchemeNotHTTPOrHTTPS", Loading: "Loading", WasGrantedMediaAccess: "WasGrantedMediaAccess", DisableForRenderFrameHostCalled: "DisableForRenderFrameHostCalled", DomainNotAllowed: "DomainNotAllowed", HTTPMethodNotGET: "HTTPMethodNotGET", SubframeIsNavigating: "SubframeIsNavigating", Timeout: "Timeout", CacheLimit: "CacheLimit", JavaScriptExecution: "JavaScriptExecution", RendererProcessKilled: "RendererProcessKilled", RendererProcessCrashed: "RendererProcessCrashed", SchedulerTrackedFeatureUsed: "SchedulerTrackedFeatureUsed", ConflictingBrowsingInstance: "ConflictingBrowsingInstance", CacheFlushed: "CacheFlushed", ServiceWorkerVersionActivation: "ServiceWorkerVersionActivation", SessionRestored: "SessionRestored", ServiceWorkerPostMessage: "ServiceWorkerPostMessage", EnteredBackForwardCacheBeforeServiceWorkerHostAdded: "EnteredBackForwardCacheBeforeServiceWorkerHostAdded", RenderFrameHostReused_SameSite: "RenderFrameHostReused_SameSite", RenderFrameHostReused_CrossSite: "RenderFrameHostReused_CrossSite", ServiceWorkerClaim: "ServiceWorkerClaim", IgnoreEventAndEvict: "IgnoreEventAndEvict", HaveInnerContents: "HaveInnerContents", TimeoutPuttingInCache: "TimeoutPuttingInCache", BackForwardCacheDisabledByLowMemory: "BackForwardCacheDisabledByLowMemory", BackForwardCacheDisabledByCommandLine: "BackForwardCacheDisabledByCommandLine", NetworkRequestDatAPIpeDrainedAsBytesConsumer: "NetworkRequestDatapipeDrainedAsBytesConsumer", NetworkRequestRedirected: "NetworkRequestRedirected", NetworkRequestTimeout: "NetworkRequestTimeout", NetworkExceedsBufferLimit: "NetworkExceedsBufferLimit", NavigationCancelledWhileRestoring: "NavigationCancelledWhileRestoring", NotMostRecentNavigationEntry: "NotMostRecentNavigationEntry", BackForwardCacheDisabledForPrerender: "BackForwardCacheDisabledForPrerender", UserAgentOverrideDiffers: "UserAgentOverrideDiffers", ForegroundCacheLimit: "ForegroundCacheLimit", BrowsingInstanceNotSwapped: "BrowsingInstanceNotSwapped", BackForwardCacheDisabledForDelegate: "BackForwardCacheDisabledForDelegate", UnloadHandlerExistsInMainFrame: "UnloadHandlerExistsInMainFrame", UnloadHandlerExistsInSubFrame: "UnloadHandlerExistsInSubFrame", ServiceWorkerUnregistration: "ServiceWorkerUnregistration", CacheControlNoStore: "CacheControlNoStore", CacheControlNoStoreCookieModified: "CacheControlNoStoreCookieModified", CacheControlNoStoreHTTPOnlyCookieModified: "CacheControlNoStoreHTTPOnlyCookieModified", NoResponseHead: "NoResponseHead", Unknown: "Unknown", ActivationNavigationsDisallowedForBug1234857: "ActivationNavigationsDisallowedForBug1234857", ErrorDocument: "ErrorDocument", FencedFramesEmbedder: "FencedFramesEmbedder", WebSocket: "WebSocket", WebTransport: "WebTransport", WebRTC: "WebRTC", MainResourceHasCacheControlNoStore: "MainResourceHasCacheControlNoStore", MainResourceHasCacheControlNoCache: "MainResourceHasCacheControlNoCache", SubresourceHasCacheControlNoStore: "SubresourceHasCacheControlNoStore", SubresourceHasCacheControlNoCache: "SubresourceHasCacheControlNoCache", ContainsPlugins: "ContainsPlugins", DocumentLoaded: "DocumentLoaded", DedicatedWorkerOrWorklet: "DedicatedWorkerOrWorklet", OutstandingNetworkRequestOthers: "OutstandingNetworkRequestOthers", OutstandingIndexedDBTransaction: "OutstandingIndexedDBTransaction", RequestedMIDIPermission: "RequestedMIDIPermission", RequestedAudioCapturePermission: "RequestedAudioCapturePermission", RequestedVideoCapturePermission: "RequestedVideoCapturePermission", RequestedBackForwardCacheBlockedSensors: "RequestedBackForwardCacheBlockedSensors", RequestedBackgroundWorkPermission: "RequestedBackgroundWorkPermission", BroadcastChannel: "BroadcastChannel", IndexedDBConnection: "IndexedDBConnection", WebXR: "WebXR", SharedWorker: "SharedWorker", WebLocks: "WebLocks", WebHID: "WebHID", WebShare: "WebShare", RequestedStorageAccessGrant: "RequestedStorageAccessGrant", WebNfc: "WebNfc", OutstandingNetworkRequestFetch: "OutstandingNetworkRequestFetch", OutstandingNetworkRequestXHR: "OutstandingNetworkRequestXHR", AppBanner: "AppBanner", Printing: "Printing", WebDatabase: "WebDatabase", PictureInPicture: "PictureInPicture", Portal: "Portal", SpeechRecognizer: "SpeechRecognizer", IdleManager: "IdleManager", PaymentManager: "PaymentManager", SpeechSynthesis: "SpeechSynthesis", KeyboardLock: "KeyboardLock", WebOTPService: "WebOTPService", OutstandingNetworkRequestDirectSocket: "OutstandingNetworkRequestDirectSocket", InjectedJavascript: "InjectedJavascript", InjectedStyleSheet: "InjectedStyleSheet", KeepaliveRequest: "KeepaliveRequest", IndexedDBEvent: "IndexedDBEvent", Dummy: "Dummy", AuthorizationHeader: "AuthorizationHeader", ContentSecurityHandler: "ContentSecurityHandler", ContentWebAuthenticationAPI: "ContentWebAuthenticationAPI", ContentFileChooser: "ContentFileChooser", ContentSerial: "ContentSerial", ContentFileSystemAccess: "ContentFileSystemAccess", ContentMediaDevicesDispatcherHost: "ContentMediaDevicesDispatcherHost", ContentWebBluetooth: "ContentWebBluetooth", ContentWebUSB: "ContentWebUSB", ContentMediaSessionService: "ContentMediaSessionService", ContentScreenReader: "ContentScreenReader", EmbedderPopupBlockerTabHelper: "EmbedderPopupBlockerTabHelper", EmbedderSafeBrowsingTriggeredPopupBlocker: "EmbedderSafeBrowsingTriggeredPopupBlocker", EmbedderSafeBrowsingThreatDetails: "EmbedderSafeBrowsingThreatDetails", EmbedderAppBannerManager: "EmbedderAppBannerManager", EmbedderDomDistillerViewerSource: "EmbedderDomDistillerViewerSource", EmbedderDomDistillerSelfDeletingRequestDelegate: "EmbedderDomDistillerSelfDeletingRequestDelegate", EmbedderOomInterventionTabHelper: "EmbedderOomInterventionTabHelper", EmbedderOfflinePage: "EmbedderOfflinePage", EmbedderChromePasswordManagerClientBindCredentialManager: "EmbedderChromePasswordManagerClientBindCredentialManager", EmbedderPermissionRequestManager: "EmbedderPermissionRequestManager", EmbedderModalDialog: "EmbedderModalDialog", EmbedderExtensions: "EmbedderExtensions", EmbedderExtensionMessaging: "EmbedderExtensionMessaging", EmbedderExtensionMessagingForOpenPort: "EmbedderExtensionMessagingForOpenPort", EmbedderExtensionSentMessageToCachedFrame: "EmbedderExtensionSentMessageToCachedFrame"});
 inspectorBackend.registerEnum("Page.BackForwardCacheNotRestoredReasonType", {SupportPending: "SupportPending", PageSupportNeeded: "PageSupportNeeded", Circumstantial: "Circumstantial"});
-inspectorBackend.registerEnum("Page.PrerenderFinalStatus", {Activated: "Activated", Destroyed: "Destroyed", LowEndDevice: "LowEndDevice", InvalidSchemeRedirect: "InvalidSchemeRedirect", InvalidSchemeNavigation: "InvalidSchemeNavigation", InProgressNavigation: "InProgressNavigation", NavigationRequestBlockedByCsp: "NavigationRequestBlockedByCsp", MainFrameNavigation: "MainFrameNavigation", MojoBinderPolicy: "MojoBinderPolicy", RendererProcessCrashed: "RendererProcessCrashed", RendererProcessKilled: "RendererProcessKilled", Download: "Download", TriggerDestroyed: "TriggerDestroyed", NavigationNotCommitted: "NavigationNotCommitted", NavigationBadHttpStatus: "NavigationBadHttpStatus", ClientCertRequested: "ClientCertRequested", NavigationRequestNetworkError: "NavigationRequestNetworkError", MaxNumOfRunningPrerendersExceeded: "MaxNumOfRunningPrerendersExceeded", CancelAllHostsForTesting: "CancelAllHostsForTesting", DidFailLoad: "DidFailLoad", Stop: "Stop", SslCertificateError: "SslCertificateError", LoginAuthRequested: "LoginAuthRequested", UaChangeRequiresReload: "UaChangeRequiresReload", BlockedByClient: "BlockedByClient", AudioOutputDeviceRequested: "AudioOutputDeviceRequested", MixedContent: "MixedContent", TriggerBackgrounded: "TriggerBackgrounded", EmbedderTriggeredAndCrossOriginRedirected: "EmbedderTriggeredAndCrossOriginRedirected", MemoryLimitExceeded: "MemoryLimitExceeded", FailToGetMemoryUsage: "FailToGetMemoryUsage", DataSaverEnabled: "DataSaverEnabled", HasEffectiveUrl: "HasEffectiveUrl", ActivatedBeforeStarted: "ActivatedBeforeStarted", InactivePageRestriction: "InactivePageRestriction", StartFailed: "StartFailed", TimeoutBackgrounded: "TimeoutBackgrounded", CrossSiteRedirect: "CrossSiteRedirect", CrossSiteNavigation: "CrossSiteNavigation", SameSiteCrossOriginRedirect: "SameSiteCrossOriginRedirect", SameSiteCrossOriginNavigation: "SameSiteCrossOriginNavigation", SameSiteCrossOriginRedirectNotOptIn: "SameSiteCrossOriginRedirectNotOptIn", SameSiteCrossOriginNavigationNotOptIn: "SameSiteCrossOriginNavigationNotOptIn", ActivationNavigationParameterMismatch: "ActivationNavigationParameterMismatch", ActivatedInBackground: "ActivatedInBackground", EmbedderHostDisallowed: "EmbedderHostDisallowed", ActivationNavigationDestroyedBeforeSuccess: "ActivationNavigationDestroyedBeforeSuccess", TabClosedByUserGesture: "TabClosedByUserGesture", TabClosedWithoutUserGesture: "TabClosedWithoutUserGesture", PrimaryMainFrameRendererProcessCrashed: "PrimaryMainFrameRendererProcessCrashed", PrimaryMainFrameRendererProcessKilled: "PrimaryMainFrameRendererProcessKilled", ActivationFramePolicyNotCompatible: "ActivationFramePolicyNotCompatible", PreloadingDisabled: "PreloadingDisabled", BatterySaverEnabled: "BatterySaverEnabled", ActivatedDuringMainFrameNavigation: "ActivatedDuringMainFrameNavigation", PreloadingUnsupportedByWebContents: "PreloadingUnsupportedByWebContents"});
-inspectorBackend.registerEnum("Page.PreloadingStatus", {Pending: "Pending", Running: "Running", Ready: "Ready", Success: "Success", Failure: "Failure", NotSupported: "NotSupported"});
 inspectorBackend.registerEvent("Page.domContentEventFired", ["timestamp"]);
 inspectorBackend.registerEnum("Page.FileChooserOpenedEventMode", {SelectSingle: "selectSingle", SelectMultiple: "selectMultiple"});
 inspectorBackend.registerEvent("Page.fileChooserOpened", ["frameId", "mode", "backendNodeId"]);
@@ -594,9 +592,6 @@
 inspectorBackend.registerEvent("Page.javascriptDialogOpening", ["url", "message", "type", "hasBrowserHandler", "defaultPrompt"]);
 inspectorBackend.registerEvent("Page.lifecycleEvent", ["frameId", "loaderId", "name", "timestamp"]);
 inspectorBackend.registerEvent("Page.backForwardCacheNotUsed", ["loaderId", "frameId", "notRestoredExplanations", "notRestoredExplanationsTree"]);
-inspectorBackend.registerEvent("Page.prerenderAttemptCompleted", ["initiatingFrameId", "prerenderingUrl", "finalStatus", "disallowedApiMethod"]);
-inspectorBackend.registerEvent("Page.prefetchStatusUpdated", ["initiatingFrameId", "prefetchUrl", "status"]);
-inspectorBackend.registerEvent("Page.prerenderStatusUpdated", ["initiatingFrameId", "prerenderingUrl", "status"]);
 inspectorBackend.registerEvent("Page.loadEventFired", ["timestamp"]);
 inspectorBackend.registerEvent("Page.navigatedWithinDocument", ["frameId", "url"]);
 inspectorBackend.registerEvent("Page.screencastFrame", ["data", "metadata", "sessionId"]);
@@ -886,11 +881,21 @@
 inspectorBackend.registerCommand("DeviceAccess.cancelPrompt", [{"name": "id", "type": "string", "optional": false}], []);
 
 // Preload.
+inspectorBackend.registerEnum("Preload.PrerenderFinalStatus", {Activated: "Activated", Destroyed: "Destroyed", LowEndDevice: "LowEndDevice", InvalidSchemeRedirect: "InvalidSchemeRedirect", InvalidSchemeNavigation: "InvalidSchemeNavigation", InProgressNavigation: "InProgressNavigation", NavigationRequestBlockedByCsp: "NavigationRequestBlockedByCsp", MainFrameNavigation: "MainFrameNavigation", MojoBinderPolicy: "MojoBinderPolicy", RendererProcessCrashed: "RendererProcessCrashed", RendererProcessKilled: "RendererProcessKilled", Download: "Download", TriggerDestroyed: "TriggerDestroyed", NavigationNotCommitted: "NavigationNotCommitted", NavigationBadHttpStatus: "NavigationBadHttpStatus", ClientCertRequested: "ClientCertRequested", NavigationRequestNetworkError: "NavigationRequestNetworkError", MaxNumOfRunningPrerendersExceeded: "MaxNumOfRunningPrerendersExceeded", CancelAllHostsForTesting: "CancelAllHostsForTesting", DidFailLoad: "DidFailLoad", Stop: "Stop", SslCertificateError: "SslCertificateError", LoginAuthRequested: "LoginAuthRequested", UaChangeRequiresReload: "UaChangeRequiresReload", BlockedByClient: "BlockedByClient", AudioOutputDeviceRequested: "AudioOutputDeviceRequested", MixedContent: "MixedContent", TriggerBackgrounded: "TriggerBackgrounded", EmbedderTriggeredAndCrossOriginRedirected: "EmbedderTriggeredAndCrossOriginRedirected", MemoryLimitExceeded: "MemoryLimitExceeded", FailToGetMemoryUsage: "FailToGetMemoryUsage", DataSaverEnabled: "DataSaverEnabled", HasEffectiveUrl: "HasEffectiveUrl", ActivatedBeforeStarted: "ActivatedBeforeStarted", InactivePageRestriction: "InactivePageRestriction", StartFailed: "StartFailed", TimeoutBackgrounded: "TimeoutBackgrounded", CrossSiteRedirect: "CrossSiteRedirect", CrossSiteNavigation: "CrossSiteNavigation", SameSiteCrossOriginRedirect: "SameSiteCrossOriginRedirect", SameSiteCrossOriginNavigation: "SameSiteCrossOriginNavigation", SameSiteCrossOriginRedirectNotOptIn: "SameSiteCrossOriginRedirectNotOptIn", SameSiteCrossOriginNavigationNotOptIn: "SameSiteCrossOriginNavigationNotOptIn", ActivationNavigationParameterMismatch: "ActivationNavigationParameterMismatch", ActivatedInBackground: "ActivatedInBackground", EmbedderHostDisallowed: "EmbedderHostDisallowed", ActivationNavigationDestroyedBeforeSuccess: "ActivationNavigationDestroyedBeforeSuccess", TabClosedByUserGesture: "TabClosedByUserGesture", TabClosedWithoutUserGesture: "TabClosedWithoutUserGesture", PrimaryMainFrameRendererProcessCrashed: "PrimaryMainFrameRendererProcessCrashed", PrimaryMainFrameRendererProcessKilled: "PrimaryMainFrameRendererProcessKilled", ActivationFramePolicyNotCompatible: "ActivationFramePolicyNotCompatible", PreloadingDisabled: "PreloadingDisabled", BatterySaverEnabled: "BatterySaverEnabled", ActivatedDuringMainFrameNavigation: "ActivatedDuringMainFrameNavigation", PreloadingUnsupportedByWebContents: "PreloadingUnsupportedByWebContents"});
+inspectorBackend.registerEnum("Preload.PreloadingStatus", {Pending: "Pending", Running: "Running", Ready: "Ready", Success: "Success", Failure: "Failure", NotSupported: "NotSupported"});
 inspectorBackend.registerEvent("Preload.ruleSetUpdated", ["ruleSet"]);
 inspectorBackend.registerEvent("Preload.ruleSetRemoved", ["id"]);
+inspectorBackend.registerEvent("Preload.prerenderAttemptCompleted", ["initiatingFrameId", "prerenderingUrl", "finalStatus", "disallowedApiMethod"]);
+inspectorBackend.registerEvent("Preload.prefetchStatusUpdated", ["initiatingFrameId", "prefetchUrl", "status"]);
+inspectorBackend.registerEvent("Preload.prerenderStatusUpdated", ["initiatingFrameId", "prerenderingUrl", "status"]);
 inspectorBackend.registerCommand("Preload.enable", [], []);
 inspectorBackend.registerCommand("Preload.disable", [], []);
 
+// FedCm.
+inspectorBackend.registerEvent("FedCm.dialogShown", []);
+inspectorBackend.registerCommand("FedCm.enable", [], []);
+inspectorBackend.registerCommand("FedCm.disable", [], []);
+
 // Debugger.
 inspectorBackend.registerEnum("Debugger.ScopeType", {Global: "global", Local: "local", With: "with", Closure: "closure", Catch: "catch", Block: "block", Script: "script", Eval: "eval", Module: "module", WasmExpressionStack: "wasm-expression-stack"});
 inspectorBackend.registerEnum("Debugger.BreakLocationType", {DebuggerStatement: "debuggerStatement", Call: "call", Return: "return"});
diff --git a/front_end/generated/protocol-mapping.d.ts b/front_end/generated/protocol-mapping.d.ts
index a26e50d..2004c05 100644
--- a/front_end/generated/protocol-mapping.d.ts
+++ b/front_end/generated/protocol-mapping.d.ts
@@ -402,20 +402,6 @@
      * when bfcache navigation fails.
      */
     'Page.backForwardCacheNotUsed': [Protocol.Page.BackForwardCacheNotUsedEvent];
-    /**
-     * Fired when a prerender attempt is completed.
-     */
-    'Page.prerenderAttemptCompleted': [Protocol.Page.PrerenderAttemptCompletedEvent];
-    /**
-     * TODO(crbug/1384419): Create a dedicated domain for preloading.
-     * Fired when a prefetch attempt is updated.
-     */
-    'Page.prefetchStatusUpdated': [Protocol.Page.PrefetchStatusUpdatedEvent];
-    /**
-     * TODO(crbug/1384419): Create a dedicated domain for preloading.
-     * Fired when a prerender attempt is updated.
-     */
-    'Page.prerenderStatusUpdated': [Protocol.Page.PrerenderStatusUpdatedEvent];
     'Page.loadEventFired': [Protocol.Page.LoadEventFiredEvent];
     /**
      * Fired when same-document navigation happens, e.g. due to history API usage or anchor navigation.
@@ -645,6 +631,19 @@
     'Preload.ruleSetUpdated': [Protocol.Preload.RuleSetUpdatedEvent];
     'Preload.ruleSetRemoved': [Protocol.Preload.RuleSetRemovedEvent];
     /**
+     * Fired when a prerender attempt is completed.
+     */
+    'Preload.prerenderAttemptCompleted': [Protocol.Preload.PrerenderAttemptCompletedEvent];
+    /**
+     * Fired when a prefetch attempt is updated.
+     */
+    'Preload.prefetchStatusUpdated': [Protocol.Preload.PrefetchStatusUpdatedEvent];
+    /**
+     * Fired when a prerender attempt is updated.
+     */
+    'Preload.prerenderStatusUpdated': [Protocol.Preload.PrerenderStatusUpdatedEvent];
+    'FedCm.dialogShown': [];
+    /**
      * Fired when breakpoint is resolved to an actual script and location.
      */
     'Debugger.breakpointResolved': [Protocol.Debugger.BreakpointResolvedEvent];
@@ -4088,6 +4087,14 @@
       paramsType: [];
       returnType: void;
     };
+    'FedCm.enable': {
+      paramsType: [];
+      returnType: void;
+    };
+    'FedCm.disable': {
+      paramsType: [];
+      returnType: void;
+    };
     /**
      * Continues execution until specific location is reached.
      */
diff --git a/front_end/generated/protocol-proxy-api.d.ts b/front_end/generated/protocol-proxy-api.d.ts
index 34a6f82..f8bda8e 100644
--- a/front_end/generated/protocol-proxy-api.d.ts
+++ b/front_end/generated/protocol-proxy-api.d.ts
@@ -102,6 +102,8 @@
 
     Preload: PreloadApi;
 
+    FedCm: FedCmApi;
+
     Debugger: DebuggerApi;
 
     HeapProfiler: HeapProfilerApi;
@@ -199,6 +201,8 @@
 
     Preload: PreloadDispatcher;
 
+    FedCm: FedCmDispatcher;
+
     Debugger: DebuggerDispatcher;
 
     HeapProfiler: HeapProfilerDispatcher;
@@ -2712,23 +2716,6 @@
      */
     backForwardCacheNotUsed(params: Protocol.Page.BackForwardCacheNotUsedEvent): void;
 
-    /**
-     * Fired when a prerender attempt is completed.
-     */
-    prerenderAttemptCompleted(params: Protocol.Page.PrerenderAttemptCompletedEvent): void;
-
-    /**
-     * TODO(crbug/1384419): Create a dedicated domain for preloading.
-     * Fired when a prefetch attempt is updated.
-     */
-    prefetchStatusUpdated(params: Protocol.Page.PrefetchStatusUpdatedEvent): void;
-
-    /**
-     * TODO(crbug/1384419): Create a dedicated domain for preloading.
-     * Fired when a prerender attempt is updated.
-     */
-    prerenderStatusUpdated(params: Protocol.Page.PrerenderStatusUpdatedEvent): void;
-
     loadEventFired(params: Protocol.Page.LoadEventFiredEvent): void;
 
     /**
@@ -3636,6 +3623,32 @@
 
     ruleSetRemoved(params: Protocol.Preload.RuleSetRemovedEvent): void;
 
+    /**
+     * Fired when a prerender attempt is completed.
+     */
+    prerenderAttemptCompleted(params: Protocol.Preload.PrerenderAttemptCompletedEvent): void;
+
+    /**
+     * Fired when a prefetch attempt is updated.
+     */
+    prefetchStatusUpdated(params: Protocol.Preload.PrefetchStatusUpdatedEvent): void;
+
+    /**
+     * Fired when a prerender attempt is updated.
+     */
+    prerenderStatusUpdated(params: Protocol.Preload.PrerenderStatusUpdatedEvent): void;
+
+  }
+
+  export interface FedCmApi {
+    invoke_enable(): Promise<Protocol.ProtocolResponseWithError>;
+
+    invoke_disable(): Promise<Protocol.ProtocolResponseWithError>;
+
+  }
+  export interface FedCmDispatcher {
+    dialogShown(): void;
+
   }
 
   export interface DebuggerApi {
diff --git a/front_end/generated/protocol.ts b/front_end/generated/protocol.ts
index 91f6522..48dff51 100644
--- a/front_end/generated/protocol.ts
+++ b/front_end/generated/protocol.ts
@@ -1021,7 +1021,6 @@
     FormInputAssignedAutocompleteValueToIdOrNameAttributeError = 'FormInputAssignedAutocompleteValueToIdOrNameAttributeError',
     FormLabelHasNeitherForNorNestedInput = 'FormLabelHasNeitherForNorNestedInput',
     FormLabelForMatchesNonExistingIdError = 'FormLabelForMatchesNonExistingIdError',
-    FormHasPasswordFieldWithoutUsernameFieldError = 'FormHasPasswordFieldWithoutUsernameFieldError',
   }
 
   /**
@@ -11181,81 +11180,6 @@
     children: BackForwardCacheNotRestoredExplanationTree[];
   }
 
-  /**
-   * List of FinalStatus reasons for Prerender2.
-   */
-  export const enum PrerenderFinalStatus {
-    Activated = 'Activated',
-    Destroyed = 'Destroyed',
-    LowEndDevice = 'LowEndDevice',
-    InvalidSchemeRedirect = 'InvalidSchemeRedirect',
-    InvalidSchemeNavigation = 'InvalidSchemeNavigation',
-    InProgressNavigation = 'InProgressNavigation',
-    NavigationRequestBlockedByCsp = 'NavigationRequestBlockedByCsp',
-    MainFrameNavigation = 'MainFrameNavigation',
-    MojoBinderPolicy = 'MojoBinderPolicy',
-    RendererProcessCrashed = 'RendererProcessCrashed',
-    RendererProcessKilled = 'RendererProcessKilled',
-    Download = 'Download',
-    TriggerDestroyed = 'TriggerDestroyed',
-    NavigationNotCommitted = 'NavigationNotCommitted',
-    NavigationBadHttpStatus = 'NavigationBadHttpStatus',
-    ClientCertRequested = 'ClientCertRequested',
-    NavigationRequestNetworkError = 'NavigationRequestNetworkError',
-    MaxNumOfRunningPrerendersExceeded = 'MaxNumOfRunningPrerendersExceeded',
-    CancelAllHostsForTesting = 'CancelAllHostsForTesting',
-    DidFailLoad = 'DidFailLoad',
-    Stop = 'Stop',
-    SslCertificateError = 'SslCertificateError',
-    LoginAuthRequested = 'LoginAuthRequested',
-    UaChangeRequiresReload = 'UaChangeRequiresReload',
-    BlockedByClient = 'BlockedByClient',
-    AudioOutputDeviceRequested = 'AudioOutputDeviceRequested',
-    MixedContent = 'MixedContent',
-    TriggerBackgrounded = 'TriggerBackgrounded',
-    EmbedderTriggeredAndCrossOriginRedirected = 'EmbedderTriggeredAndCrossOriginRedirected',
-    MemoryLimitExceeded = 'MemoryLimitExceeded',
-    FailToGetMemoryUsage = 'FailToGetMemoryUsage',
-    DataSaverEnabled = 'DataSaverEnabled',
-    HasEffectiveUrl = 'HasEffectiveUrl',
-    ActivatedBeforeStarted = 'ActivatedBeforeStarted',
-    InactivePageRestriction = 'InactivePageRestriction',
-    StartFailed = 'StartFailed',
-    TimeoutBackgrounded = 'TimeoutBackgrounded',
-    CrossSiteRedirect = 'CrossSiteRedirect',
-    CrossSiteNavigation = 'CrossSiteNavigation',
-    SameSiteCrossOriginRedirect = 'SameSiteCrossOriginRedirect',
-    SameSiteCrossOriginNavigation = 'SameSiteCrossOriginNavigation',
-    SameSiteCrossOriginRedirectNotOptIn = 'SameSiteCrossOriginRedirectNotOptIn',
-    SameSiteCrossOriginNavigationNotOptIn = 'SameSiteCrossOriginNavigationNotOptIn',
-    ActivationNavigationParameterMismatch = 'ActivationNavigationParameterMismatch',
-    ActivatedInBackground = 'ActivatedInBackground',
-    EmbedderHostDisallowed = 'EmbedderHostDisallowed',
-    ActivationNavigationDestroyedBeforeSuccess = 'ActivationNavigationDestroyedBeforeSuccess',
-    TabClosedByUserGesture = 'TabClosedByUserGesture',
-    TabClosedWithoutUserGesture = 'TabClosedWithoutUserGesture',
-    PrimaryMainFrameRendererProcessCrashed = 'PrimaryMainFrameRendererProcessCrashed',
-    PrimaryMainFrameRendererProcessKilled = 'PrimaryMainFrameRendererProcessKilled',
-    ActivationFramePolicyNotCompatible = 'ActivationFramePolicyNotCompatible',
-    PreloadingDisabled = 'PreloadingDisabled',
-    BatterySaverEnabled = 'BatterySaverEnabled',
-    ActivatedDuringMainFrameNavigation = 'ActivatedDuringMainFrameNavigation',
-    PreloadingUnsupportedByWebContents = 'PreloadingUnsupportedByWebContents',
-  }
-
-  /**
-   * Preloading status values, see also PreloadingTriggeringOutcome. This
-   * status is shared by prefetchStatusUpdated and prerenderStatusUpdated.
-   */
-  export const enum PreloadingStatus {
-    Pending = 'Pending',
-    Running = 'Running',
-    Ready = 'Ready',
-    Success = 'Success',
-    Failure = 'Failure',
-    NotSupported = 'NotSupported',
-  }
-
   export interface AddScriptToEvaluateOnLoadRequest {
     scriptSource: string;
   }
@@ -12271,49 +12195,6 @@
     notRestoredExplanationsTree?: BackForwardCacheNotRestoredExplanationTree;
   }
 
-  /**
-   * Fired when a prerender attempt is completed.
-   */
-  export interface PrerenderAttemptCompletedEvent {
-    /**
-     * The frame id of the frame initiating prerendering.
-     */
-    initiatingFrameId: FrameId;
-    prerenderingUrl: string;
-    finalStatus: PrerenderFinalStatus;
-    /**
-     * This is used to give users more information about the name of the API call
-     * that is incompatible with prerender and has caused the cancellation of the attempt
-     */
-    disallowedApiMethod?: string;
-  }
-
-  /**
-   * TODO(crbug/1384419): Create a dedicated domain for preloading.
-   * Fired when a prefetch attempt is updated.
-   */
-  export interface PrefetchStatusUpdatedEvent {
-    /**
-     * The frame id of the frame initiating prefetch.
-     */
-    initiatingFrameId: FrameId;
-    prefetchUrl: string;
-    status: PreloadingStatus;
-  }
-
-  /**
-   * TODO(crbug/1384419): Create a dedicated domain for preloading.
-   * Fired when a prerender attempt is updated.
-   */
-  export interface PrerenderStatusUpdatedEvent {
-    /**
-     * The frame id of the frame initiating prerender.
-     */
-    initiatingFrameId: FrameId;
-    prerenderingUrl: string;
-    status: PreloadingStatus;
-  }
-
   export interface LoadEventFiredEvent {
     timestamp: Network.MonotonicTime;
   }
@@ -15401,6 +15282,81 @@
   }
 
   /**
+   * List of FinalStatus reasons for Prerender2.
+   */
+  export const enum PrerenderFinalStatus {
+    Activated = 'Activated',
+    Destroyed = 'Destroyed',
+    LowEndDevice = 'LowEndDevice',
+    InvalidSchemeRedirect = 'InvalidSchemeRedirect',
+    InvalidSchemeNavigation = 'InvalidSchemeNavigation',
+    InProgressNavigation = 'InProgressNavigation',
+    NavigationRequestBlockedByCsp = 'NavigationRequestBlockedByCsp',
+    MainFrameNavigation = 'MainFrameNavigation',
+    MojoBinderPolicy = 'MojoBinderPolicy',
+    RendererProcessCrashed = 'RendererProcessCrashed',
+    RendererProcessKilled = 'RendererProcessKilled',
+    Download = 'Download',
+    TriggerDestroyed = 'TriggerDestroyed',
+    NavigationNotCommitted = 'NavigationNotCommitted',
+    NavigationBadHttpStatus = 'NavigationBadHttpStatus',
+    ClientCertRequested = 'ClientCertRequested',
+    NavigationRequestNetworkError = 'NavigationRequestNetworkError',
+    MaxNumOfRunningPrerendersExceeded = 'MaxNumOfRunningPrerendersExceeded',
+    CancelAllHostsForTesting = 'CancelAllHostsForTesting',
+    DidFailLoad = 'DidFailLoad',
+    Stop = 'Stop',
+    SslCertificateError = 'SslCertificateError',
+    LoginAuthRequested = 'LoginAuthRequested',
+    UaChangeRequiresReload = 'UaChangeRequiresReload',
+    BlockedByClient = 'BlockedByClient',
+    AudioOutputDeviceRequested = 'AudioOutputDeviceRequested',
+    MixedContent = 'MixedContent',
+    TriggerBackgrounded = 'TriggerBackgrounded',
+    EmbedderTriggeredAndCrossOriginRedirected = 'EmbedderTriggeredAndCrossOriginRedirected',
+    MemoryLimitExceeded = 'MemoryLimitExceeded',
+    FailToGetMemoryUsage = 'FailToGetMemoryUsage',
+    DataSaverEnabled = 'DataSaverEnabled',
+    HasEffectiveUrl = 'HasEffectiveUrl',
+    ActivatedBeforeStarted = 'ActivatedBeforeStarted',
+    InactivePageRestriction = 'InactivePageRestriction',
+    StartFailed = 'StartFailed',
+    TimeoutBackgrounded = 'TimeoutBackgrounded',
+    CrossSiteRedirect = 'CrossSiteRedirect',
+    CrossSiteNavigation = 'CrossSiteNavigation',
+    SameSiteCrossOriginRedirect = 'SameSiteCrossOriginRedirect',
+    SameSiteCrossOriginNavigation = 'SameSiteCrossOriginNavigation',
+    SameSiteCrossOriginRedirectNotOptIn = 'SameSiteCrossOriginRedirectNotOptIn',
+    SameSiteCrossOriginNavigationNotOptIn = 'SameSiteCrossOriginNavigationNotOptIn',
+    ActivationNavigationParameterMismatch = 'ActivationNavigationParameterMismatch',
+    ActivatedInBackground = 'ActivatedInBackground',
+    EmbedderHostDisallowed = 'EmbedderHostDisallowed',
+    ActivationNavigationDestroyedBeforeSuccess = 'ActivationNavigationDestroyedBeforeSuccess',
+    TabClosedByUserGesture = 'TabClosedByUserGesture',
+    TabClosedWithoutUserGesture = 'TabClosedWithoutUserGesture',
+    PrimaryMainFrameRendererProcessCrashed = 'PrimaryMainFrameRendererProcessCrashed',
+    PrimaryMainFrameRendererProcessKilled = 'PrimaryMainFrameRendererProcessKilled',
+    ActivationFramePolicyNotCompatible = 'ActivationFramePolicyNotCompatible',
+    PreloadingDisabled = 'PreloadingDisabled',
+    BatterySaverEnabled = 'BatterySaverEnabled',
+    ActivatedDuringMainFrameNavigation = 'ActivatedDuringMainFrameNavigation',
+    PreloadingUnsupportedByWebContents = 'PreloadingUnsupportedByWebContents',
+  }
+
+  /**
+   * Preloading status values, see also PreloadingTriggeringOutcome. This
+   * status is shared by prefetchStatusUpdated and prerenderStatusUpdated.
+   */
+  export const enum PreloadingStatus {
+    Pending = 'Pending',
+    Running = 'Running',
+    Ready = 'Ready',
+    Success = 'Success',
+    Failure = 'Failure',
+    NotSupported = 'NotSupported',
+  }
+
+  /**
    * Upsert. Currently, it is only emitted when a rule set added.
    */
   export interface RuleSetUpdatedEvent {
@@ -15410,6 +15366,53 @@
   export interface RuleSetRemovedEvent {
     id: RuleSetId;
   }
+
+  /**
+   * Fired when a prerender attempt is completed.
+   */
+  export interface PrerenderAttemptCompletedEvent {
+    /**
+     * The frame id of the frame initiating prerendering.
+     */
+    initiatingFrameId: Page.FrameId;
+    prerenderingUrl: string;
+    finalStatus: PrerenderFinalStatus;
+    /**
+     * This is used to give users more information about the name of the API call
+     * that is incompatible with prerender and has caused the cancellation of the attempt
+     */
+    disallowedApiMethod?: string;
+  }
+
+  /**
+   * Fired when a prefetch attempt is updated.
+   */
+  export interface PrefetchStatusUpdatedEvent {
+    /**
+     * The frame id of the frame initiating prefetch.
+     */
+    initiatingFrameId: Page.FrameId;
+    prefetchUrl: string;
+    status: PreloadingStatus;
+  }
+
+  /**
+   * Fired when a prerender attempt is updated.
+   */
+  export interface PrerenderStatusUpdatedEvent {
+    /**
+     * The frame id of the frame initiating prerender.
+     */
+    initiatingFrameId: Page.FrameId;
+    prerenderingUrl: string;
+    status: PreloadingStatus;
+  }
+}
+
+/**
+ * This domain allows interacting with the FedCM dialog.
+ */
+export namespace FedCm {
 }
 
 /**
diff --git a/test/unittests/front_end/core/sdk/PrerenderingModel_test.ts b/test/unittests/front_end/core/sdk/PrerenderingModel_test.ts
index ad64d1d..19378cf 100644
--- a/test/unittests/front_end/core/sdk/PrerenderingModel_test.ts
+++ b/test/unittests/front_end/core/sdk/PrerenderingModel_test.ts
@@ -209,11 +209,11 @@
     ]);
     dispatchEvent(
         target,
-        'Page.prerenderAttemptCompleted',
+        'Preload.prerenderAttemptCompleted',
         {
           'initiatingFrameId': prerenderedFrameId,
           'prerenderingUrl': 'https://example.com/prerendered.html',
-          'finalStatus': Protocol.Page.PrerenderFinalStatus.Activated,
+          'finalStatus': Protocol.Preload.PrerenderFinalStatus.Activated,
         },
     );
     assert.deepEqual(model.getAll(), [
@@ -283,11 +283,11 @@
     ]);
     dispatchEvent(
         target,
-        'Page.prerenderAttemptCompleted',
+        'Preload.prerenderAttemptCompleted',
         {
           'initiatingFrameId': prerenderedFrameId,
           'prerenderingUrl': 'https://example.com/prerendered.html',
-          'finalStatus': Protocol.Page.PrerenderFinalStatus.MojoBinderPolicy,
+          'finalStatus': Protocol.Preload.PrerenderFinalStatus.MojoBinderPolicy,
           'disallowedApiMethod': 'device.mojom.GamepadMonitor',
         },
     );
@@ -302,7 +302,7 @@
           },
           url: 'https://example.com/prerendered.html' as Platform.DevToolsPath.UrlString,
           status: SDK.PrerenderingModel.PrerenderingStatus.Discarded,
-          discardedReason: Protocol.Page.PrerenderFinalStatus.MojoBinderPolicy,
+          discardedReason: Protocol.Preload.PrerenderFinalStatus.MojoBinderPolicy,
         },
       },
     ]);
diff --git a/test/unittests/front_end/core/sdk/ResourceTreeModel_test.ts b/test/unittests/front_end/core/sdk/ResourceTreeModel_test.ts
index bb8b823..2e56cf7 100644
--- a/test/unittests/front_end/core/sdk/ResourceTreeModel_test.ts
+++ b/test/unittests/front_end/core/sdk/ResourceTreeModel_test.ts
@@ -102,31 +102,31 @@
     dispatchEvent(target, 'Page.frameNavigated', frameNavigatedEvent());
     dispatchEvent(
         target,
-        'Page.prerenderAttemptCompleted',
+        'Preload.prerenderAttemptCompleted',
         {
           'initiatingFrameId': 'main',
           'prerenderingUrl': 'http://example.com/page.html',
-          'finalStatus': Protocol.Page.PrerenderFinalStatus.TriggerDestroyed,
+          'finalStatus': Protocol.Preload.PrerenderFinalStatus.TriggerDestroyed,
         },
     );
     dispatchEvent(
         target,
-        'Page.prerenderAttemptCompleted',
+        'Preload.prerenderAttemptCompleted',
         {
           'initiatingFrameId': 'next',
           'prerenderingUrl': 'http://example.com/page.html',
-          'finalStatus': Protocol.Page.PrerenderFinalStatus.ClientCertRequested,
+          'finalStatus': Protocol.Preload.PrerenderFinalStatus.ClientCertRequested,
         },
     );
     assertNotNullOrUndefined(resourceTreeModel);
     assertNotNullOrUndefined(resourceTreeModel.mainFrame);
     assert.strictEqual(
-        resourceTreeModel.mainFrame.prerenderFinalStatus, Protocol.Page.PrerenderFinalStatus.TriggerDestroyed);
+        resourceTreeModel.mainFrame.prerenderFinalStatus, Protocol.Preload.PrerenderFinalStatus.TriggerDestroyed);
     dispatchEvent(target, 'Page.frameNavigated', frameNavigatedEvent(undefined, 'next'));
     assertNotNullOrUndefined(resourceTreeModel);
     assertNotNullOrUndefined(resourceTreeModel.mainFrame);
     assert.strictEqual(
-        resourceTreeModel.mainFrame.prerenderFinalStatus, Protocol.Page.PrerenderFinalStatus.ClientCertRequested);
+        resourceTreeModel.mainFrame.prerenderFinalStatus, Protocol.Preload.PrerenderFinalStatus.ClientCertRequested);
   });
   describe('prerender event before getResourceTree', () => {
     let resolveGetResourceTree: () => void;
@@ -141,11 +141,11 @@
       const resourceTreeModel = target.model(SDK.ResourceTreeModel.ResourceTreeModel);
       dispatchEvent(
           target,
-          'Page.prerenderAttemptCompleted',
+          'Preload.prerenderAttemptCompleted',
           {
             'initiatingFrameId': 'main',
             'prerenderingUrl': 'http://example.com/page.html',
-            'finalStatus': Protocol.Page.PrerenderFinalStatus.TriggerDestroyed,
+            'finalStatus': Protocol.Preload.PrerenderFinalStatus.TriggerDestroyed,
           },
       );
       assertNotNullOrUndefined(resourceTreeModel);
@@ -156,7 +156,7 @@
       });
       assertNotNullOrUndefined(resourceTreeModel.mainFrame);
       assert.strictEqual(
-          resourceTreeModel.mainFrame.prerenderFinalStatus, Protocol.Page.PrerenderFinalStatus.TriggerDestroyed);
+          resourceTreeModel.mainFrame.prerenderFinalStatus, Protocol.Preload.PrerenderFinalStatus.TriggerDestroyed);
     });
   });
 
@@ -178,11 +178,11 @@
     });
     dispatchEvent(
         target,
-        'Page.prerenderAttemptCompleted',
+        'Preload.prerenderAttemptCompleted',
         {
           'initiatingFrameId': 'main',
           'prerenderingUrl': 'http://example.com/page.html',
-          'finalStatus': Protocol.Page.PrerenderFinalStatus.MojoBinderPolicy,
+          'finalStatus': Protocol.Preload.PrerenderFinalStatus.MojoBinderPolicy,
           'disallowedApiMethod': 'device.mojom.GamepadMonitor',
         },
     );
@@ -190,7 +190,7 @@
     assertNotNullOrUndefined(resourceTreeModel);
     assertNotNullOrUndefined(resourceTreeModel.mainFrame);
     assert.strictEqual(
-        resourceTreeModel.mainFrame.prerenderFinalStatus, Protocol.Page.PrerenderFinalStatus.MojoBinderPolicy);
+        resourceTreeModel.mainFrame.prerenderFinalStatus, Protocol.Preload.PrerenderFinalStatus.MojoBinderPolicy);
     assert.strictEqual(resourceTreeModel.mainFrame.prerenderDisallowedApiMethod, 'device.mojom.GamepadMonitor');
   });
 
diff --git a/test/unittests/front_end/panels/application/components/FrameDetailsView_test.ts b/test/unittests/front_end/panels/application/components/FrameDetailsView_test.ts
index 1582b6f..173e10a 100644
--- a/test/unittests/front_end/panels/application/components/FrameDetailsView_test.ts
+++ b/test/unittests/front_end/panels/application/components/FrameDetailsView_test.ts
@@ -92,7 +92,7 @@
       },
     ]),
     getPermissionsPolicyState: () => null,
-    prerenderFinalStatus: Protocol.Page.PrerenderFinalStatus.MojoBinderPolicy,
+    prerenderFinalStatus: Protocol.Preload.PrerenderFinalStatus.MojoBinderPolicy,
     prerenderDisallowedApiMethod: 'device.mojom.GamepadMonitor',
   } as unknown as SDK.ResourceTreeModel.ResourceTreeFrame;
   return newFrame;
diff --git a/test/unittests/front_end/panels/application/preloading/components/PreloadingDetailsReportView_test.ts b/test/unittests/front_end/panels/application/preloading/components/PreloadingDetailsReportView_test.ts
index cf2b2d0..18cb6e9 100644
--- a/test/unittests/front_end/panels/application/preloading/components/PreloadingDetailsReportView_test.ts
+++ b/test/unittests/front_end/panels/application/preloading/components/PreloadingDetailsReportView_test.ts
@@ -93,7 +93,7 @@
       },
       url,
       status: SDK.PrerenderingModel.PrerenderingStatus.Discarded,
-      discardedReason: Protocol.Page.PrerenderFinalStatus.MojoBinderPolicy,
+      discardedReason: Protocol.Preload.PrerenderFinalStatus.MojoBinderPolicy,
     };
 
     const component = await renderPreloadingDetailsReportView(data);
@@ -106,7 +106,7 @@
       ['Started at', startedAt.toLocaleString()],
       ['Trigger', 'Speculation Rules'],
       ['Status', 'Discarded'],
-      ['Discarded reason', Protocol.Page.PrerenderFinalStatus.MojoBinderPolicy],
+      ['Discarded reason', Protocol.Preload.PrerenderFinalStatus.MojoBinderPolicy],
     ]);
   });
 });
diff --git a/third_party/blink/public/devtools_protocol/browser_protocol.json b/third_party/blink/public/devtools_protocol/browser_protocol.json
index 1b21e86..314ad23 100644
--- a/third_party/blink/public/devtools_protocol/browser_protocol.json
+++ b/third_party/blink/public/devtools_protocol/browser_protocol.json
@@ -1543,8 +1543,7 @@
                         "FormAriaLabelledByToNonExistingId",
                         "FormInputAssignedAutocompleteValueToIdOrNameAttributeError",
                         "FormLabelHasNeitherForNorNestedInput",
-                        "FormLabelForMatchesNonExistingIdError",
-                        "FormHasPasswordFieldWithoutUsernameFieldError"
+                        "FormLabelForMatchesNonExistingIdError"
                     ]
                 },
                 {
@@ -16374,82 +16373,6 @@
                             }
                         }
                     ]
-                },
-                {
-                    "id": "PrerenderFinalStatus",
-                    "description": "List of FinalStatus reasons for Prerender2.",
-                    "type": "string",
-                    "enum": [
-                        "Activated",
-                        "Destroyed",
-                        "LowEndDevice",
-                        "InvalidSchemeRedirect",
-                        "InvalidSchemeNavigation",
-                        "InProgressNavigation",
-                        "NavigationRequestBlockedByCsp",
-                        "MainFrameNavigation",
-                        "MojoBinderPolicy",
-                        "RendererProcessCrashed",
-                        "RendererProcessKilled",
-                        "Download",
-                        "TriggerDestroyed",
-                        "NavigationNotCommitted",
-                        "NavigationBadHttpStatus",
-                        "ClientCertRequested",
-                        "NavigationRequestNetworkError",
-                        "MaxNumOfRunningPrerendersExceeded",
-                        "CancelAllHostsForTesting",
-                        "DidFailLoad",
-                        "Stop",
-                        "SslCertificateError",
-                        "LoginAuthRequested",
-                        "UaChangeRequiresReload",
-                        "BlockedByClient",
-                        "AudioOutputDeviceRequested",
-                        "MixedContent",
-                        "TriggerBackgrounded",
-                        "EmbedderTriggeredAndCrossOriginRedirected",
-                        "MemoryLimitExceeded",
-                        "FailToGetMemoryUsage",
-                        "DataSaverEnabled",
-                        "HasEffectiveUrl",
-                        "ActivatedBeforeStarted",
-                        "InactivePageRestriction",
-                        "StartFailed",
-                        "TimeoutBackgrounded",
-                        "CrossSiteRedirect",
-                        "CrossSiteNavigation",
-                        "SameSiteCrossOriginRedirect",
-                        "SameSiteCrossOriginNavigation",
-                        "SameSiteCrossOriginRedirectNotOptIn",
-                        "SameSiteCrossOriginNavigationNotOptIn",
-                        "ActivationNavigationParameterMismatch",
-                        "ActivatedInBackground",
-                        "EmbedderHostDisallowed",
-                        "ActivationNavigationDestroyedBeforeSuccess",
-                        "TabClosedByUserGesture",
-                        "TabClosedWithoutUserGesture",
-                        "PrimaryMainFrameRendererProcessCrashed",
-                        "PrimaryMainFrameRendererProcessKilled",
-                        "ActivationFramePolicyNotCompatible",
-                        "PreloadingDisabled",
-                        "BatterySaverEnabled",
-                        "ActivatedDuringMainFrameNavigation",
-                        "PreloadingUnsupportedByWebContents"
-                    ]
-                },
-                {
-                    "id": "PreloadingStatus",
-                    "description": "Preloading status values, see also PreloadingTriggeringOutcome. This\nstatus is shared by prefetchStatusUpdated and prerenderStatusUpdated.",
-                    "type": "string",
-                    "enum": [
-                        "Pending",
-                        "Running",
-                        "Ready",
-                        "Success",
-                        "Failure",
-                        "NotSupported"
-                    ]
                 }
             ],
             "commands": [
@@ -18025,72 +17948,6 @@
                     ]
                 },
                 {
-                    "name": "prerenderAttemptCompleted",
-                    "description": "Fired when a prerender attempt is completed.",
-                    "experimental": true,
-                    "parameters": [
-                        {
-                            "name": "initiatingFrameId",
-                            "description": "The frame id of the frame initiating prerendering.",
-                            "$ref": "FrameId"
-                        },
-                        {
-                            "name": "prerenderingUrl",
-                            "type": "string"
-                        },
-                        {
-                            "name": "finalStatus",
-                            "$ref": "PrerenderFinalStatus"
-                        },
-                        {
-                            "name": "disallowedApiMethod",
-                            "description": "This is used to give users more information about the name of the API call\nthat is incompatible with prerender and has caused the cancellation of the attempt",
-                            "optional": true,
-                            "type": "string"
-                        }
-                    ]
-                },
-                {
-                    "name": "prefetchStatusUpdated",
-                    "description": "TODO(crbug/1384419): Create a dedicated domain for preloading.\nFired when a prefetch attempt is updated.",
-                    "experimental": true,
-                    "parameters": [
-                        {
-                            "name": "initiatingFrameId",
-                            "description": "The frame id of the frame initiating prefetch.",
-                            "$ref": "FrameId"
-                        },
-                        {
-                            "name": "prefetchUrl",
-                            "type": "string"
-                        },
-                        {
-                            "name": "status",
-                            "$ref": "PreloadingStatus"
-                        }
-                    ]
-                },
-                {
-                    "name": "prerenderStatusUpdated",
-                    "description": "TODO(crbug/1384419): Create a dedicated domain for preloading.\nFired when a prerender attempt is updated.",
-                    "experimental": true,
-                    "parameters": [
-                        {
-                            "name": "initiatingFrameId",
-                            "description": "The frame id of the frame initiating prerender.",
-                            "$ref": "FrameId"
-                        },
-                        {
-                            "name": "prerenderingUrl",
-                            "type": "string"
-                        },
-                        {
-                            "name": "status",
-                            "$ref": "PreloadingStatus"
-                        }
-                    ]
-                },
-                {
                     "name": "loadEventFired",
                     "parameters": [
                         {
@@ -22932,6 +22789,82 @@
                             "type": "string"
                         }
                     ]
+                },
+                {
+                    "id": "PrerenderFinalStatus",
+                    "description": "List of FinalStatus reasons for Prerender2.",
+                    "type": "string",
+                    "enum": [
+                        "Activated",
+                        "Destroyed",
+                        "LowEndDevice",
+                        "InvalidSchemeRedirect",
+                        "InvalidSchemeNavigation",
+                        "InProgressNavigation",
+                        "NavigationRequestBlockedByCsp",
+                        "MainFrameNavigation",
+                        "MojoBinderPolicy",
+                        "RendererProcessCrashed",
+                        "RendererProcessKilled",
+                        "Download",
+                        "TriggerDestroyed",
+                        "NavigationNotCommitted",
+                        "NavigationBadHttpStatus",
+                        "ClientCertRequested",
+                        "NavigationRequestNetworkError",
+                        "MaxNumOfRunningPrerendersExceeded",
+                        "CancelAllHostsForTesting",
+                        "DidFailLoad",
+                        "Stop",
+                        "SslCertificateError",
+                        "LoginAuthRequested",
+                        "UaChangeRequiresReload",
+                        "BlockedByClient",
+                        "AudioOutputDeviceRequested",
+                        "MixedContent",
+                        "TriggerBackgrounded",
+                        "EmbedderTriggeredAndCrossOriginRedirected",
+                        "MemoryLimitExceeded",
+                        "FailToGetMemoryUsage",
+                        "DataSaverEnabled",
+                        "HasEffectiveUrl",
+                        "ActivatedBeforeStarted",
+                        "InactivePageRestriction",
+                        "StartFailed",
+                        "TimeoutBackgrounded",
+                        "CrossSiteRedirect",
+                        "CrossSiteNavigation",
+                        "SameSiteCrossOriginRedirect",
+                        "SameSiteCrossOriginNavigation",
+                        "SameSiteCrossOriginRedirectNotOptIn",
+                        "SameSiteCrossOriginNavigationNotOptIn",
+                        "ActivationNavigationParameterMismatch",
+                        "ActivatedInBackground",
+                        "EmbedderHostDisallowed",
+                        "ActivationNavigationDestroyedBeforeSuccess",
+                        "TabClosedByUserGesture",
+                        "TabClosedWithoutUserGesture",
+                        "PrimaryMainFrameRendererProcessCrashed",
+                        "PrimaryMainFrameRendererProcessKilled",
+                        "ActivationFramePolicyNotCompatible",
+                        "PreloadingDisabled",
+                        "BatterySaverEnabled",
+                        "ActivatedDuringMainFrameNavigation",
+                        "PreloadingUnsupportedByWebContents"
+                    ]
+                },
+                {
+                    "id": "PreloadingStatus",
+                    "description": "Preloading status values, see also PreloadingTriggeringOutcome. This\nstatus is shared by prefetchStatusUpdated and prerenderStatusUpdated.",
+                    "type": "string",
+                    "enum": [
+                        "Pending",
+                        "Running",
+                        "Ready",
+                        "Success",
+                        "Failure",
+                        "NotSupported"
+                    ]
                 }
             ],
             "commands": [
@@ -22961,6 +22894,87 @@
                             "$ref": "RuleSetId"
                         }
                     ]
+                },
+                {
+                    "name": "prerenderAttemptCompleted",
+                    "description": "Fired when a prerender attempt is completed.",
+                    "parameters": [
+                        {
+                            "name": "initiatingFrameId",
+                            "description": "The frame id of the frame initiating prerendering.",
+                            "$ref": "Page.FrameId"
+                        },
+                        {
+                            "name": "prerenderingUrl",
+                            "type": "string"
+                        },
+                        {
+                            "name": "finalStatus",
+                            "$ref": "PrerenderFinalStatus"
+                        },
+                        {
+                            "name": "disallowedApiMethod",
+                            "description": "This is used to give users more information about the name of the API call\nthat is incompatible with prerender and has caused the cancellation of the attempt",
+                            "optional": true,
+                            "type": "string"
+                        }
+                    ]
+                },
+                {
+                    "name": "prefetchStatusUpdated",
+                    "description": "Fired when a prefetch attempt is updated.",
+                    "parameters": [
+                        {
+                            "name": "initiatingFrameId",
+                            "description": "The frame id of the frame initiating prefetch.",
+                            "$ref": "Page.FrameId"
+                        },
+                        {
+                            "name": "prefetchUrl",
+                            "type": "string"
+                        },
+                        {
+                            "name": "status",
+                            "$ref": "PreloadingStatus"
+                        }
+                    ]
+                },
+                {
+                    "name": "prerenderStatusUpdated",
+                    "description": "Fired when a prerender attempt is updated.",
+                    "parameters": [
+                        {
+                            "name": "initiatingFrameId",
+                            "description": "The frame id of the frame initiating prerender.",
+                            "$ref": "Page.FrameId"
+                        },
+                        {
+                            "name": "prerenderingUrl",
+                            "type": "string"
+                        },
+                        {
+                            "name": "status",
+                            "$ref": "PreloadingStatus"
+                        }
+                    ]
+                }
+            ]
+        },
+        {
+            "domain": "FedCm",
+            "description": "This domain allows interacting with the FedCM dialog.",
+            "experimental": true,
+            "events": [
+                {
+                    "name": "dialogShown"
+                }
+            ],
+            "commands": [
+                {
+                    "name": "enable"
+                },
+                {
+                    "name": "disable"
                 }
             ]
         },
diff --git a/third_party/blink/public/devtools_protocol/browser_protocol.pdl b/third_party/blink/public/devtools_protocol/browser_protocol.pdl
index 4e04ddd..8fe46f2 100644
--- a/third_party/blink/public/devtools_protocol/browser_protocol.pdl
+++ b/third_party/blink/public/devtools_protocol/browser_protocol.pdl
@@ -752,7 +752,6 @@
       FormInputAssignedAutocompleteValueToIdOrNameAttributeError
       FormLabelHasNeitherForNorNestedInput
       FormLabelForMatchesNonExistingIdError
-      FormHasPasswordFieldWithoutUsernameFieldError
 
   # Depending on the concrete errorType, different properties are set.
   type GenericIssueDetails extends object
@@ -8483,109 +8482,6 @@
       # Tree structure of reasons why the page could not be cached for each frame.
       optional BackForwardCacheNotRestoredExplanationTree notRestoredExplanationsTree
 
-  # List of FinalStatus reasons for Prerender2.
-  type PrerenderFinalStatus extends string
-    enum
-      Activated
-      Destroyed
-      LowEndDevice
-      InvalidSchemeRedirect
-      InvalidSchemeNavigation
-      InProgressNavigation
-      NavigationRequestBlockedByCsp
-      MainFrameNavigation
-      MojoBinderPolicy
-      RendererProcessCrashed
-      RendererProcessKilled
-      Download
-      TriggerDestroyed
-      NavigationNotCommitted
-      NavigationBadHttpStatus
-      ClientCertRequested
-      NavigationRequestNetworkError
-      MaxNumOfRunningPrerendersExceeded
-      CancelAllHostsForTesting
-      DidFailLoad
-      Stop
-      SslCertificateError
-      LoginAuthRequested
-      UaChangeRequiresReload
-      BlockedByClient
-      AudioOutputDeviceRequested
-      MixedContent
-      TriggerBackgrounded
-      EmbedderTriggeredAndCrossOriginRedirected
-      MemoryLimitExceeded
-      # Prerenders can be cancelled when Chrome uses excessive memory. This is
-      # recorded when it fails to get the memory usage.
-      FailToGetMemoryUsage
-      DataSaverEnabled
-      HasEffectiveUrl
-      ActivatedBeforeStarted
-      InactivePageRestriction
-      StartFailed
-      TimeoutBackgrounded
-      CrossSiteRedirect
-      CrossSiteNavigation
-      SameSiteCrossOriginRedirect
-      SameSiteCrossOriginNavigation
-      SameSiteCrossOriginRedirectNotOptIn
-      SameSiteCrossOriginNavigationNotOptIn
-      ActivationNavigationParameterMismatch
-      ActivatedInBackground
-      EmbedderHostDisallowed
-      ActivationNavigationDestroyedBeforeSuccess
-      TabClosedByUserGesture
-      TabClosedWithoutUserGesture
-      PrimaryMainFrameRendererProcessCrashed
-      PrimaryMainFrameRendererProcessKilled
-      ActivationFramePolicyNotCompatible
-      PreloadingDisabled
-      BatterySaverEnabled
-      ActivatedDuringMainFrameNavigation
-      PreloadingUnsupportedByWebContents
-
-  # Fired when a prerender attempt is completed.
-  experimental event prerenderAttemptCompleted
-    parameters
-      # The frame id of the frame initiating prerendering.
-      FrameId initiatingFrameId
-      string prerenderingUrl
-      PrerenderFinalStatus finalStatus
-      # This is used to give users more information about the name of the API call
-      # that is incompatible with prerender and has caused the cancellation of the attempt
-      optional string disallowedApiMethod
-
-  # Preloading status values, see also PreloadingTriggeringOutcome. This
-  # status is shared by prefetchStatusUpdated and prerenderStatusUpdated.
-  type PreloadingStatus extends string
-    enum
-      Pending
-      Running
-      Ready
-      Success
-      Failure
-      # PreloadingTriggeringOutcome which not used by prefetch nor prerender.
-      NotSupported
-
-  # TODO(crbug/1384419): Create a dedicated domain for preloading.
-  # Fired when a prefetch attempt is updated.
-  experimental event prefetchStatusUpdated
-    parameters
-      # The frame id of the frame initiating prefetch.
-      FrameId initiatingFrameId
-      string prefetchUrl
-      PreloadingStatus status
-
-  # TODO(crbug/1384419): Create a dedicated domain for preloading.
-  # Fired when a prerender attempt is updated.
-  experimental event prerenderStatusUpdated
-    parameters
-      # The frame id of the frame initiating prerender.
-      FrameId initiatingFrameId
-      string prerenderingUrl
-      PreloadingStatus status
-
   event loadEventFired
     parameters
       Network.MonotonicTime timestamp
@@ -10858,3 +10754,111 @@
   event ruleSetRemoved
     parameters
       RuleSetId id
+
+  # List of FinalStatus reasons for Prerender2.
+  type PrerenderFinalStatus extends string
+    enum
+      Activated
+      Destroyed
+      LowEndDevice
+      InvalidSchemeRedirect
+      InvalidSchemeNavigation
+      InProgressNavigation
+      NavigationRequestBlockedByCsp
+      MainFrameNavigation
+      MojoBinderPolicy
+      RendererProcessCrashed
+      RendererProcessKilled
+      Download
+      TriggerDestroyed
+      NavigationNotCommitted
+      NavigationBadHttpStatus
+      ClientCertRequested
+      NavigationRequestNetworkError
+      MaxNumOfRunningPrerendersExceeded
+      CancelAllHostsForTesting
+      DidFailLoad
+      Stop
+      SslCertificateError
+      LoginAuthRequested
+      UaChangeRequiresReload
+      BlockedByClient
+      AudioOutputDeviceRequested
+      MixedContent
+      TriggerBackgrounded
+      EmbedderTriggeredAndCrossOriginRedirected
+      MemoryLimitExceeded
+      # Prerenders can be cancelled when Chrome uses excessive memory. This is
+      # recorded when it fails to get the memory usage.
+      FailToGetMemoryUsage
+      DataSaverEnabled
+      HasEffectiveUrl
+      ActivatedBeforeStarted
+      InactivePageRestriction
+      StartFailed
+      TimeoutBackgrounded
+      CrossSiteRedirect
+      CrossSiteNavigation
+      SameSiteCrossOriginRedirect
+      SameSiteCrossOriginNavigation
+      SameSiteCrossOriginRedirectNotOptIn
+      SameSiteCrossOriginNavigationNotOptIn
+      ActivationNavigationParameterMismatch
+      ActivatedInBackground
+      EmbedderHostDisallowed
+      ActivationNavigationDestroyedBeforeSuccess
+      TabClosedByUserGesture
+      TabClosedWithoutUserGesture
+      PrimaryMainFrameRendererProcessCrashed
+      PrimaryMainFrameRendererProcessKilled
+      ActivationFramePolicyNotCompatible
+      PreloadingDisabled
+      BatterySaverEnabled
+      ActivatedDuringMainFrameNavigation
+      PreloadingUnsupportedByWebContents
+
+  # Fired when a prerender attempt is completed.
+  event prerenderAttemptCompleted
+    parameters
+      # The frame id of the frame initiating prerendering.
+      Page.FrameId initiatingFrameId
+      string prerenderingUrl
+      PrerenderFinalStatus finalStatus
+      # This is used to give users more information about the name of the API call
+      # that is incompatible with prerender and has caused the cancellation of the attempt
+      optional string disallowedApiMethod
+
+  # Preloading status values, see also PreloadingTriggeringOutcome. This
+  # status is shared by prefetchStatusUpdated and prerenderStatusUpdated.
+  type PreloadingStatus extends string
+    enum
+      Pending
+      Running
+      Ready
+      Success
+      Failure
+      # PreloadingTriggeringOutcome which not used by prefetch nor prerender.
+      NotSupported
+
+  # Fired when a prefetch attempt is updated.
+  event prefetchStatusUpdated
+    parameters
+      # The frame id of the frame initiating prefetch.
+      Page.FrameId initiatingFrameId
+      string prefetchUrl
+      PreloadingStatus status
+
+  # Fired when a prerender attempt is updated.
+  event prerenderStatusUpdated
+    parameters
+      # The frame id of the frame initiating prerender.
+      Page.FrameId initiatingFrameId
+      string prerenderingUrl
+      PreloadingStatus status
+
+# This domain allows interacting with the FedCM dialog.
+experimental domain FedCm
+  event dialogShown
+
+  command enable
+  command disable