diff --git a/index.bs b/index.bs index cc61e03c4..a570cca54 100644 --- a/index.bs +++ b/index.bs @@ -1400,6 +1400,7 @@ for a session.
session.CapabilityRequest = { ? acceptInsecureCerts: bool, + ? interceptFileDialogs: bool, ? browserName: text, ? browserVersion: text, ? platformName: text, @@ -1444,6 +1445,34 @@ with parameter |value| is: ++Capability: intercept file dialogs +Key: "+ +interceptFileDialogs
" +Value type: boolean +Description: Defines whether the file dialogs should be intercepted and not shown on screen. ++The [=additional capability deserialization algorithm=] for the +"+ +interceptFileDialogs
" capability, with parameter |value| is: + +1. If |value| is not a boolean, return [=error=] with [=error code|code=] + [=invalid argument=]. + +1. Return [=success=] with data |value|. + ++The [=matched capability serialization algorithm=] for the "+ #### The session.ProxyConfiguration Type #### {#type-session-ProxyConfiguration} [=remote end definition=] and [=local end definition=] @@ -9638,7 +9667,23 @@ opened steps given |element|. 1. [=Emit an event=] with |session| and |body|. -1. Return true. +1. Let |intercepting sessions| be the [=set of sessions for which file dialog interception is enabled=]. + +1. Return false if |intercepting sessions| is empty, and true otherwise. + + + +interceptFileDialogs
" capability, +with parameter |value| is: + +1. If |value| is false, return [=success=] with data null. + +1. Return [=success=] with data true. + ++ +The set of sessions for which file dialog interception is enabled is: + +1. Let |sessions| be a new [=/set=]. + +1. For each |session| in [=active BiDI sessions=]: + + 1. If |session|'s [=intercept file dialogs=] capability is true, append |session| to |sessions|. + +1. Return |sessions|.