Commit Graph

12 Commits

Author SHA1 Message Date
Boris Zbarsky
9b45ffdc77 Bug 824589. Convert XULElement to WebIDL. r=peterv
The assertions in nsINode and nsWrapperCache are to eagerly catch
failures to override those methods.

The classinfo change for XULTreeBuilder is needed because one of those
is returned via an nsIXULTemplateBuilder attribute on XULElement.
Alternately, I could mark it notflattened in Bindings.conf, but Enn
said he prefers this anyway.

The change to the QI impl in BindingUtils is needed because when
XPConnect converts an IID from C++ to JS it makes is an nsJSID, not an
nsJSIID.  We've run into this before, sadly.

I removed "id" from nsIDOMXULElement because it's already on Element.
I suppose I could have left it there, but this seems cleaner.

The nsJSIID::HasInstance changes are needed to support XBL-implemented
interfaces.  Sadly, this does mean that if the underlying object QIs
to something but we didn't put those props on the WebIDL we'll end up
testing true for instanceof but not exposing the props.  I don't see
an obviously better way.  We should work on killing off uses of
"instanceof someinterface".

The browser.js change is needed to avoid throwing exceptions during
browser-chrome tests that are now getting reported because our
swapFrameLoaders is no longer an XPConnect method.
2013-01-29 12:51:55 -05:00
Boris Zbarsky
f17cd371b2 Back out bug 824589 (rev 22695cac3896) on suspicion of Ts regression 2013-01-29 17:18:06 -05:00
Boris Zbarsky
1d5a36a375 Bug 824589. Convert XULElement to WebIDL. r=peterv
The assertions in nsINode and nsWrapperCache are to eagerly catch
failures to override those methods.

The classinfo change for XULTreeBuilder is needed because one of those
is returned via an nsIXULTemplateBuilder attribute on XULElement.
Alternately, I could mark it notflattened in Bindings.conf, but Enn
said he prefers this anyway.

The change to the QI impl in BindingUtils is needed because when
XPConnect converts an IID from C++ to JS it makes is an nsJSID, not an
nsJSIID.  We've run into this before, sadly.

I removed "id" from nsIDOMXULElement because it's already on Element.
I suppose I could have left it there, but this seems cleaner.

The nsJSIID::HasInstance changes are needed to support XBL-implemented
interfaces.  Sadly, this does mean that if the underlying object QIs
to something but we didn't put those props on the WebIDL we'll end up
testing true for instanceof but not exposing the props.  I don't see
an obviously better way.  We should work on killing off uses of
"instanceof someinterface".

The browser.js change is needed to avoid throwing exceptions during
browser-chrome tests that are now getting reported because our
swapFrameLoaders is no longer an XPConnect method.
2013-01-29 12:51:55 -05:00
Boris Zbarsky
527c8d1698 Bug 829072 part 2. Move the event handlers that are shared by HTMLElement and Document onto a NodeEventHandlers interface that can be on the RHS of 'implements'. r=peterv 2013-01-29 08:44:00 -05:00
Boris Zbarsky
d1840b512d Bug 829072 part 1. Move the event handlers that are shared by HTMLElement, Document, and Window onto a GlobalEventHandlers interface that can be on the RHS of 'implements'. r=peterv 2013-01-29 08:44:00 -05:00
David Zbarsky
e4f93a1b24 Bug 828815: Restore functionality of | SVGElement[onxxx] = Function | r=bz 2013-01-15 16:03:02 -05:00
Ms2ger
c762151efc Bug 824481 - Cleanup style attribute getters; r=bz 2013-01-11 09:42:59 +01:00
David Zbarsky
2a13deff5a Bug 824218 - Remove unimplemented SVG features r=longsonr 2013-01-09 18:02:47 -05:00
David Zbarsky
c3bac23c38 Bug 827119: Convert SVGSVGElement to WebIDL r=bz 2013-01-09 18:02:47 -05:00
David Zbarsky
a4730bced7 Bug 823394 Part 2: Add WebIDL API to SVGElement and enable binding r=bz 2012-12-23 03:22:58 -05:00
Ms2ger
87280862b0 Backout bug 823394 for reftest oranges. 2012-12-23 13:44:04 +01:00
David Zbarsky
52ea426e71 Bug 823394 Part 2: Add WebIDL API to SVGElement and enable binding r=bz 2012-12-23 03:22:58 -05:00