diff --git a/spec/index.bs b/spec/index.bs index 48eb453b..5e611008 100644 --- a/spec/index.bs +++ b/spec/index.bs @@ -787,23 +787,30 @@ the exception thrown. 1. If |mode| is [=active=]: 1. Let |W| be |globalObject|'s [=associated Window=]. 1. If |W| does not have [=transient activation=], return (failure, true). - 1. Otherwise, if there is a pending request where |mode| is [=passive=] on |W|'s - [top-level browsing context](https://html.spec.whatwg.org/#bc-traversable) or on any - of its nested frames, reject the pending request with a "{{NetworkError}}" {{DOMException}}. + 1. Otherwise, if there is a pending request where |mode| is [=passive=] + on |W|'s [=Window/navigable=]'s [=navigable/top-level traversable=] + or on any of its descendants, reject the pending request with a + "{{NetworkError}}" {{DOMException}}. 1. Let |loginStatus| be the result of [=get the login status=] with the [=/origin=] of |provider|'s {{IdentityProviderConfig/configURL}}. 1. If |loginStatus| is [=unknown=], a user agent MAY set it to [=logged-out=]. 1. If |loginStatus| is [=logged-out=]: - 1. If |mode| is [=active=], [=fetch the config file and show an IDP login dialog=] - with |provider| and |globalObject|. + 1. If |mode| is [=active=]: + 1. Let |result| be the result of running + [=fetch the config file and show an IDP login dialog=] with + |provider| and |globalObject|. + 1. If |result| is failure, return (failure, false). 1. Otherwise, the user agent MUST do one of the following: * Return (failure, false). * Prompt the user whether to continue. If the user continues, the user agent SHOULD set |loginStatus| to [=unknown=]. This MAY include an affordance to [=show an IDP login dialog=]. * If the user cancels this dialog, return (failure, true). - * If the user triggers this affordance, [=fetch the config file and show an IDP login dialog=] - with |provider| and |globalObject|. + * If the user triggers this affordance: + 1. Let |result| be the result of running + [=fetch the config file and show an IDP login dialog=] + with |provider| and |globalObject|. + 1. If |result| is failure, return (failure, false). 1. Let |requiresUserMediation| be |provider|'s {{IdentityProviderConfig/configURL}}'s [=/origin=]'s [=requires user mediation=]. 1. Let |mediation| be |options|'s {{CredentialRequestOptions/mediation}}.