Bug 828815: Restore functionality of | SVGElement[onxxx] = Function | r=bz

This commit is contained in:
David Zbarsky 2013-01-15 16:03:02 -05:00
parent f17738eb34
commit 2f813a3d4d
3 changed files with 151 additions and 0 deletions

View File

@ -88,6 +88,12 @@ nsSVGElement::WrapNode(JSContext *aCx, JSObject *aScope, bool *aTriedToWrap)
return SVGElementBinding::Wrap(aCx, aScope, this, aTriedToWrap);
}
bool
nsSVGElement::PrefEnabled()
{
return nsGenericHTMLElement::PrefEnabled();
}
//----------------------------------------------------------------------
/* readonly attribute nsIDOMSVGAnimatedString className; */

View File

@ -302,6 +302,7 @@ public:
nsSVGElement* GetViewportElement();
already_AddRefed<nsIDOMSVGAnimatedString> ClassName();
already_AddRefed<mozilla::dom::CSSValue> GetPresentationAttribute(const nsAString& aName, mozilla::ErrorResult& rv);
static bool PrefEnabled();
protected:
virtual JSObject* WrapNode(JSContext *cx, JSObject *scope, bool *triedToWrap);

View File

@ -12,6 +12,7 @@
interface SVGAnimatedString;
[PrefControlled]
interface SVGElement : Element {
attribute DOMString id;
/* [SetterThrows]
@ -32,4 +33,147 @@ interface SVGElement : Element {
[Throws]
readonly attribute SVGSVGElement? ownerSVGElement;
readonly attribute SVGElement? viewportElement;
// event handler IDL attributes
[SetterThrows]
attribute EventHandler onabort;
[SetterThrows]
attribute EventHandler onblur;
//[SetterThrows]
// attribute EventHandler oncancel;
[SetterThrows]
attribute EventHandler oncanplay;
[SetterThrows]
attribute EventHandler oncanplaythrough;
[SetterThrows]
attribute EventHandler onchange;
[SetterThrows]
attribute EventHandler onclick;
//[SetterThrows]
// attribute EventHandler onclose;
[SetterThrows]
attribute EventHandler oncontextmenu;
//[SetterThrows]
// attribute EventHandler oncuechange;
[SetterThrows]
attribute EventHandler ondblclick;
[SetterThrows]
attribute EventHandler ondrag;
[SetterThrows]
attribute EventHandler ondragend;
[SetterThrows]
attribute EventHandler ondragenter;
[SetterThrows]
attribute EventHandler ondragleave;
[SetterThrows]
attribute EventHandler ondragover;
[SetterThrows]
attribute EventHandler ondragstart;
[SetterThrows]
attribute EventHandler ondrop;
[SetterThrows]
attribute EventHandler ondurationchange;
[SetterThrows]
attribute EventHandler onemptied;
[SetterThrows]
attribute EventHandler onended;
// We think the spec is wrong here.
// attribute OnErrorEventHandler onerror;
[SetterThrows]
attribute EventHandler onerror;
[SetterThrows]
attribute EventHandler onfocus;
[SetterThrows]
attribute EventHandler oninput;
[SetterThrows]
attribute EventHandler oninvalid;
[SetterThrows]
attribute EventHandler onkeydown;
[SetterThrows]
attribute EventHandler onkeypress;
[SetterThrows]
attribute EventHandler onkeyup;
[SetterThrows]
attribute EventHandler onload;
[SetterThrows]
attribute EventHandler onloadeddata;
[SetterThrows]
attribute EventHandler onloadedmetadata;
[SetterThrows]
attribute EventHandler onloadstart;
[SetterThrows]
attribute EventHandler onmousedown;
[SetterThrows]
attribute EventHandler onmousemove;
[SetterThrows]
attribute EventHandler onmouseout;
[SetterThrows]
attribute EventHandler onmouseover;
[SetterThrows]
attribute EventHandler onmouseup;
//[SetterThrows]
// attribute EventHandler onmousewheel;
[SetterThrows]
attribute EventHandler onpause;
[SetterThrows]
attribute EventHandler onplay;
[SetterThrows]
attribute EventHandler onplaying;
[SetterThrows]
attribute EventHandler onprogress;
[SetterThrows]
attribute EventHandler onratechange;
[SetterThrows]
attribute EventHandler onreset;
[SetterThrows]
attribute EventHandler onscroll;
[SetterThrows]
attribute EventHandler onseeked;
[SetterThrows]
attribute EventHandler onseeking;
[SetterThrows]
attribute EventHandler onselect;
[SetterThrows]
attribute EventHandler onshow;
[SetterThrows]
attribute EventHandler onstalled;
[SetterThrows]
attribute EventHandler onsubmit;
[SetterThrows]
attribute EventHandler onsuspend;
[SetterThrows]
attribute EventHandler ontimeupdate;
[SetterThrows]
attribute EventHandler onvolumechange;
[SetterThrows]
attribute EventHandler onwaiting;
[SetterThrows]
attribute EventHandler onmozfullscreenchange;
[SetterThrows]
attribute EventHandler onmozfullscreenerror;
[SetterThrows]
attribute EventHandler onmozpointerlockchange;
[SetterThrows]
attribute EventHandler onmozpointerlockerror;
[SetterThrows,Pref="dom.w3c_touch_events.expose"]
attribute EventHandler ontouchstart;
[SetterThrows,Pref="dom.w3c_touch_events.expose"]
attribute EventHandler ontouchend;
[SetterThrows,Pref="dom.w3c_touch_events.expose"]
attribute EventHandler ontouchmove;
[SetterThrows,Pref="dom.w3c_touch_events.expose"]
attribute EventHandler ontouchenter;
[SetterThrows,Pref="dom.w3c_touch_events.expose"]
attribute EventHandler ontouchleave;
[SetterThrows,Pref="dom.w3c_touch_events.expose"]
attribute EventHandler ontouchcancel;
[SetterThrows]
attribute EventHandler oncopy;
[SetterThrows]
attribute EventHandler oncut;
[SetterThrows]
attribute EventHandler onpaste;
};