diff --git a/dom/base/nsDOMTokenList.h b/dom/base/nsDOMTokenList.h index 6a9c5f4c632b..891f78d51cb1 100644 --- a/dom/base/nsDOMTokenList.h +++ b/dom/base/nsDOMTokenList.h @@ -75,7 +75,7 @@ public: void Remove(const nsAString& aToken, mozilla::ErrorResult& aError); void Remove(const nsTArray& aTokens, mozilla::ErrorResult& aError); - void Replace(const nsAString& aToken, + bool Replace(const nsAString& aToken, const nsAString& aNewToken, mozilla::ErrorResult& aError); bool Toggle(const nsAString& aToken, @@ -99,7 +99,7 @@ protected: const nsTArray& aTokens); void RemoveInternal(const nsAttrValue* aAttr, const nsTArray& aTokens); - void ReplaceInternal(const nsAttrValue* aAttr, + bool ReplaceInternal(const nsAttrValue* aAttr, const nsAString& aToken, const nsAString& aNewToken); inline const nsAttrValue* GetParsedAttr(); diff --git a/dom/events/Event.cpp b/dom/events/Event.cpp index bfac28150726..e43a7abafa90 100644 --- a/dom/events/Event.cpp +++ b/dom/events/Event.cpp @@ -246,6 +246,17 @@ Event::GetTarget(nsIDOMEventTarget** aTarget) return NS_OK; } +bool +Event::IsSrcElementEnabled(JSContext* /* unused */, JSObject* /* unused */) +{ + // Not a pref, because that's a pain on workers. +#ifdef NIGHTLY_BUILD + return true; +#else + return false; +#endif +} + EventTarget* Event::GetCurrentTarget() const { diff --git a/dom/events/Event.h b/dom/events/Event.h index 242747cf66ff..a24db29fb355 100644 --- a/dom/events/Event.h +++ b/dom/events/Event.h @@ -171,6 +171,7 @@ public: // void GetType(nsString& aRetval) {} EventTarget* GetTarget() const; + static bool IsSrcElementEnabled(JSContext* /* unused */, JSObject* /* unused */); EventTarget* GetCurrentTarget() const; void ComposedPath(nsTArray>& aPath); diff --git a/dom/webidl/Event.webidl b/dom/webidl/Event.webidl index 23820e698df9..d3172c6f48df 100644 --- a/dom/webidl/Event.webidl +++ b/dom/webidl/Event.webidl @@ -17,6 +17,8 @@ interface Event { readonly attribute DOMString type; [Pure] readonly attribute EventTarget? target; + [Pure, BinaryName="target", Func="Event::IsSrcElementEnabled"] + readonly attribute EventTarget? srcElement; [Pure] readonly attribute EventTarget? currentTarget;