aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmliframeelement.rs
diff options
context:
space:
mode:
authorMs2ger <Ms2ger@gmail.com>2015-11-09 16:55:58 +0100
committerMs2ger <Ms2ger@gmail.com>2015-11-12 10:48:58 +0100
commit6d2ae85c1fc1c31c2dff9b9f9309943ed503e8c1 (patch)
tree0433f0f8a3a3ba8489108e0711c0e86ce443b0e0 /components/script/dom/htmliframeelement.rs
parentacb24e80b87d043173e2e8b2a31ef3fdb610767b (diff)
downloadservo-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.rs23
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());
}
}