Bug 1444004. Implement Event.prototype.srcElement as an alias for .target, nightly-only. r=smaug

MozReview-Commit-ID: 4UMNqUBfUnp
This commit is contained in:
Boris Zbarsky 2018-03-07 23:15:32 -05:00
Родитель 70a187eb06
Коммит f524da36b5
4 изменённых файлов: 16 добавлений и 2 удалений

Просмотреть файл

@ -75,7 +75,7 @@ public:
void Remove(const nsAString& aToken, mozilla::ErrorResult& aError);
void Remove(const nsTArray<nsString>& 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<nsString>& aTokens);
void RemoveInternal(const nsAttrValue* aAttr,
const nsTArray<nsString>& aTokens);
void ReplaceInternal(const nsAttrValue* aAttr,
bool ReplaceInternal(const nsAttrValue* aAttr,
const nsAString& aToken,
const nsAString& aNewToken);
inline const nsAttrValue* GetParsedAttr();

Просмотреть файл

@ -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
{

Просмотреть файл

@ -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<RefPtr<EventTarget>>& aPath);

Просмотреть файл

@ -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;