diff options
Diffstat (limited to 'components/script/dom/bindings/namespace.rs')
-rw-r--r-- | components/script/dom/bindings/namespace.rs | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/components/script/dom/bindings/namespace.rs b/components/script/dom/bindings/namespace.rs index 38055dea180..64b7b0b2626 100644 --- a/components/script/dom/bindings/namespace.rs +++ b/components/script/dom/bindings/namespace.rs @@ -1,17 +1,18 @@ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ //! Machinery to initialise namespace objects. -use dom::bindings::guard::Guard; -use dom::bindings::interface::{create_object, define_on_global_object}; -use js::jsapi::{HandleObject, JSClass, JSContext, JSFunctionSpec, MutableHandleObject}; -use libc; +use crate::dom::bindings::guard::Guard; +use crate::dom::bindings::interface::{create_object, define_on_global_object}; +use crate::script_runtime::JSContext; +use js::jsapi::{JSClass, JSFunctionSpec}; +use js::rust::{HandleObject, MutableHandleObject}; use std::ptr; /// The class of a namespace object. -#[derive(Copy, Clone)] +#[derive(Clone, Copy)] pub struct NamespaceObjectClass(JSClass); unsafe impl Sync for NamespaceObjectClass {} @@ -22,21 +23,24 @@ impl NamespaceObjectClass { NamespaceObjectClass(JSClass { name: name as *const _ as *const libc::c_char, flags: 0, - cOps: ptr::null_mut(), - reserved: [ptr::null_mut(); 3], + cOps: 0 as *mut _, + spec: ptr::null(), + ext: ptr::null(), + oOps: ptr::null(), }) } } /// Create a new namespace object. -pub unsafe fn create_namespace_object( - cx: *mut JSContext, - global: HandleObject, - proto: HandleObject, - class: &'static NamespaceObjectClass, - methods: &[Guard<&'static [JSFunctionSpec]>], - name: &[u8], - rval: MutableHandleObject) { - create_object(cx, proto, &class.0, methods, &[], &[], rval); +pub fn create_namespace_object( + cx: JSContext, + global: HandleObject, + proto: HandleObject, + class: &'static NamespaceObjectClass, + methods: &[Guard<&'static [JSFunctionSpec]>], + name: &[u8], + rval: MutableHandleObject, +) { + create_object(cx, global, proto, &class.0, methods, &[], &[], rval); define_on_global_object(cx, global, name, rval.handle()); } |