aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/codegen
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/bindings/codegen')
-rw-r--r--components/script/dom/bindings/codegen/CodegenRust.py36
-rw-r--r--components/script/dom/bindings/codegen/Configuration.py2
2 files changed, 27 insertions, 11 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py
index 6676e977737..ad53b2268b4 100644
--- a/components/script/dom/bindings/codegen/CodegenRust.py
+++ b/components/script/dom/bindings/codegen/CodegenRust.py
@@ -59,6 +59,20 @@ def toStringBool(arg):
def toBindingNamespace(arg):
+ """
+ Namespaces are *_Bindings
+
+ actual path is `codegen::Bindings::{toBindingModuleFile(name)}::{toBindingNamespace(name)}`
+ """
+ return re.sub("((_workers)?$)", "_Binding\\1", MakeNativeName(arg))
+
+
+def toBindingModuleFile(arg):
+ """
+ Module files are *Bindings
+
+ actual path is `codegen::Bindings::{toBindingModuleFile(name)}::{toBindingNamespace(name)}`
+ """
return re.sub("((_workers)?$)", "Binding\\1", MakeNativeName(arg))
@@ -733,7 +747,8 @@ def getJSToNativeConversionInfo(type, descriptorProvider, failureCode=None,
enum,
getEnumValueName(defaultValue.value))
else:
- raise("We don't currently support default values that aren't null, boolean or default dictionary")
+ raise NotImplementedError("We don't currently support default values that aren't \
+ null, boolean or default dictionary")
elif dictionaries:
if defaultValue:
assert isinstance(defaultValue, IDLDefaultDictionaryValue)
@@ -2877,7 +2892,7 @@ assert!(%(copyFunc)s(*cx, %(obj)s.handle(), unforgeable_holder.handle()));
class CGWrapMethod(CGAbstractMethod):
"""
- Class that generates the FooBinding::Wrap function for non-callback
+ Class that generates the Foo_Binding::Wrap function for non-callback
interfaces.
"""
def __init__(self, descriptor):
@@ -2977,7 +2992,7 @@ DomRoot::from_ref(&*root)\
class CGWrapGlobalMethod(CGAbstractMethod):
"""
- Class that generates the FooBinding::Wrap function for global interfaces.
+ Class that generates the Foo_Binding::Wrap function for global interfaces.
"""
def __init__(self, descriptor, properties):
assert not descriptor.interface.isCallback()
@@ -7135,10 +7150,10 @@ class CGRegisterProxyHandlersMethod(CGAbstractMethod):
def definition_body(self):
return CGList([
CGGeneric("proxy_handlers::%s.store(\n"
- " Bindings::%s::DefineProxyHandler() as *mut _,\n"
+ " Bindings::%s::%s::DefineProxyHandler() as *mut _,\n"
" std::sync::atomic::Ordering::Release,\n"
");"
- % (desc.name, '::'.join([desc.name + 'Binding'] * 2)))
+ % (desc.name, toBindingModuleFile(desc.name), toBindingNamespace(desc.name)))
for desc in self.descriptors
], "\n")
@@ -8053,12 +8068,13 @@ class GlobalGenRoots():
def InterfaceObjectMapData(config):
pairs = []
for d in config.getDescriptors(hasInterfaceObject=True, isInline=False):
- binding = toBindingNamespace(d.name)
- pairs.append((d.name, binding, binding))
+ binding_ns = toBindingNamespace(d.name)
+ binding_mod = toBindingModuleFile(d.name)
+ pairs.append((d.name, binding_mod, binding_ns))
for alias in d.interface.legacyWindowAliases:
- pairs.append((alias, binding, binding))
+ pairs.append((alias, binding_mod, binding_ns))
for ctor in d.interface.legacyFactoryFunctions:
- pairs.append((ctor.identifier.name, binding, binding))
+ pairs.append((ctor.identifier.name, binding_mod, binding_ns))
pairs.sort(key=operator.itemgetter(0))
mappings = [
CGGeneric('"%s": "codegen::Bindings::%s::%s::DefineDOMInterface"' % pair)
@@ -8126,7 +8142,7 @@ class GlobalGenRoots():
return getModuleFromObject(d).split('::')[-1]
descriptors = config.getDescriptors(register=True, isIteratorInterface=False)
- descriptors = (set(toBindingNamespace(d.name) for d in descriptors)
+ descriptors = (set(toBindingModuleFile(d.name) for d in descriptors)
| set(leafModule(d) for d in config.callbacks)
| set(leafModule(d) for d in config.getDictionaries()))
curr = CGList([CGGeneric("pub mod %s;\n" % name) for name in sorted(descriptors)])
diff --git a/components/script/dom/bindings/codegen/Configuration.py b/components/script/dom/bindings/codegen/Configuration.py
index aa32093772f..f15b003ac58 100644
--- a/components/script/dom/bindings/codegen/Configuration.py
+++ b/components/script/dom/bindings/codegen/Configuration.py
@@ -232,7 +232,7 @@ class Descriptor(DescriptorProvider):
self.register = desc.get('register', True)
self.path = desc.get('path', pathDefault)
self.inRealmMethods = [name for name in desc.get('inRealms', [])]
- self.bindingPath = 'crate::dom::bindings::codegen::Bindings::%s' % ('::'.join([ifaceName + 'Binding'] * 2))
+ self.bindingPath = f"crate::dom::bindings::codegen::Bindings::{ifaceName}Binding::{ifaceName}_Binding"
self.outerObjectHook = desc.get('outerObjectHook', 'None')
self.proxy = False
self.weakReferenceable = desc.get('weakReferenceable', False)