Feedback on editor's draft

(...Drive by feedback… not subscribed to the mailing list...)

The following is not defined correctly:

[NoInterfaceObject]
interface NavigatorMIDIAccess {
    void getMIDIAccess (NavigatorMIDIAccessSuccessCallback successCallback, optional NavigatorMIDIAccessErrorCallback? errorCallback);

};


Should just be:

partial interface Navigator {
    void getMIDIAccess (NavigatorMIDIAccessSuccessCallback successCallback, optional NavigatorMIDIAccessErrorCallback? errorCallback);
};





Bikeshed: NavigatorMIDIAccessSuccessCallback is a little excessive :) Just called them "successcb" and "failcb". They are just functions without a "real" interface, so no need to go all camel case there :)  

Also, MIDIPort should not be a [NoInterfaceObject]. Either fold it into MIDIOutput or make it into a partial interface.

Generally speaking, don't make things [NoInterfaceObject]. WebIDL says not to do that unless its for Legacy reasons:

[[
Warning

The [NoInterfaceObject] (http://www.w3.org/TR/WebIDL/#NoInterfaceObject) extended attribute should not be used on interfaces that are not solely used as supplemental (http://www.w3.org/TR/WebIDL/#dfn-supplemental-interface) interfaces, unless there are clear Web compatibility reasons for doing so. Specification authors who wish to use this feature are strongly advised to discuss this on the public-script-coord@w3.org (mailto:public-script-coord@w3.org) mailing list before proceeding.
]]   

Also applied to MIDIEvent.  

Kind regards,
Marcos  

--  
Marcos Caceres

Received on Wednesday, 12 December 2012 21:16:09 UTC