diff options
Diffstat (limited to 'components/script/dom/bindings/codegen/parser/legacy-unenumerable-named-properties.patch')
-rw-r--r-- | components/script/dom/bindings/codegen/parser/legacy-unenumerable-named-properties.patch | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/components/script/dom/bindings/codegen/parser/legacy-unenumerable-named-properties.patch b/components/script/dom/bindings/codegen/parser/legacy-unenumerable-named-properties.patch new file mode 100644 index 00000000000..3472d054940 --- /dev/null +++ b/components/script/dom/bindings/codegen/parser/legacy-unenumerable-named-properties.patch @@ -0,0 +1,25 @@ +--- WebIDL.py ++++ WebIDL.py +@@ -1069,6 +1069,12 @@ class IDLInterface(IDLObjectWithScope, IDLExposureMixins): + + specialMembersSeen[memberType] = member + ++ if (self.getExtendedAttribute("LegacyUnenumerableNamedProperties") and ++ "named getters" not in specialMembersSeen): ++ raise WebIDLError("[LegacyUnenumerableNamedProperties] used on an interface " ++ "without a named getter", ++ [self.location]) ++ + if self._isOnGlobalProtoChain: + # Make sure we have no named setters, creators, or deleters + for memberType in ["setter", "creator", "deleter"]: +@@ -1417,7 +1423,8 @@ class IDLInterface(IDLObjectWithScope, IDLExposureMixins): + identifier == "UnsafeInPrerendering" or + identifier == "LegacyEventInit" or + identifier == "ProbablyShortLivingObject" or +- identifier == "Abstract"): ++ identifier == "Abstract" or ++ identifier == "LegacyUnenumerableNamedProperties"): + # Known extended attributes that do not take values + if not attr.noArguments(): + raise WebIDLError("[%s] must take no arguments" % identifier, |