aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/codegen/CodegenRust.py
diff options
context:
space:
mode:
authorAnthony Ramine <n.oxyde@gmail.com>2016-01-26 01:40:57 +0100
committerAnthony Ramine <n.oxyde@gmail.com>2016-02-25 15:15:44 +0100
commit2c4d5da86685537b550f05a6a142c6543320ab0f (patch)
tree6c32d0df6291a4a3597017eec62c8a23fbb9d55e /components/script/dom/bindings/codegen/CodegenRust.py
parent787c4e568d30192342a82788fad26bee5704ebc1 (diff)
downloadservo-2c4d5da86685537b550f05a6a142c6543320ab0f.tar.gz
servo-2c4d5da86685537b550f05a6a142c6543320ab0f.zip
Lazily-define standard ECMAScript classes
Diffstat (limited to 'components/script/dom/bindings/codegen/CodegenRust.py')
-rw-r--r--components/script/dom/bindings/codegen/CodegenRust.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py
index 27272370cc1..99d60e379b6 100644
--- a/components/script/dom/bindings/codegen/CodegenRust.py
+++ b/components/script/dom/bindings/codegen/CodegenRust.py
@@ -1768,17 +1768,21 @@ class CGDOMJSClass(CGThing):
def define(self):
args = {
"domClass": DOMClass(self.descriptor),
+ "enumerateHook": "None",
"finalizeHook": FINALIZE_HOOK_NAME,
"flags": "0",
"name": str_to_const_array(self.descriptor.interface.identifier.name),
"outerObjectHook": self.descriptor.outerObjectHook,
+ "resolveHook": "None",
"slots": "1",
"traceHook": TRACE_HOOK_NAME,
}
if self.descriptor.isGlobal():
assert not self.descriptor.weakReferenceable
+ args["enumerateHook"] = "Some(js::jsapi::JS_EnumerateStandardClasses)"
args["flags"] = "JSCLASS_IS_GLOBAL | JSCLASS_DOM_GLOBAL"
args["slots"] = "JSCLASS_GLOBAL_SLOT_COUNT + 1"
+ args["resolveHook"] = "Some(js::jsapi::JS_ResolveStandardClass)"
args["traceHook"] = "js::jsapi::JS_GlobalObjectTraceHook"
elif self.descriptor.weakReferenceable:
args["slots"] = "2"
@@ -1793,8 +1797,8 @@ static Class: DOMJSClass = DOMJSClass {
delProperty: None,
getProperty: None,
setProperty: None,
- enumerate: None,
- resolve: None,
+ enumerate: %(enumerateHook)s,
+ resolve: %(resolveHook)s,
convert: None,
finalize: Some(%(finalizeHook)s),
call: None,