diff options
author | Ms2ger <Ms2ger@gmail.com> | 2015-11-09 16:55:58 +0100 |
---|---|---|
committer | Ms2ger <Ms2ger@gmail.com> | 2015-11-12 10:48:58 +0100 |
commit | 6d2ae85c1fc1c31c2dff9b9f9309943ed503e8c1 (patch) | |
tree | 0433f0f8a3a3ba8489108e0711c0e86ce443b0e0 /components/script/dom/htmliframeelement.rs | |
parent | acb24e80b87d043173e2e8b2a31ef3fdb610767b (diff) | |
download | servo-6d2ae85c1fc1c31c2dff9b9f9309943ed503e8c1.tar.gz servo-6d2ae85c1fc1c31c2dff9b9f9309943ed503e8c1.zip |
Use the conversion traits from js.
Diffstat (limited to 'components/script/dom/htmliframeelement.rs')
-rw-r--r-- | components/script/dom/htmliframeelement.rs | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/components/script/dom/htmliframeelement.rs b/components/script/dom/htmliframeelement.rs index 6bc48da1c4f..1665c60d58f 100644 --- a/components/script/dom/htmliframeelement.rs +++ b/components/script/dom/htmliframeelement.rs @@ -130,6 +130,7 @@ impl HTMLIFrameElement { self.navigate_child_browsing_context(url); } + #[allow(unsafe_code)] pub fn dispatch_mozbrowser_event(&self, event: MozBrowserEvent) { // TODO(gw): Support mozbrowser event types that have detail which is not a string. // See https://developer.mozilla.org/en-US/docs/Web/API/Using_the_Browser_API @@ -138,16 +139,18 @@ impl HTMLIFrameElement { if self.Mozbrowser() { let window = window_from_node(self); - let cx = window.get_cx(); - let _ar = JSAutoRequest::new(cx); - let _ac = JSAutoCompartment::new(cx, window.reflector().get_jsobject().get()); - let mut detail = RootedValue::new(cx, UndefinedValue()); - event.detail().to_jsval(cx, detail.handle_mut()); - let custom_event = CustomEvent::new(GlobalRef::Window(window.r()), - DOMString(event.name().to_owned()), - true, - true, - detail.handle()); + let custom_event = unsafe { + let cx = window.get_cx(); + let _ar = JSAutoRequest::new(cx); + let _ac = JSAutoCompartment::new(cx, window.reflector().get_jsobject().get()); + let mut detail = RootedValue::new(cx, UndefinedValue()); + event.detail().to_jsval(cx, detail.handle_mut()); + CustomEvent::new(GlobalRef::Window(window.r()), + DOMString(event.name().to_owned()), + true, + true, + detail.handle()) + }; custom_event.upcast::<Event>().fire(self.upcast()); } } |