Bug 21432 - Auto-generate the DOMEventTarget protocol implementation for DOMNode and DOMSVGElementInstance
Summary: Auto-generate the DOMEventTarget protocol implementation for DOMNode and DOMS...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit API (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac OS X 10.5
: P2 Normal
Assignee: Timothy Hatcher
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-10-07 10:21 PDT by Timothy Hatcher
Modified: 2008-10-07 14:49 PDT (History)
1 user (show)

See Also:


Attachments
Proposed patch (30.38 KB, patch)
2008-10-07 10:21 PDT, Timothy Hatcher
darin: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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.