@@ -2713,7 +2713,8 @@ The <dfn export for=commands>browser.createUserContext</dfn> command creates a
27132713
27142714      browser.CreateUserContextParameters = {
27152715        ? acceptInsecureCerts: bool,
2716-         ? proxy: session.ProxyConfiguration
2716+         ? proxy: session.ProxyConfiguration,
2717+         ? unhandledPromptBehavior: session.UserPromptHandler
27172718      }
27182719      </pre> 
27192720   </dd> 
@@ -2747,6 +2748,10 @@ The [=remote end steps=] with |session| and |command parameters| are:
27472748      [=user context to accept insecure certificates override map=] [|user context|] 
27482749      to |acceptInsecureCerts|.
27492750
2751+ 1. If |command parameters| [=map/contains=]  "<code> unhandledPromptBehavior</code> ",
2752+    [=map/set=]  [=unhandled prompt behavior overrides map=] [|user context|]  to
2753+    |command parameters|["<code>unhandledPromptBehavior</code>"] .
2754+ 
275027551. If |command parameters| [=map/contains=]  "<code> proxy</code> ":
27512756
27522757   1. Let |proxy configuration| be |command parameters|["<code>proxy</code>"] .
@@ -3115,11 +3120,22 @@ A <dfn>viewport configuration</dfn> is a [=struct=] with an [=struct/item=] name
31153120<dfn attribute for="viewport-configuration">viewport</dfn>  which is a [=viewport-configuration/viewport dimensions=] 
31163121or null and an [=struct/item=]  named <dfn attribute for="viewport-configuration">devicePixelRatio</dfn>  which is a float or null.
31173122
3123+ An <dfn>unhandled prompt behavior struct</dfn>  is a [=struct=]  with:
3124+ * [=struct/Item=]  named <dfn attribute for="unhandled-prompt-behavior-alert">alert</dfn>  which is a string or null;
3125+ * [=struct/Item=]  named <dfn attribute for="unhandled-prompt-behavior-beforeUnload">beforeUnload</dfn>  which is a string or null;
3126+ * [=struct/Item=]  named <dfn attribute for="unhandled-prompt-behavior-confirm">confirm</dfn>  which is a string or null;
3127+ * [=struct/Item=]  named <dfn attribute for="unhandled-prompt-behavior-default">default</dfn>  which is a string or null;
3128+ * [=struct/Item=]  named <dfn attribute for="unhandled-prompt-behavior-file">file</dfn>  which is a string or null;
3129+ * [=struct/Item=]  named <dfn attribute for="unhandled-prompt-behavior-prompt">prompt</dfn>  which is a string or null.
3130+ 
31183131A [=remote end=]  has a <dfn>viewport overrides map</dfn>  which is a weak map between [=user contexts=]  and [=viewport configuration=] .
31193132
31203133A [=remote end=]  has a <dfn>locale overrides map</dfn>  which is a weak map between
31213134[=navigables=]  or [=user contexts=]  and string or null.
31223135
3136+ A [=remote end=]  has an <dfn>unhandled prompt behavior overrides map</dfn>  which is a
3137+ weak map between [=user contexts=]  and [=unhandled prompt behavior struct=] .
3138+ 
31233139### Types ### {#module-browsingcontext-types}
31243140
31253141#### The browsingContext.BrowsingContext Type #### {#type-browsingContext-Browsingcontext}
@@ -5721,6 +5737,27 @@ closed</dfn> steps given |window|, |type|, |accepted| and optional |user text|
57215737   </dd> 
57225738</dl> 
57235739
5740+ <div algorithm> 
5741+ To <dfn>get navigable's user prompt handler</dfn>  given |type| and |navigable|:
5742+ 
5743+ 1. Let |user context| be |navigable|'s [=associated user context=] .
5744+ 
5745+ 1. If [=unhandled prompt behavior overrides map=]  [=map/contains=]  |user context|:
5746+ 
5747+   1. Let |unhandled prompt behavior override| be [=unhandled prompt behavior overrides map=] [|user context|] .
5748+ 
5749+   1. If |unhandled prompt behavior override|[|type|]  is not null, return
5750+      |unhandled prompt behavior override|[|type|] .
5751+ 
5752+   1. If |unhandled prompt behavior override|[<code>"default"</code>]  is not null,
5753+      return |unhandled prompt behavior override|[<code>"default"</code>] .
5754+ 
5755+ 1. Let |handler configuration| be [=get the prompt handler=]  with |type|.
5756+ 
5757+ 1. Return |handler configuration|'s [=prompt handler configuration/handler=] .
5758+ 
5759+ </div> 
5760+ 
57245761<div algorithm> 
57255762The [=remote end event trigger=]  is the <dfn export>WebDriver BiDi user prompt 
57265763opened</dfn>  steps given |window|, |type|, |message|, and optional |default value|
@@ -5730,10 +5767,8 @@ opened</dfn> steps given |window|, |type|, |message|, and optional |default valu
57305767
573157681. Let |navigable id| be the [=navigable id=]  for |navigable|.
57325769
5733- 1. Let |handler configuration| be [=get the prompt handler=]  with |type|.
5734- 
5735- 1. Let |handler| be |handler configuration|'s [=prompt handler 
5736-    configuration/handler=] .
5770+ 1. Let |handler| be [=get navigable's user prompt handler=]  with |type| and
5771+    |navigable|.
57375772
573857731. Let |params| be a [=/map=]  matching the
57395774   <code> browsingContext.UserPromptOpenedParameters</code>  production with the
0 commit comments