diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index 983ee450d45..570c684965e 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -2622,7 +2622,7 @@ impl DocumentMethods for Document { "mouseevent" | "mouseevents" => Ok(Root::upcast(MouseEvent::new_uninitialized(&self.window))), "pagetransitionevent" => - Ok(Root::upcast(PageTransitionEvent::new_uninitialized(self.window.upcast()))), + Ok(Root::upcast(PageTransitionEvent::new_uninitialized(&self.window))), "popstateevent" => Ok(Root::upcast(PopStateEvent::new_uninitialized(self.window.upcast()))), "progressevent" => diff --git a/components/script/dom/pagetransitionevent.rs b/components/script/dom/pagetransitionevent.rs index b40f6c1ab39..e76a6444d4c 100644 --- a/components/script/dom/pagetransitionevent.rs +++ b/components/script/dom/pagetransitionevent.rs @@ -11,7 +11,7 @@ use dom::bindings::js::Root; use dom::bindings::reflector::reflect_dom_object; use dom::bindings::str::DOMString; use dom::event::Event; -use dom::globalscope::GlobalScope; +use dom::window::Window; use servo_atoms::Atom; use std::cell::Cell; @@ -30,19 +30,19 @@ impl PageTransitionEvent { } } - pub fn new_uninitialized(global: &GlobalScope) -> Root { + pub fn new_uninitialized(window: &Window) -> Root { reflect_dom_object(box PageTransitionEvent::new_inherited(), - global, + window, PageTransitionEventBinding::Wrap) } - pub fn new(global: &GlobalScope, + pub fn new(window: &Window, type_: Atom, bubbles: bool, cancelable: bool, persisted: bool) -> Root { - let ev = PageTransitionEvent::new_uninitialized(global); + let ev = PageTransitionEvent::new_uninitialized(window); ev.persisted.set(persisted); { let event = ev.upcast::(); @@ -51,11 +51,11 @@ impl PageTransitionEvent { ev } - pub fn Constructor(global: &GlobalScope, + pub fn Constructor(window: &Window, type_: DOMString, init: &PageTransitionEventBinding::PageTransitionEventInit) -> Fallible> { - Ok(PageTransitionEvent::new(global, + Ok(PageTransitionEvent::new(window, Atom::from(type_), init.parent.bubbles, init.parent.cancelable, diff --git a/components/script/dom/webidls/PageTransitionEvent.webidl b/components/script/dom/webidls/PageTransitionEvent.webidl index 3f3ed0b797a..a23f3099bad 100644 --- a/components/script/dom/webidls/PageTransitionEvent.webidl +++ b/components/script/dom/webidls/PageTransitionEvent.webidl @@ -3,7 +3,8 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ // https://html.spec.whatwg.org/multipage/#the-pagetransitionevent-interface -[Constructor(DOMString type, optional PageTransitionEventInit eventInitDict), Exposed=(Window,Worker)] +[Constructor(DOMString type, optional PageTransitionEventInit eventInitDict), + Exposed=Window] interface PageTransitionEvent : Event { readonly attribute boolean persisted; }; diff --git a/tests/wpt/metadata/workers/semantics/interface-objects/002.worker.js.ini b/tests/wpt/metadata/workers/semantics/interface-objects/002.worker.js.ini index 845577c4bfb..b97352bf940 100644 --- a/tests/wpt/metadata/workers/semantics/interface-objects/002.worker.js.ini +++ b/tests/wpt/metadata/workers/semantics/interface-objects/002.worker.js.ini @@ -6,6 +6,3 @@ [The PopStateEvent interface object should not be exposed.] expected: FAIL - [The PageTransitionEvent interface object should not be exposed.] - expected: FAIL - diff --git a/tests/wpt/mozilla/tests/mozilla/interfaces.worker.js b/tests/wpt/mozilla/tests/mozilla/interfaces.worker.js index b99d8badf8e..d7039e0bd66 100644 --- a/tests/wpt/mozilla/tests/mozilla/interfaces.worker.js +++ b/tests/wpt/mozilla/tests/mozilla/interfaces.worker.js @@ -37,7 +37,6 @@ test_interfaces([ "MessageEvent", "MimeType", "MimeTypeArray", - "PageTransitionEvent", "Performance", "PerformanceTiming", "Plugin",