diff --git a/src/components/script/dom/bindings/codegen/CodegenRust.py b/src/components/script/dom/bindings/codegen/CodegenRust.py index afa0bcaa9e8..071f3815a86 100644 --- a/src/components/script/dom/bindings/codegen/CodegenRust.py +++ b/src/components/script/dom/bindings/codegen/CodegenRust.py @@ -2098,7 +2098,8 @@ class CGDefineDOMInterfaceMethod(CGAbstractMethod): def __init__(self, descriptor): assert descriptor.interface.hasInterfaceObject() args = [ - Argument('&JSRef', 'window'), + Argument('*mut JSContext', 'cx'), + Argument('*mut JSObject', 'global'), ] CGAbstractMethod.__init__(self, descriptor, 'DefineDOMInterface', 'void', args, pub=True) @@ -2107,8 +2108,6 @@ class CGDefineDOMInterfaceMethod(CGAbstractMethod): def definition_body(self): return CGGeneric("""\ -let cx = window.get_cx(); -let global = window.reflector().get_jsobject(); assert!(global.is_not_null()); assert!(GetProtoObject(cx, global, global).is_not_null());""") @@ -4267,7 +4266,8 @@ class CGDictionary(CGThing): class CGRegisterProtos(CGAbstractMethod): def __init__(self, config): arguments = [ - Argument('&JSRef', 'window'), + Argument('*mut JSContext', 'cx'), + Argument('*mut JSObject', 'global'), ] CGAbstractMethod.__init__(self, None, 'Register', 'void', arguments, unsafe=False, pub=True) @@ -4275,7 +4275,7 @@ class CGRegisterProtos(CGAbstractMethod): def definition_body(self): return CGList([ - CGGeneric("codegen::Bindings::%sBinding::DefineDOMInterface(window);" % desc.name) + CGGeneric("codegen::Bindings::%sBinding::DefineDOMInterface(cx, global);" % desc.name) for desc in self.config.getDescriptors(hasInterfaceObject=True, register=True) ], "\n") @@ -5303,8 +5303,8 @@ class GlobalGenRoots(): return CGImports(code, [], [ 'dom::bindings::codegen', 'dom::bindings::codegen::PrototypeList::proxies', - 'dom::bindings::js::{JS, JSRef}', - 'dom::window::Window', + 'js::jsapi::JSContext', + 'js::jsapi::JSObject', 'libc', ]) diff --git a/src/components/script/script_task.rs b/src/components/script/script_task.rs index c584d5735f8..800a2b13a03 100644 --- a/src/components/script/script_task.rs +++ b/src/components/script/script_task.rs @@ -549,7 +549,7 @@ impl ScriptTask { window.deref().init_browser_context(&*document); with_compartment((**cx).ptr, window.reflector().get_jsobject(), || { - RegisterBindings::Register(&*window); + RegisterBindings::Register(window.get_cx(), window.reflector().get_jsobject()); }); self.compositor.set_ready_state(Loading);