Skip to content

Add userAgentAllowsProtocol static method #221

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 24 commits into from
Jun 25, 2025
Merged
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -462,6 +462,7 @@ <h2>
interface DigitalCredential : Credential {
readonly attribute DOMString protocol;
[SameObject] readonly attribute object data;
static boolean userAgentAllowsProtocol(DOMString protocol);
};
</pre>
<p>
Expand All @@ -488,6 +489,44 @@ <h2>
Integration with Credential Management API
</h2>
<aside class="issue" data-number="65"></aside>
<h3>
The <dfn data-dfn-for="DigitalCredential">userAgentAllowsProtocol()</dfn>
method
</h3>
<p>
The {{DigitalCredential/userAgentAllowsProtocol()}} method allows digital
credential [=verifiers=] to determine which [=digital credential/exchange
protocols=] and [=digital credential/issuance protocols=] the user agent
allows.
</p>
<p class="note">
This method does not convey [=digital credential/exchange protocol=] or
[=digital credential/issuance protocol=] support in the underlying
OS/platform.
</p>
<p>
User agents MUST NOT vary the response value based on any information
about availability of hardware, presence or configuration of software,
wallets, credential providers, or digital credentials, or user
configuration or preferences. If the response value varied, the user
agent would introduce risks both of fingerprinting and of silently
revealing other details about user behavior or configuration. The
response value SHOULD vary only by user agent major version and indicate
whether the browser supports distributing requests with that protocol to
underlying platform or provider.
</p>
<p>
When this method is invoked, the user agent MUST execute the following
algorithm:
</p>
<ol class="algorithm">
<li>If |protocol| is not a [=digital credential/protocol identifier=],
return `false`.
</li>
<li>Return `true` if the user agent allows |protocol|, otherwise return
`false`.
</li>
</ol>
<h3>
[[\DiscoverFromExternalSource]](origin, options, sameOriginWithAncestors)
internal method
Expand Down