From af380c27175270c741cc4e267bb0da3b50994e8b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 3 Jan 2017 17:44:55 -0800 Subject: Fix JS_ObjectIsDate() call in webidl codegen. We were missing the import, and the prototype of the function has since changed. Partial fix for #10675 --- components/script/dom/bindings/codegen/CodegenRust.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'components/script/dom/bindings/codegen/CodegenRust.py') diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index 21573cf4bea..19d279cc71e 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -467,7 +467,11 @@ class CGMethodCall(CGThing): # Check for Date objects # XXXbz Do we need to worry about security wrappers around the Date? - pickFirstSignature("%s.get().is_object() && JS_ObjectIsDate(cx, &%s.get().to_object())" % + pickFirstSignature("%s.get().is_object() && " + "{ rooted!(in(cx) let obj = %s.get().to_object()); " + "let mut is_date = false; " + "assert!(JS_ObjectIsDate(cx, obj.handle(), &mut is_date)); " + "is_date }" % (distinguishingArg, distinguishingArg), lambda s: (s[1][distinguishingIndex].type.isDate() or s[1][distinguishingIndex].type.isObject())) @@ -5468,6 +5472,7 @@ def generate_imports(config, cgthings, descriptors, callbacks=None, dictionaries 'js::jsapi::JS_NewObject', 'js::jsapi::JS_NewObjectWithGivenProto', 'js::jsapi::JS_NewObjectWithoutMetadata', + 'js::jsapi::JS_ObjectIsDate', 'js::jsapi::JS_SetImmutablePrototype', 'js::jsapi::JS_SetProperty', 'js::jsapi::JS_SetReservedSlot', -- cgit v1.2.3