Bug 1782080 - Generalize preference gates of the Credential Management API, r=dveditz,emilio

I'm looking to implement the FedCM browser API, which hooks into the Credentail Management API.
Just cleaning up a few preference-gates in webidl and adding new preferences to use as gates.

Differential Revision: https://phabricator.services.mozilla.com/D153586
This commit is contained in:
Benjamin VanderSloot 2022-09-14 02:02:43 +00:00
Родитель 35929ca229
Коммит e24d18cd12
2 изменённых файлов: 22 добавлений и 6 удалений

Просмотреть файл

@ -5,15 +5,19 @@
*
* The origin of this IDL file is
* https://www.w3.org/TR/credential-management-1/
* and
* https://w3c.github.io/webauthn/
* and
* https://fedidcg.github.io/FedCM/
*/
[Exposed=Window, SecureContext, Pref="security.webauth.webauthn"]
[Exposed=Window, SecureContext]
interface Credential {
readonly attribute USVString id;
readonly attribute DOMString type;
};
[Exposed=Window, SecureContext, Pref="security.webauth.webauthn"]
[Exposed=Window, SecureContext]
interface CredentialsContainer {
[NewObject]
Promise<Credential?> get(optional CredentialRequestOptions options = {});
@ -26,13 +30,19 @@ interface CredentialsContainer {
};
dictionary CredentialRequestOptions {
// FIXME: bug 1493860: should this "= {}" be here?
PublicKeyCredentialRequestOptions publicKey = {};
// This is taken from the partial definition in
// https://w3c.github.io/webauthn/#sctn-credentialrequestoptions-extension
[Pref="security.webauth.webauthn"]
PublicKeyCredentialRequestOptions publicKey;
[Pref="dom.security.credentialmanagement.identity.enabled"]
IdentityCredentialRequestOptions identity;
AbortSignal signal;
};
dictionary CredentialCreationOptions {
// FIXME: bug 1493860: should this "= {}" be here?
PublicKeyCredentialCreationOptions publicKey = {};
// This is taken from the partial definition in
// https://w3c.github.io/webauthn/#sctn-credentialcreationoptions-extension
[Pref="security.webauth.webauthn"]
PublicKeyCredentialCreationOptions publicKey;
AbortSignal signal;
};

Просмотреть файл

@ -3638,6 +3638,12 @@
value: false
mirror: always
# pref controls `identity` credentials being exposed
- name: dom.security.credentialmanagement.identity.enabled
type: bool
value: false
mirror: always
# Whether or not selection events on text controls are enabled.
- name: dom.select_events.textcontrols.selectionchange.enabled
type: bool