From f014f15d4eaeb52e38faee15dc9a4d0f700d1d7c Mon Sep 17 00:00:00 2001 From: Kunal Mohan Date: Fri, 29 May 2020 19:46:35 +0530 Subject: [PATCH] Allow sequence of nullable dictionary items in webidl of type "sequence x" --- components/script/dom/bindings/codegen/CodegenRust.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index 597e5611f747..de97e2c9ea9f 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -1134,7 +1134,7 @@ def wrapObjectTemplate(templateBody, nullValue, isDefinitelyObject, type, if type.isDictionary(): # There are no nullable dictionaries - assert not type.nullable() + assert not type.nullable() or (isMember and isMember != "Dictionary") typeName = "%s::%s" % (CGDictionary.makeModuleName(type.inner), CGDictionary.makeDictionaryName(type.inner)) @@ -6645,7 +6645,10 @@ def membersNeedTracing(self): @staticmethod def makeDictionaryName(dictionary): - return dictionary.identifier.name + if isinstance(dictionary, IDLWrapperType): + return CGDictionary.makeDictionaryName(dictionary.inner) + else: + return dictionary.identifier.name def makeClassName(self, dictionary): return self.makeDictionaryName(dictionary)