[webauthn] clientExtensionResults attribute cannot be a Record type

jcjones has just created a new issue for https://github.com/w3c/webauthn:

== clientExtensionResults attribute cannot be a Record type ==
The attribute clientExtensionResults is a `typedef` of  `record<DOMString, any>`:

https://github.com/w3c/webauthn/blob/e74d8c4da2813559086fa32a28bdc6c576d54c1f/index.bs#L1354

It's used in several dictionaries - where it's fine - but it's also attached to each `PublicKeyCredential` as an attribute:

https://github.com/w3c/webauthn/blob/e74d8c4da2813559086fa32a28bdc6c576d54c1f/index.bs#L471-L475

The WebIDL spec says "[Records must not be used as the type of an attribute or constant](https://www.w3.org/2017/08/webidl-fpwd-draft.html#idl-record)", so this is not legal. Not, at least, to attach directly.

Without the oppourtunity to try something right now, it seems like we might be able to convert this to an operation, something like `myNewCred.getExtensionResults()`, perhaps. What would the group think of something like this:

```
interface PublicKeyCredential : Credential {
    [SameObject] readonly attribute ArrayBuffer              rawId;
    [SameObject] readonly attribute AuthenticatorResponse    response;

    AuthenticationExtensions getExtensionResults();
};
```


Please view or discuss this issue at https://github.com/w3c/webauthn/issues/624 using your GitHub account

Received on Wednesday, 11 October 2017 00:16:01 UTC