aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/script/dom/event.rs5
-rw-r--r--components/script/dom/webidls/Event.webidl1
-rw-r--r--tests/wpt/metadata/dom/events/Event-defaultPrevented-after-dispatch.html.ini3
-rw-r--r--tests/wpt/metadata/dom/events/Event-dispatch-detached-click.html.ini4
-rw-r--r--tests/wpt/metadata/dom/events/Event-dispatch-other-document.html.ini4
-rw-r--r--tests/wpt/metadata/dom/events/EventListener-handleEvent.html.ini4
-rw-r--r--tests/wpt/metadata/dom/interfaces.html.ini12
7 files changed, 6 insertions, 27 deletions
diff --git a/components/script/dom/event.rs b/components/script/dom/event.rs
index a14beccabe3..52c9af3b061 100644
--- a/components/script/dom/event.rs
+++ b/components/script/dom/event.rs
@@ -263,6 +263,11 @@ impl EventMethods for Event {
self.target.get()
}
+ // https://dom.spec.whatwg.org/#dom-event-srcelement
+ fn GetSrcElement(&self) -> Option<DomRoot<EventTarget>> {
+ self.target.get()
+ }
+
// https://dom.spec.whatwg.org/#dom-event-currenttarget
fn GetCurrentTarget(&self) -> Option<DomRoot<EventTarget>> {
self.current_target.get()
diff --git a/components/script/dom/webidls/Event.webidl b/components/script/dom/webidls/Event.webidl
index c688daedb2e..f3d281813a1 100644
--- a/components/script/dom/webidls/Event.webidl
+++ b/components/script/dom/webidls/Event.webidl
@@ -11,6 +11,7 @@ interface Event {
[Pure]
readonly attribute DOMString type;
readonly attribute EventTarget? target;
+ readonly attribute EventTarget? srcElement;
readonly attribute EventTarget? currentTarget;
const unsigned short NONE = 0;
diff --git a/tests/wpt/metadata/dom/events/Event-defaultPrevented-after-dispatch.html.ini b/tests/wpt/metadata/dom/events/Event-defaultPrevented-after-dispatch.html.ini
index 62b929e7696..5187ca56680 100644
--- a/tests/wpt/metadata/dom/events/Event-defaultPrevented-after-dispatch.html.ini
+++ b/tests/wpt/metadata/dom/events/Event-defaultPrevented-after-dispatch.html.ini
@@ -1,7 +1,4 @@
[Event-defaultPrevented-after-dispatch.html]
- [Default prevention via preventDefault]
- expected: FAIL
-
[Default prevention via returnValue]
expected: FAIL
diff --git a/tests/wpt/metadata/dom/events/Event-dispatch-detached-click.html.ini b/tests/wpt/metadata/dom/events/Event-dispatch-detached-click.html.ini
deleted file mode 100644
index 4ee6693e1dc..00000000000
--- a/tests/wpt/metadata/dom/events/Event-dispatch-detached-click.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[Event-dispatch-detached-click.html]
- [Click event can be dispatched to an element that is not in the document.]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/dom/events/Event-dispatch-other-document.html.ini b/tests/wpt/metadata/dom/events/Event-dispatch-other-document.html.ini
deleted file mode 100644
index 8939e17c8b0..00000000000
--- a/tests/wpt/metadata/dom/events/Event-dispatch-other-document.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[Event-dispatch-other-document.html]
- [Custom event on an element in another document]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/dom/events/EventListener-handleEvent.html.ini b/tests/wpt/metadata/dom/events/EventListener-handleEvent.html.ini
index 72f7b4b3565..dccf66a904b 100644
--- a/tests/wpt/metadata/dom/events/EventListener-handleEvent.html.ini
+++ b/tests/wpt/metadata/dom/events/EventListener-handleEvent.html.ini
@@ -5,12 +5,8 @@
[throws if `handleEvent` is not callable]
expected: FAIL
- [calls `handleEvent` method of `EventListener`]
- expected: FAIL
-
[throws if `handleEvent` is falsy and not callable]
expected: FAIL
[throws if `handleEvent` is thruthy and not callable]
expected: FAIL
-
diff --git a/tests/wpt/metadata/dom/interfaces.html.ini b/tests/wpt/metadata/dom/interfaces.html.ini
index 5586cd6a5b9..43939ada454 100644
--- a/tests/wpt/metadata/dom/interfaces.html.ini
+++ b/tests/wpt/metadata/dom/interfaces.html.ini
@@ -827,27 +827,18 @@
[DOM IDL tests]
expected: FAIL
- [Event interface: attribute srcElement]
- expected: FAIL
-
[Event interface: operation composedPath()]
expected: FAIL
[Event interface: attribute composed]
expected: FAIL
- [Event interface: document.createEvent("Event") must inherit property "srcElement" with the proper type]
- expected: FAIL
-
[Event interface: document.createEvent("Event") must inherit property "composedPath()" with the proper type]
expected: FAIL
[Event interface: document.createEvent("Event") must inherit property "composed" with the proper type]
expected: FAIL
- [Event interface: new Event("foo") must inherit property "srcElement" with the proper type]
- expected: FAIL
-
[Event interface: new Event("foo") must inherit property "composedPath()" with the proper type]
expected: FAIL
@@ -857,9 +848,6 @@
[CustomEvent interface: operation initCustomEvent(DOMString, boolean, boolean, any)]
expected: FAIL
- [Event interface: new CustomEvent("foo") must inherit property "srcElement" with the proper type]
- expected: FAIL
-
[Event interface: new CustomEvent("foo") must inherit property "composedPath()" with the proper type]
expected: FAIL