aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/namespace.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/bindings/namespace.rs')
-rw-r--r--components/script/dom/bindings/namespace.rs38
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());
}