aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/codegen/parser/WebIDL.py
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2019-06-28 20:44:41 -0400
committerGitHub <noreply@github.com>2019-06-28 20:44:41 -0400
commit84786add227f2c0a675f4bcca708ac8a70011f6c (patch)
tree00546c477a7167a1aee9c4c4ac88e3cf4159cbdc /components/script/dom/bindings/codegen/parser/WebIDL.py
parent177b2a6fa9094ce725d50636abe76e8bd557c7dd (diff)
parent3c7ceff46d38d78971ca2d011d7c86a1835d787e (diff)
downloadservo-84786add227f2c0a675f4bcca708ac8a70011f6c.tar.gz
servo-84786add227f2c0a675f4bcca708ac8a70011f6c.zip
Auto merge of #23653 - Manishearth:nested, r=jdm
Improve support for nested dictionaries Fixes https://github.com/servo/servo/issues/23640 Some IDLs need `= null`, that's something that needs to be updated upstream too. After talking with @bzbarsky I realized that it was our IDLs which were incorrect, causing Options to appear where we don't want them to. In the media code we _do_ want Options. `= null` is the correct fix for that (and should be upstreamed). r? @jdm <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23653) <!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/bindings/codegen/parser/WebIDL.py')
-rw-r--r--components/script/dom/bindings/codegen/parser/WebIDL.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/components/script/dom/bindings/codegen/parser/WebIDL.py b/components/script/dom/bindings/codegen/parser/WebIDL.py
index 31692bd1a2e..df88cf120dd 100644
--- a/components/script/dom/bindings/codegen/parser/WebIDL.py
+++ b/components/script/dom/bindings/codegen/parser/WebIDL.py
@@ -4611,7 +4611,8 @@ class IDLArgument(IDLObjectWithIdentifier):
if ((self.type.isDictionary() or
self.type.isUnion() and self.type.unroll().hasDictionaryType()) and
- self.optional and not self.defaultValue and not self.variadic):
+ self.optional and not self.defaultValue and not self.variadic and
+ not self.dictionaryMember):
# Default optional non-variadic dictionary arguments to null,
# for simplicity, so the codegen doesn't have to special-case this.
self.defaultValue = IDLNullValue(self.location)