Re: [webauthn] PublicKeyCredentialRequestOptions and MakeCredentialOptions could both inherit from a dictionary which has their shared members

So, we have:

```webidl
dictionary MakePublicKeyCredentialOptions {
    required PublicKeyCredentialEntity           rp;
    required PublicKeyCredentialUserEntity       user;

    required BufferSource                             challenge;
    required sequence<PublicKeyCredentialParameters>  pubKeyCredParams;

    unsigned long                                timeout;
    sequence<PublicKeyCredentialDescriptor>      excludeCredentials = [];
    AuthenticatorSelectionCriteria               authenticatorSelection;
    AuthenticationExtensions                     extensions;
};
```
and
```webidl
dictionary PublicKeyCredentialRequestOptions {
    required BufferSource                challenge;
    unsigned long                        timeout;
    USVString                            rpId;
    sequence<PublicKeyCredentialDescriptor> allowCredentials = [];
    AuthenticationExtensions             extensions;
};
```

We could extract `challenge`, `timeout`, and `extensions` into a base dictionary, probably of the form:

```webidl
dictionary PublicKeyCredentialOptions {
    required BufferSource                challenge;
    unsigned long                        timeout;
    AuthenticationExtensions             extensions;
};
```

However, I tend to find that the specification of extracted fields is harder to understand than if they're just duplicated, so I endorse duplicating these. If the two dictionaries were passed to a common operation, that might be a reason to extract the base class, but they're not, so +1 for just closing this.

-- 
GitHub Notification of comment by jyasskin
Please view or discuss this issue at https://github.com/w3c/webauthn/issues/278#issuecomment-319562722 using your GitHub account

Received on Wednesday, 2 August 2017 04:16:17 UTC