aboutsummaryrefslogtreecommitdiffstats
path: root/components/script_bindings/codegen/CodegenRust.py
diff options
context:
space:
mode:
Diffstat (limited to 'components/script_bindings/codegen/CodegenRust.py')
-rw-r--r--components/script_bindings/codegen/CodegenRust.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/components/script_bindings/codegen/CodegenRust.py b/components/script_bindings/codegen/CodegenRust.py
index c3e6fe2ee5e..107e047ea3b 100644
--- a/components/script_bindings/codegen/CodegenRust.py
+++ b/components/script_bindings/codegen/CodegenRust.py
@@ -2972,7 +2972,8 @@ class CGConstructorEnabled(CGAbstractMethod):
'ConstructorEnabled', 'bool',
[Argument("SafeJSContext", "aCx"),
Argument("HandleObject", "aObj")],
- templateArgs=['D: DomTypes'])
+ templateArgs=['D: DomTypes'],
+ pub=True)
def definition_body(self):
conditions = []
@@ -8531,8 +8532,7 @@ class GlobalGenRoots():
def InterfaceObjectMap(config):
mods = [
"crate::dom::bindings::codegen",
- "crate::script_runtime::JSContext",
- "js::rust::HandleObject",
+ "script_bindings::interfaces::Interface",
]
imports = CGList([CGGeneric(f"use {mod};") for mod in mods], "\n")
@@ -8555,9 +8555,13 @@ class GlobalGenRoots():
for ctor in d.interface.legacyFactoryFunctions:
pairs.append((ctor.identifier.name, binding_mod, binding_ns))
pairs.sort(key=operator.itemgetter(0))
+
+ def bindingPath(pair):
+ return f'codegen::Bindings::{pair[1]}::{pair[2]}'
+
mappings = [
- CGGeneric(f'"{pair[0]}": "codegen::Bindings::{pair[1]}'
- f'::{pair[2]}::DefineDOMInterface::<crate::DomTypeHolder>"')
+ CGGeneric(f'"{pair[0]}": ["{bindingPath(pair)}::DefineDOMInterface::<crate::DomTypeHolder>", '
+ f'"{bindingPath(pair)}::ConstructorEnabled::<crate::DomTypeHolder>"]')
for pair in pairs
]
return CGWrapper(