Bug 21432

Summary: Auto-generate the DOMEventTarget protocol implementation for DOMNode and DOMSVGElementInstance
Product: WebKit Reporter: Timothy Hatcher <timothy>
Component: WebKit APIAssignee: Timothy Hatcher <timothy>
Status: RESOLVED FIXED    
Severity: Normal CC: sam
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: OS X 10.5   
Attachments:
Description Flags
Proposed patch darin: review+

Description Timothy Hatcher 2008-10-07 10:21:31 PDT
We should auto-generate these protocol implementations.
Comment 1 Timothy Hatcher 2008-10-07 10:21:59 PDT
Created attachment 24149 [details]
Proposed patch
Comment 2 Darin Adler 2008-10-07 10:30:58 PDT
Comment on attachment 24149 [details]
Proposed patch

+ #if defined(LANGUAGE_OBJECTIVE_C)
+         : Object, EventTarget
+ #endif /* defined(LANGUAGE_OBJECTIVE_C) */

What's "Object" here and why is it needed? Why does this need to be ObjC-specific?
Comment 3 Timothy Hatcher 2008-10-07 10:50:21 PDT
(In reply to comment #2)
> (From update of attachment 24149 [details] [edit])
> + #if defined(LANGUAGE_OBJECTIVE_C)
> +         : Object, EventTarget
> + #endif /* defined(LANGUAGE_OBJECTIVE_C) */
> 
> What's "Object" here and why is it needed? Why does this need to be
> ObjC-specific?
> 

Object will turn into DOMObject. This is needed to take the code generator down the right path of multiple super-classes as protocols.

It is ObjC only for legacy reasons. The event target methods are normally on NodeEventTarget, a subclass of Node. But the ObjC API has never has this sub-class and  they are on DOMNode.

I will add this info to the ChangeLog.
Comment 4 Timothy Hatcher 2008-10-07 14:49:55 PDT
Landed in r37395.