mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Auto merge of #22353 - jdm:runtime-parent, r=nox
Update rust-mozjs These changes adjust our uses of the rust-mozjs APIs to accommodate the changes in https://github.com/servo/rust-mozjs/pull/450. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #22342. - [x] There are tests for these changes <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22353) <!-- Reviewable:end -->
This commit is contained in:
commit
fb95f9df9c
11 changed files with 65 additions and 35 deletions
|
@ -2592,7 +2592,7 @@ class CGConstructorEnabled(CGAbstractMethod):
|
|||
return CGList((CGGeneric(cond) for cond in conditions), " &&\n")
|
||||
|
||||
|
||||
def CreateBindingJSObject(descriptor, parent=None):
|
||||
def CreateBindingJSObject(descriptor):
|
||||
assert not descriptor.isGlobal()
|
||||
create = "let raw = Box::into_raw(object);\nlet _rt = RootedTraceable::new(&*raw);\n"
|
||||
if descriptor.proxy:
|
||||
|
@ -2601,12 +2601,11 @@ let handler = RegisterBindings::PROXY_HANDLERS[PrototypeList::Proxies::%s as usi
|
|||
rooted!(in(cx) let private = PrivateValue(raw as *const libc::c_void));
|
||||
let obj = NewProxyObject(cx, handler,
|
||||
Handle::from_raw(UndefinedHandleValue),
|
||||
proto.get(), %s.get(),
|
||||
ptr::null_mut(), ptr::null_mut());
|
||||
proto.get());
|
||||
assert!(!obj.is_null());
|
||||
SetProxyReservedSlot(obj, 0, &private.get());
|
||||
rooted!(in(cx) let obj = obj);\
|
||||
""" % (descriptor.name, parent)
|
||||
""" % (descriptor.name)
|
||||
else:
|
||||
create += ("rooted!(in(cx) let obj = JS_NewObjectWithGivenProto(\n"
|
||||
" cx, &Class.base as *const JSClass, proto.handle()));\n"
|
||||
|
@ -2699,7 +2698,7 @@ class CGWrapMethod(CGAbstractMethod):
|
|||
|
||||
def definition_body(self):
|
||||
unforgeable = CopyUnforgeablePropertiesToInstance(self.descriptor)
|
||||
create = CreateBindingJSObject(self.descriptor, "scope")
|
||||
create = CreateBindingJSObject(self.descriptor)
|
||||
return CGGeneric("""\
|
||||
let scope = scope.reflector().get_jsobject();
|
||||
assert!(!scope.get().is_null());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue