diff options
author | Ms2ger <Ms2ger@gmail.com> | 2016-07-08 14:58:43 +0200 |
---|---|---|
committer | Ms2ger <Ms2ger@gmail.com> | 2016-07-12 13:06:47 +0200 |
commit | 7e7b97e8698f721ad602ec74768275b62538c471 (patch) | |
tree | 122666daff9314e06c2ba0e15b44ff95bb5da94e /components/script/dom/bindings/codegen | |
parent | f0c3543f53ac37dbd14741fba3678fdbd01343cc (diff) | |
download | servo-7e7b97e8698f721ad602ec74768275b62538c471.tar.gz servo-7e7b97e8698f721ad602ec74768275b62538c471.zip |
Allow [Pref] annotations on worker-exposed interfaces.
Servo does not have the same main-thread limitation as Gecko here.
Diffstat (limited to 'components/script/dom/bindings/codegen')
3 files changed, 29 insertions, 12 deletions
diff --git a/components/script/dom/bindings/codegen/parser/WebIDL.py b/components/script/dom/bindings/codegen/parser/WebIDL.py index 5795f9db767..acedc38ae5d 100644 --- a/components/script/dom/bindings/codegen/parser/WebIDL.py +++ b/components/script/dom/bindings/codegen/parser/WebIDL.py @@ -1239,12 +1239,6 @@ class IDLInterface(IDLObjectWithScope, IDLExposureMixins): alias, [member.location, m.location]) - if (self.getExtendedAttribute("Pref") and - self._exposureGlobalNames != set([self.parentScope.primaryGlobalName])): - raise WebIDLError("[Pref] used on an interface that is not %s-only" % - self.parentScope.primaryGlobalName, - [self.location]) - for attribute in ["CheckAnyPermissions", "CheckAllPermissions"]: if (self.getExtendedAttribute(attribute) and self._exposureGlobalNames != set([self.parentScope.primaryGlobalName])): @@ -3459,12 +3453,6 @@ class IDLInterfaceMember(IDLObjectWithIdentifier, IDLExposureMixins): IDLExposureMixins.finish(self, scope) def validate(self): - if (self.getExtendedAttribute("Pref") and - self.exposureSet != set([self._globalScope.primaryGlobalName])): - raise WebIDLError("[Pref] used on an interface member that is not " - "%s-only" % self._globalScope.primaryGlobalName, - [self.location]) - for attribute in ["CheckAnyPermissions", "CheckAllPermissions"]: if (self.getExtendedAttribute(attribute) and self.exposureSet != set([self._globalScope.primaryGlobalName])): diff --git a/components/script/dom/bindings/codegen/parser/pref-main-thread.patch b/components/script/dom/bindings/codegen/parser/pref-main-thread.patch new file mode 100644 index 00000000000..4e4f8945f60 --- /dev/null +++ b/components/script/dom/bindings/codegen/parser/pref-main-thread.patch @@ -0,0 +1,28 @@ +--- WebIDL.py ++++ WebIDL.py +@@ -1239,12 +1239,6 @@ class IDLInterface(IDLObjectWithScope, IDLExposureMixins): + alias, + [member.location, m.location]) + +- if (self.getExtendedAttribute("Pref") and +- self._exposureGlobalNames != set([self.parentScope.primaryGlobalName])): +- raise WebIDLError("[Pref] used on an interface that is not %s-only" % +- self.parentScope.primaryGlobalName, +- [self.location]) +- + for attribute in ["CheckAnyPermissions", "CheckAllPermissions"]: + if (self.getExtendedAttribute(attribute) and + self._exposureGlobalNames != set([self.parentScope.primaryGlobalName])): +@@ -3459,12 +3453,6 @@ class IDLInterfaceMember(IDLObjectWithIdentifier, IDLExposureMixins): + IDLExposureMixins.finish(self, scope) + + def validate(self): +- if (self.getExtendedAttribute("Pref") and +- self.exposureSet != set([self._globalScope.primaryGlobalName])): +- raise WebIDLError("[Pref] used on an interface member that is not " +- "%s-only" % self._globalScope.primaryGlobalName, +- [self.location]) +- + for attribute in ["CheckAnyPermissions", "CheckAllPermissions"]: + if (self.getExtendedAttribute(attribute) and + self.exposureSet != set([self._globalScope.primaryGlobalName])): diff --git a/components/script/dom/bindings/codegen/parser/update.sh b/components/script/dom/bindings/codegen/parser/update.sh index 43f873beb67..ac4be6c73fd 100755 --- a/components/script/dom/bindings/codegen/parser/update.sh +++ b/components/script/dom/bindings/codegen/parser/update.sh @@ -1,6 +1,7 @@ wget https://mxr.mozilla.org/mozilla-central/source/dom/bindings/parser/WebIDL.py?raw=1 -O WebIDL.py patch < abstract.patch patch < debug.patch +patch < pref-main-thread.patch wget https://hg.mozilla.org/mozilla-central/archive/tip.tar.gz/dom/bindings/parser/tests/ -O tests.tar.gz rm -r tests |