aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/errorevent.rs
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-10-14 14:48:44 -0600
committerbors-servo <metajack+bors@gmail.com>2015-10-14 14:48:44 -0600
commitb34fd5bd7e55be1d577df5cf70b41af8a6cc716b (patch)
treeda75856d209b23755de169dcbfe798afb0487a4a /components/script/dom/errorevent.rs
parentf35f809938792fbad61fd517187e46c1e009cd16 (diff)
parent3129fb2330251a38d0025766c28855eaa197afb8 (diff)
downloadservo-b34fd5bd7e55be1d577df5cf70b41af8a6cc716b.tar.gz
servo-b34fd5bd7e55be1d577df5cf70b41af8a6cc716b.zip
Auto merge of #7727 - michaelwu:update-bindings, r=jdm
Support the updated spidermonkey bindings Still need to finish the rust-mozjs update and make cargo use it, but it's close enough that I don't expect much to change on the servo side. Some changes here - bools are properly translated now - char16_t is handled as u16 now - JS_GlobalObjectTraceHook isn't mangled now - JSJitInfo has been adjusted - A const fn is used to generate bitfields in JSJitInfo - Manually generating handles now requires calling an unsafe function. It's not actually required, but it's too much of a hassle to generate them manually now due to bindgen++ adding base classes now. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7727) <!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/errorevent.rs')
-rw-r--r--components/script/dom/errorevent.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/components/script/dom/errorevent.rs b/components/script/dom/errorevent.rs
index e58a80ca259..2d95586c350 100644
--- a/components/script/dom/errorevent.rs
+++ b/components/script/dom/errorevent.rs
@@ -13,7 +13,7 @@ use dom::bindings::js::{MutHeapJSVal, Root};
use dom::bindings::trace::JSTraceable;
use dom::bindings::utils::reflect_dom_object;
use dom::event::{Event, EventBubbles, EventCancelable};
-use js::jsapi::{HandleValue, JSContext};
+use js::jsapi::{RootedValue, HandleValue, JSContext};
use js::jsval::JSVal;
use std::borrow::ToOwned;
use std::cell::Cell;
@@ -102,11 +102,14 @@ impl ErrorEvent {
EventCancelable::NotCancelable
};
+ // Dictionaries need to be rooted
+ // https://github.com/servo/servo/issues/6381
+ let error = RootedValue::new(global.get_cx(), init.error);
let event = ErrorEvent::new(global, type_,
bubbles, cancelable,
msg, file_name,
line_num, col_num,
- HandleValue { ptr: &init.error });
+ error.handle());
Ok(event)
}