aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/bindings/utils.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/script/dom/bindings/utils.rs')
-rw-r--r--src/components/script/dom/bindings/utils.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/components/script/dom/bindings/utils.rs b/src/components/script/dom/bindings/utils.rs
index ec1472bac28..71c82ae86dc 100644
--- a/src/components/script/dom/bindings/utils.rs
+++ b/src/components/script/dom/bindings/utils.rs
@@ -6,6 +6,7 @@ use dom::bindings::codegen::PrototypeList;
use dom::bindings::codegen::PrototypeList::MAX_PROTO_CHAIN_LENGTH;
use dom::bindings::conversions::FromJSValConvertible;
use dom::bindings::js::JS;
+use dom::bindings::trace::Untraceable;
use dom::window;
use servo_util::str::DOMString;
@@ -42,13 +43,14 @@ use js::JSPROP_PERMANENT;
use js::{JSFUN_CONSTRUCTOR, JSPROP_READONLY};
use js;
+#[deriving(Encodable)]
pub struct GlobalStaticData {
- proxy_handlers: HashMap<uint, *libc::c_void>
+ proxy_handlers: Untraceable<HashMap<uint, *libc::c_void>>
}
pub fn GlobalStaticData() -> GlobalStaticData {
GlobalStaticData {
- proxy_handlers: HashMap::new()
+ proxy_handlers: Untraceable::new(HashMap::new())
}
}
@@ -533,7 +535,7 @@ fn cx_for_dom_reflector(obj: *JSObject) -> *JSContext {
let win = global_object_for_js_object(obj);
let js_info = win.get().page().js_info();
match *js_info {
- Some(ref info) => info.js_context.deref().ptr,
+ Some(ref info) => info.js_context.deref().deref().ptr,
None => fail!("no JS context for DOM global")
}
}