diff --git a/components/script/dom/bindings/conversions.rs b/components/script/dom/bindings/conversions.rs index 1a96dc7c948..35eb5038bc9 100644 --- a/components/script/dom/bindings/conversions.rs +++ b/components/script/dom/bindings/conversions.rs @@ -569,17 +569,6 @@ pub fn native_from_reflector_jsmanaged(mut obj: *mut JSObject) -> Result FromJSValConvertible for Unrooted { - type Config = (); - fn from_jsval(_cx: *mut JSContext, value: JSVal, _option: ()) - -> Result, ()> { - if !value.is_object() { - return Err(()); - } - native_from_reflector_jsmanaged(value.to_object()) - } -} - impl ToJSValConvertible for Root { fn to_jsval(&self, cx: *mut JSContext) -> JSVal { self.r().reflector().to_jsval(cx) diff --git a/components/script/dom/bindings/global.rs b/components/script/dom/bindings/global.rs index 316c51a67e3..233143851e6 100644 --- a/components/script/dom/bindings/global.rs +++ b/components/script/dom/bindings/global.rs @@ -7,7 +7,7 @@ //! This module contains smart pointers to global scopes, to simplify writing //! code that works in workers as well as window scopes. -use dom::bindings::conversions::FromJSValConvertible; +use dom::bindings::conversions::native_from_reflector_jsmanaged; use dom::bindings::js::{JS, JSRef, Root, Unrooted}; use dom::bindings::utils::{Reflectable, Reflector}; use dom::workerglobalscope::{WorkerGlobalScope, WorkerGlobalScopeHelpers}; @@ -22,11 +22,8 @@ use js::{JSCLASS_IS_GLOBAL, JSCLASS_IS_DOMJSCLASS}; use js::glue::{GetGlobalForObjectCrossCompartment}; use js::jsapi::{JSContext, JSObject}; use js::jsapi::{JS_GetClass}; -use js::jsval::ObjectOrNullValue; use url::Url; -use std::ptr; - /// A freely-copyable reference to a rooted global object. #[derive(Copy)] pub enum GlobalRef<'a> { @@ -189,12 +186,12 @@ pub fn global_object_for_js_object(obj: *mut JSObject) -> GlobalUnrooted { let global = GetGlobalForObjectCrossCompartment(obj); let clasp = JS_GetClass(global); assert!(((*clasp).flags & (JSCLASS_IS_DOMJSCLASS | JSCLASS_IS_GLOBAL)) != 0); - match FromJSValConvertible::from_jsval(ptr::null_mut(), ObjectOrNullValue(global), ()) { + match native_from_reflector_jsmanaged(global) { Ok(window) => return GlobalUnrooted::Window(window), Err(_) => (), } - match FromJSValConvertible::from_jsval(ptr::null_mut(), ObjectOrNullValue(global), ()) { + match native_from_reflector_jsmanaged(global) { Ok(worker) => return GlobalUnrooted::Worker(worker), Err(_) => (), }