diff options
-rw-r--r-- | components/script/dom/closeevent.rs | 6 | ||||
-rw-r--r-- | components/script/dom/customevent.rs | 6 | ||||
-rw-r--r-- | components/script/dom/errorevent.rs | 5 | ||||
-rw-r--r-- | components/script/dom/keyboardevent.rs | 5 | ||||
-rw-r--r-- | components/script/dom/messageevent.rs | 6 | ||||
-rw-r--r-- | components/script/dom/mouseevent.rs | 5 | ||||
-rw-r--r-- | components/script/dom/progressevent.rs | 6 | ||||
-rw-r--r-- | components/script/dom/storageevent.rs | 6 | ||||
-rw-r--r-- | components/script/dom/touchevent.rs | 5 | ||||
-rw-r--r-- | components/script/dom/uievent.rs | 6 | ||||
-rw-r--r-- | components/script/dom/webglcontextevent.rs | 6 | ||||
-rw-r--r-- | components/script/dom/webidls/Event.webidl | 1 | ||||
-rw-r--r-- | tests/wpt/metadata/dom/interfaces.html.ini | 8 |
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 |