diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index baaf2b4d8cb3..facc68b42b33 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -1995,7 +1995,7 @@ def define(self): elif self.descriptor.weakReferenceable: args["slots"] = "2" return """\ -static CLASS_OPS: js::jsapi::ClassOps = js::jsapi::ClassOps { +static CLASS_OPS: js::jsapi::JSClassOps = js::jsapi::JSClassOps { addProperty: None, delProperty: None, getProperty: None, @@ -2011,15 +2011,13 @@ def define(self): }; static Class: DOMJSClass = DOMJSClass { - base: js::jsapi::Class { + base: js::jsapi::JSClass { name: %(name)s as *const u8 as *const libc::c_char, flags: JSCLASS_IS_DOMJSCLASS | %(flags)s | (((%(slots)s) & JSCLASS_RESERVED_SLOTS_MASK) << JSCLASS_RESERVED_SLOTS_SHIFT) /* JSCLASS_HAS_RESERVED_SLOTS(%(slots)s) */, cOps: &CLASS_OPS, - spec: ptr::null(), - ext: ptr::null(), - oOps: ptr::null(), + reserved: [0 as *mut _; 3], }, dom_class: %(domClass)s };""" % args @@ -2391,7 +2389,7 @@ def CreateBindingJSObject(descriptor, parent=None): """ % (descriptor.name, parent) else: create += ("rooted!(in(cx) let obj = JS_NewObjectWithGivenProto(\n" - " cx, &Class.base as *const js::jsapi::Class as *const JSClass, proto.handle()));\n" + " cx, &Class.base as *const JSClass, proto.handle()));\n" "assert!(!obj.is_null());\n" "\n" "JS_SetReservedSlot(obj.get(), DOM_OBJECT_SLOT,\n" @@ -2530,7 +2528,7 @@ def definition_body(self): rooted!(in(cx) let mut obj = ptr::null_mut()); create_global_object( cx, - &*(&Class.base as *const js::jsapi::Class as *const _), + &Class.base, raw as *const libc::c_void, _trace, obj.handle_mut()); @@ -2842,7 +2840,7 @@ def defineAliasesFor(m): holderClass = "ptr::null()" holderProto = "HandleObject::null()" else: - holderClass = "&Class.base as *const js::jsapi::Class as *const JSClass" + holderClass = "&Class.base as *const JSClass" holderProto = "prototype.handle()" code.append(CGGeneric(""" rooted!(in(cx) let mut unforgeable_holder = ptr::null_mut()); @@ -5205,7 +5203,7 @@ class CGClassFinalizeHook(CGAbstractClassHook): A hook for finalize, used to release our native object. """ def __init__(self, descriptor): - args = [Argument('*mut FreeOp', '_fop'), Argument('*mut JSObject', 'obj')] + args = [Argument('*mut JSFreeOp', '_fop'), Argument('*mut JSObject', 'obj')] CGAbstractClassHook.__init__(self, descriptor, FINALIZE_HOOK_NAME, 'void', args) @@ -5326,7 +5324,7 @@ def generate_imports(config, cgthings, descriptors, callbacks=None, dictionaries 'js::{JS_CALLEE, JSCLASS_GLOBAL_SLOT_COUNT}', 'js::{JSCLASS_IS_DOMJSCLASS, JSCLASS_IS_GLOBAL, JSCLASS_RESERVED_SLOTS_MASK}', 'js::error::throw_type_error', - 'js::jsapi::{AutoIdVector, Call, CallArgs, FreeOp, GetPropertyKeys}', + 'js::jsapi::{AutoIdVector, Call, CallArgs, GetPropertyKeys}', 'js::jsapi::{GetWellKnownSymbol, Handle, HandleId, HandleObject, HandleValue}', 'js::jsapi::{HandleValueArray, INTERNED_STRING_TO_JSID, IsCallable}', 'js::jsapi::{JS_AtomizeAndPinString, JS_CallFunctionValue, JS_CopyPropertiesFrom}', diff --git a/components/script/dom/bindings/utils.rs b/components/script/dom/bindings/utils.rs index 030584c27555..32ffe4109ae7 100644 --- a/components/script/dom/bindings/utils.rs +++ b/components/script/dom/bindings/utils.rs @@ -100,7 +100,7 @@ unsafe impl Sync for DOMClass {} #[derive(Copy)] pub struct DOMJSClass { /// The actual JSClass. - pub base: js::jsapi::Class, + pub base: js::jsapi::JSClass, /// Associated data for DOM object reflectors. pub dom_class: DOMClass, } diff --git a/components/script/dom/browsingcontext.rs b/components/script/dom/browsingcontext.rs index 878d376ca660..18fbe914cef9 100644 --- a/components/script/dom/browsingcontext.rs +++ b/components/script/dom/browsingcontext.rs @@ -18,11 +18,13 @@ use dom::window::Window; use js::JSCLASS_IS_GLOBAL; use js::glue::{CreateWrapperProxyHandler, ProxyTraps, NewWindowProxy}; use js::glue::{GetProxyPrivate, SetProxyExtra, GetProxyExtra}; -use js::jsapi::{Handle, HandleId, HandleObject, HandleValue, JSAutoCompartment}; -use js::jsapi::{JSContext, JSPROP_READONLY, JSErrNum, JSObject, PropertyDescriptor, JS_DefinePropertyById}; -use js::jsapi::{JS_ForwardGetPropertyTo, JS_ForwardSetPropertyTo, JS_GetClass, JSTracer, FreeOp}; -use js::jsapi::{JS_GetOwnPropertyDescriptorById, JS_HasPropertyById, MutableHandle}; -use js::jsapi::{MutableHandleObject, MutableHandleValue, ObjectOpResult}; +use js::jsapi::{Handle, HandleId, HandleObject, HandleValue}; +use js::jsapi::{JSAutoCompartment, JSContext, JSErrNum, JSFreeOp, JSObject}; +use js::jsapi::{JSPROP_READONLY, JSTracer, JS_DefinePropertyById}; +use js::jsapi::{JS_ForwardGetPropertyTo, JS_ForwardSetPropertyTo, JS_GetClass}; +use js::jsapi::{JS_GetOwnPropertyDescriptorById, JS_HasPropertyById}; +use js::jsapi::{MutableHandle, MutableHandleObject, MutableHandleValue}; +use js::jsapi::{ObjectOpResult, PropertyDescriptor}; use js::jsval::{UndefinedValue, PrivateValue}; use msg::constellation_msg::{PipelineId, SubpageId}; use std::cell::Cell; @@ -409,7 +411,7 @@ static PROXY_HANDLER: ProxyTraps = ProxyTraps { }; #[allow(unsafe_code)] -unsafe extern fn finalize(_fop: *mut FreeOp, obj: *mut JSObject) { +unsafe extern fn finalize(_fop: *mut JSFreeOp, obj: *mut JSObject) { let this = GetProxyExtra(obj, 0).to_private() as *mut BrowsingContext; assert!(!this.is_null()); let _ = Box::from_raw(this); diff --git a/components/servo/Cargo.lock b/components/servo/Cargo.lock index 20b8ba925870..12a5a76b4c28 100644 --- a/components/servo/Cargo.lock +++ b/components/servo/Cargo.lock @@ -1086,7 +1086,7 @@ dependencies = [ [[package]] name = "js" version = "0.1.3" -source = "git+https://github.com/servo/rust-mozjs#a4a693bf41fc67e839f3a5e8219d872f5c675b5f" +source = "git+https://github.com/servo/rust-mozjs#9a200eab19b0035a0a1634ef527058be4738a0f6" dependencies = [ "cmake 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/ports/cef/Cargo.lock b/ports/cef/Cargo.lock index 0ad4c0d05bd2..bf078c07ee11 100644 --- a/ports/cef/Cargo.lock +++ b/ports/cef/Cargo.lock @@ -994,7 +994,7 @@ dependencies = [ [[package]] name = "js" version = "0.1.3" -source = "git+https://github.com/servo/rust-mozjs#a4a693bf41fc67e839f3a5e8219d872f5c675b5f" +source = "git+https://github.com/servo/rust-mozjs#9a200eab19b0035a0a1634ef527058be4738a0f6" dependencies = [ "cmake 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",