On Aug 25, 2009, at 11:43 PM, Drew Wilson wrote:
I'm trying to update MessageEvent to match the current HTML5 spec.
Currently, MessageEvent has two references to MessagePort:
readonly attribute MessagePort messagePort;
void initMessageEvent(in DOMString typeArg, in boolean
canBubbleArg, in boolean cancelableArg, in DOMString dataArg, in
DOMString originArg, in DOMString lastEventIdArg, in DOMWindow
sourceArg, in MessagePort messagePort);
MessageEvent now needs to support an array of MessagePorts. I had
planned to provide a custom getter for the messagePort attribute and
change initMessageEvent to be custom as well, resulting in this:
readonly attribute [CustomGetter] Array ports;
[Custom] void initMessageEvent(in DOMString typeArg, in
boolean canBubbleArg, in boolean cancelableArg, in DOMString
dataArg, in DOMString originArg, in DOMString lastEventIdArg, in
DOMWindow sourceArg, in Array messagePorts);
My custom JS handlers could map between JSArray and the native
WebCore collection used by the impl class. I'm not certain whether
this is the right approach for the objc bindings, however - in fact,
the generated code for DOMMessageEvent.mm contains "#import Array.h"
and "#import DOMArrayInternal.h", neither of which exist.
What do people suggest here? I'm not certain how this should be
exposed for ObjC. Other classes (like Clipboard.idl) that use Array
don't seem to have objc bindings, but I don't think that's an option
for MessageEvent.
We probably need special support for Web IDL array types in the
bindings generator. Sam can probably comment n more detail. As a
stopgap, we could make the relevant IDL attributes be JS only. I would
check out what Web IDL says about Array - I don't think it's supposed
to be reflected as just a vanilla JS Array.
Regards,
Maciej
_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev