This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
Raised during the W3C TAG review - https://github.com/w3ctag/spec-reviews/issues/3 This is an artifact of Bug 24657 and Bug 24767. The notion of KeyAlgorithm as an interface introduces inappropriate complexity into the language - and the [NoInterfaceObject] annotation is insufficient to hide it. Rather than treating KeyAlgorithm (and derived) as Interfaces, convert them to a Dictionary within the specification. Further, to avoid the WebIDL restriction that "dictionaries cannot be attributes of an interface" (See http://heycam.github.io/webidl/#idl-attributes ), the specification should dictate that the IDL Dictionaries are converted to ES objects, as defined in http://heycam.github.io/webidl/#es-dictionary This implicitly will make the KeyPair interface structured clonable (because the members - Key objects - are clonable), as well as ensure that KeyAlgorithm objects themselves can be cloned via structured clone (a spec omission at this point)
*** Bug 24768 has been marked as a duplicate of this bug. ***
https://dvcs.w3.org/hg/webcrypto-api/rev/309495c2794e