aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/codegen/Configuration.py
diff options
context:
space:
mode:
authorSamson <16504129+sagudev@users.noreply.github.com>2023-09-30 14:30:12 +0200
committerGitHub <noreply@github.com>2023-09-30 12:30:12 +0000
commitddc47aa56b2c59911b7fec018d7ae89bf2a77bee (patch)
tree754019c50c36ec2a59dcf861036d6c624490fb32 /components/script/dom/bindings/codegen/Configuration.py
parentebd41d41017ee9727eb8417a0a01237b75f3e9c4 (diff)
downloadservo-ddc47aa56b2c59911b7fec018d7ae89bf2a77bee.tar.gz
servo-ddc47aa56b2c59911b7fec018d7ae89bf2a77bee.zip
Codegen support multiple interfaces in single webidl file & WebGPU single webidl (#30448)
* Codegen support multiple interfaces in single webidl file * Merge GPU*.webidl into WebGPU.webidl * Update gpu files to use WebGPUBinding module file
Diffstat (limited to 'components/script/dom/bindings/codegen/Configuration.py')
-rw-r--r--components/script/dom/bindings/codegen/Configuration.py18
1 files changed, 16 insertions, 2 deletions
diff --git a/components/script/dom/bindings/codegen/Configuration.py b/components/script/dom/bindings/codegen/Configuration.py
index f15b003ac58..0b113c73bd4 100644
--- a/components/script/dom/bindings/codegen/Configuration.py
+++ b/components/script/dom/bindings/codegen/Configuration.py
@@ -364,6 +364,17 @@ class Descriptor(DescriptorProvider):
config.maxProtoChainLength = max(config.maxProtoChainLength,
len(self.prototypeChain))
+ def maybeGetSuperModule(self):
+ """
+ Returns name of super module if self is part of it
+ """
+ filename = getIdlFileName(self.interface)
+ # if interface name is not same as webidl file
+ # webidl is super module for interface
+ if filename.lower() != self.interface.identifier.name.lower() and not self.interface.isIteratorInterface():
+ return filename
+ return None
+
def binaryNameFor(self, name):
return self._binaryNames.get(name, name)
@@ -459,9 +470,12 @@ def MakeNativeName(name):
return name[0].upper() + name[1:]
+def getIdlFileName(object):
+ return os.path.basename(object.location.filename()).split('.webidl')[0]
+
+
def getModuleFromObject(object):
- return ('crate::dom::bindings::codegen::Bindings::'
- + os.path.basename(object.location.filename()).split('.webidl')[0] + 'Binding')
+ return ('crate::dom::bindings::codegen::Bindings::' + getIdlFileName(object) + 'Binding')
def getTypesFromDescriptor(descriptor):