ATM we are relying in the EventListeners defined in some of the IDL files to define the matching event signals in the GObject classes. This does not really make sense, since any event can be dispatched to any class implementing EventTarget. Rework this to just define all events in our base classes instead.
Created attachment 65390 [details] eventdom.diff
For the future: this is not really complete or totally correct, since we should also be able to create ad-hoc events, dispatch them and connect to them through g_signal_connect. Right now this fails in that we don't create signals for the new events at runtime, so we wouldn't be able to be notified of the dispatch. One solution would be to have a generic "event" signal that has the actual name of the event in the detail, like: g_signal_connect(node, "event::funny-name", ...).
Comment on attachment 65390 [details] eventdom.diff WebCore/bindings/scripts/CodeGeneratorGObject.pm:612 + foreach my $attribute (@eventSignalNames) { I think this temporary variable should be called something like eventSignalName instead of attribute (copy and paste issue?). r=me with this change.
Comment on attachment 65390 [details] eventdom.diff Landed with the name change in r66090.
Closing.