Bug 1553018 part 6. Allow [Pref] annotations on dictionary members. r=edgar

Differential Revision: https://phabricator.services.mozilla.com/D32947

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Boris Zbarsky 2019-05-30 17:23:06 +00:00
Родитель a4f8e9b452
Коммит 7f4c22772f
2 изменённых файлов: 8 добавлений и 1 удалений

Просмотреть файл

@ -4580,7 +4580,8 @@ class IDLArgument(IDLObjectWithIdentifier):
elif identifier == "TreatNonCallableAsNull": elif identifier == "TreatNonCallableAsNull":
self._allowTreatNonCallableAsNull = True self._allowTreatNonCallableAsNull = True
elif (self.dictionaryMember and elif (self.dictionaryMember and
(identifier == "ChromeOnly" or identifier == "Func")): (identifier == "ChromeOnly" or identifier == "Func" or
identifier == "Pref")):
if not self.optional: if not self.optional:
raise WebIDLError("[%s] must not be used on a required " raise WebIDLError("[%s] must not be used on a required "
"dictionary member" % identifier, "dictionary member" % identifier,

Просмотреть файл

@ -1220,6 +1220,12 @@ dictionary DictWithConditionalMembers {
long funcControlledMember; long funcControlledMember;
[ChromeOnly, Func="nsGenericHTMLElement::LegacyTouchAPIEnabled"] [ChromeOnly, Func="nsGenericHTMLElement::LegacyTouchAPIEnabled"]
long chromeOnlyFuncControlledMember; long chromeOnlyFuncControlledMember;
// We need a pref name that's in StaticPrefList.h here.
[Pref="browser.dom.window.dump.enabled"]
long prefControlledMember;
[Pref="browser.dom.window.dump.enabled", ChromeOnly,
Func="TestFuncControlledMember"]
long chromeOnlyFuncAndPrefControlledMember;
}; };
interface TestIndexedGetterInterface { interface TestIndexedGetterInterface {