aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/script/dom/closeevent.rs6
-rw-r--r--components/script/dom/customevent.rs6
-rw-r--r--components/script/dom/errorevent.rs5
-rw-r--r--components/script/dom/keyboardevent.rs5
-rw-r--r--components/script/dom/messageevent.rs6
-rw-r--r--components/script/dom/mouseevent.rs5
-rw-r--r--components/script/dom/progressevent.rs6
-rw-r--r--components/script/dom/storageevent.rs6
-rw-r--r--components/script/dom/touchevent.rs5
-rw-r--r--components/script/dom/uievent.rs6
-rw-r--r--components/script/dom/webglcontextevent.rs6
-rw-r--r--components/script/dom/webidls/Event.webidl1
-rw-r--r--tests/wpt/metadata/dom/interfaces.html.ini8
13 files changed, 63 insertions, 8 deletions
diff --git a/components/script/dom/closeevent.rs b/components/script/dom/closeevent.rs
index 3c14db2a26c..ca1186227e7 100644
--- a/components/script/dom/closeevent.rs
+++ b/components/script/dom/closeevent.rs
@@ -4,6 +4,7 @@
use dom::bindings::codegen::Bindings::CloseEventBinding;
use dom::bindings::codegen::Bindings::CloseEventBinding::CloseEventMethods;
+use dom::bindings::codegen::Bindings::EventBinding::EventMethods;
use dom::bindings::error::Fallible;
use dom::bindings::global::GlobalRef;
use dom::bindings::inheritance::Castable;
@@ -90,4 +91,9 @@ impl CloseEventMethods for CloseEvent {
fn Reason(&self) -> DOMString {
self.reason.clone()
}
+
+ // https://dom.spec.whatwg.org/#dom-event-istrusted
+ fn IsTrusted(&self) -> bool {
+ self.event.IsTrusted()
+ }
}
diff --git a/components/script/dom/customevent.rs b/components/script/dom/customevent.rs
index 77c20af36f8..e30a50e53b8 100644
--- a/components/script/dom/customevent.rs
+++ b/components/script/dom/customevent.rs
@@ -4,6 +4,7 @@
use dom::bindings::codegen::Bindings::CustomEventBinding;
use dom::bindings::codegen::Bindings::CustomEventBinding::CustomEventMethods;
+use dom::bindings::codegen::Bindings::EventBinding::EventMethods;
use dom::bindings::error::Fallible;
use dom::bindings::global::GlobalRef;
use dom::bindings::inheritance::Castable;
@@ -89,4 +90,9 @@ impl CustomEventMethods for CustomEvent {
detail: HandleValue) {
self.init_custom_event(_cx, Atom::from(&*type_), can_bubble, cancelable, detail)
}
+
+ // https://dom.spec.whatwg.org/#dom-event-istrusted
+ fn IsTrusted(&self) -> bool {
+ self.event.IsTrusted()
+ }
}
diff --git a/components/script/dom/errorevent.rs b/components/script/dom/errorevent.rs
index 8d6288063e4..fd6c8d94e4a 100644
--- a/components/script/dom/errorevent.rs
+++ b/components/script/dom/errorevent.rs
@@ -5,6 +5,7 @@
use dom::bindings::cell::DOMRefCell;
use dom::bindings::codegen::Bindings::ErrorEventBinding;
use dom::bindings::codegen::Bindings::ErrorEventBinding::ErrorEventMethods;
+use dom::bindings::codegen::Bindings::EventBinding::EventMethods;
use dom::bindings::error::Fallible;
use dom::bindings::global::GlobalRef;
use dom::bindings::inheritance::Castable;
@@ -134,4 +135,8 @@ impl ErrorEventMethods for ErrorEvent {
self.error.get()
}
+ // https://dom.spec.whatwg.org/#dom-event-istrusted
+ fn IsTrusted(&self) -> bool {
+ self.event.IsTrusted()
+ }
}
diff --git a/components/script/dom/keyboardevent.rs b/components/script/dom/keyboardevent.rs
index e5804dcd6cb..e7dc90dcef5 100644
--- a/components/script/dom/keyboardevent.rs
+++ b/components/script/dom/keyboardevent.rs
@@ -841,4 +841,9 @@ impl KeyboardEventMethods for KeyboardEvent {
fn Which(&self) -> u32 {
self.char_code.get().unwrap_or(self.KeyCode())
}
+
+ // https://dom.spec.whatwg.org/#dom-event-istrusted
+ fn IsTrusted(&self) -> bool {
+ self.uievent.IsTrusted()
+ }
}
diff --git a/components/script/dom/messageevent.rs b/components/script/dom/messageevent.rs
index 30a674253de..f68f37a872a 100644
--- a/components/script/dom/messageevent.rs
+++ b/components/script/dom/messageevent.rs
@@ -2,6 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+use dom::bindings::codegen::Bindings::EventBinding::EventMethods;
use dom::bindings::codegen::Bindings::MessageEventBinding;
use dom::bindings::codegen::Bindings::MessageEventBinding::MessageEventMethods;
use dom::bindings::error::Fallible;
@@ -99,4 +100,9 @@ impl MessageEventMethods for MessageEvent {
fn LastEventId(&self) -> DOMString {
self.lastEventId.clone()
}
+
+ // https://dom.spec.whatwg.org/#dom-event-istrusted
+ fn IsTrusted(&self) -> bool {
+ self.event.IsTrusted()
+ }
}
diff --git a/components/script/dom/mouseevent.rs b/components/script/dom/mouseevent.rs
index 4a08dcf2dc3..5bd6cb7ca06 100644
--- a/components/script/dom/mouseevent.rs
+++ b/components/script/dom/mouseevent.rs
@@ -206,4 +206,9 @@ impl MouseEventMethods for MouseEvent {
self.button.set(buttonArg);
self.related_target.set(relatedTargetArg);
}
+
+ // https://dom.spec.whatwg.org/#dom-event-istrusted
+ fn IsTrusted(&self) -> bool {
+ self.uievent.IsTrusted()
+ }
}
diff --git a/components/script/dom/progressevent.rs b/components/script/dom/progressevent.rs
index fc24b6c3017..985cc289d61 100644
--- a/components/script/dom/progressevent.rs
+++ b/components/script/dom/progressevent.rs
@@ -2,6 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+use dom::bindings::codegen::Bindings::EventBinding::EventMethods;
use dom::bindings::codegen::Bindings::ProgressEventBinding;
use dom::bindings::codegen::Bindings::ProgressEventBinding::ProgressEventMethods;
use dom::bindings::error::Fallible;
@@ -70,4 +71,9 @@ impl ProgressEventMethods for ProgressEvent {
fn Total(&self) -> u64 {
self.total
}
+
+ // https://dom.spec.whatwg.org/#dom-event-istrusted
+ fn IsTrusted(&self) -> bool {
+ self.event.IsTrusted()
+ }
}
diff --git a/components/script/dom/storageevent.rs b/components/script/dom/storageevent.rs
index 337f546e152..215054a6e38 100644
--- a/components/script/dom/storageevent.rs
+++ b/components/script/dom/storageevent.rs
@@ -2,6 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+use dom::bindings::codegen::Bindings::EventBinding::EventMethods;
use dom::bindings::codegen::Bindings::StorageEventBinding;
use dom::bindings::codegen::Bindings::StorageEventBinding::{StorageEventMethods};
use dom::bindings::error::Fallible;
@@ -108,4 +109,9 @@ impl StorageEventMethods for StorageEvent {
fn GetStorageArea(&self) -> Option<Root<Storage>> {
self.storageArea.get()
}
+
+ // https://dom.spec.whatwg.org/#dom-event-istrusted
+ fn IsTrusted(&self) -> bool {
+ self.event.IsTrusted()
+ }
}
diff --git a/components/script/dom/touchevent.rs b/components/script/dom/touchevent.rs
index 7340316f9fc..5d6b85a550a 100644
--- a/components/script/dom/touchevent.rs
+++ b/components/script/dom/touchevent.rs
@@ -114,4 +114,9 @@ impl<'a> TouchEventMethods for &'a TouchEvent {
fn ChangedTouches(&self) -> Root<TouchList> {
self.changed_touches.get()
}
+
+ /// https://dom.spec.whatwg.org/#dom-event-istrusted
+ fn IsTrusted(&self) -> bool {
+ self.uievent.IsTrusted()
+ }
}
diff --git a/components/script/dom/uievent.rs b/components/script/dom/uievent.rs
index 713fa30473a..1c4ba4b5fb8 100644
--- a/components/script/dom/uievent.rs
+++ b/components/script/dom/uievent.rs
@@ -2,6 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+use dom::bindings::codegen::Bindings::EventBinding::EventMethods;
use dom::bindings::codegen::Bindings::UIEventBinding;
use dom::bindings::codegen::Bindings::UIEventBinding::UIEventMethods;
use dom::bindings::error::Fallible;
@@ -95,4 +96,9 @@ impl UIEventMethods for UIEvent {
self.view.set(view);
self.detail.set(detail);
}
+
+ // https://dom.spec.whatwg.org/#dom-event-istrusted
+ fn IsTrusted(&self) -> bool {
+ self.event.IsTrusted()
+ }
}
diff --git a/components/script/dom/webglcontextevent.rs b/components/script/dom/webglcontextevent.rs
index 0cc353ef183..71ab79a34db 100644
--- a/components/script/dom/webglcontextevent.rs
+++ b/components/script/dom/webglcontextevent.rs
@@ -2,6 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+use dom::bindings::codegen::Bindings::EventBinding::EventMethods;
use dom::bindings::codegen::Bindings::WebGLContextEventBinding;
use dom::bindings::codegen::Bindings::WebGLContextEventBinding::WebGLContextEventInit;
use dom::bindings::codegen::Bindings::WebGLContextEventBinding::WebGLContextEventMethods;
@@ -25,6 +26,11 @@ impl WebGLContextEventMethods for WebGLContextEvent {
fn StatusMessage(&self) -> DOMString {
self.status_message.clone()
}
+
+ // https://dom.spec.whatwg.org/#dom-event-istrusted
+ fn IsTrusted(&self) -> bool {
+ self.event.IsTrusted()
+ }
}
impl WebGLContextEvent {
diff --git a/components/script/dom/webidls/Event.webidl b/components/script/dom/webidls/Event.webidl
index 5adc06da3f9..3ce670bdaa2 100644
--- a/components/script/dom/webidls/Event.webidl
+++ b/components/script/dom/webidls/Event.webidl
@@ -34,6 +34,7 @@ interface Event {
[Pure]
readonly attribute boolean defaultPrevented;
+ [Unforgeable]
readonly attribute boolean isTrusted;
[Constant]
readonly attribute DOMTimeStamp timeStamp;
diff --git a/tests/wpt/metadata/dom/interfaces.html.ini b/tests/wpt/metadata/dom/interfaces.html.ini
index ae699450431..28f8801aeaf 100644
--- a/tests/wpt/metadata/dom/interfaces.html.ini
+++ b/tests/wpt/metadata/dom/interfaces.html.ini
@@ -1,17 +1,9 @@
[interfaces.html]
type: testharness
- [Event interface: document.createEvent("Event") must have own property "isTrusted"]
- expected: FAIL
-
- [Event interface: new Event("foo") must have own property "isTrusted"]
- expected: FAIL
[CustomEvent interface: existence and properties of interface object]
expected: FAIL
- [Event interface: new CustomEvent("foo") must have own property "isTrusted"]
- expected: FAIL
-
[MutationObserver interface: existence and properties of interface object]
expected: FAIL