aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/codegen
diff options
context:
space:
mode:
authorMs2ger <Ms2ger@gmail.com>2016-07-08 14:58:43 +0200
committerMs2ger <Ms2ger@gmail.com>2016-07-12 13:06:47 +0200
commit7e7b97e8698f721ad602ec74768275b62538c471 (patch)
tree122666daff9314e06c2ba0e15b44ff95bb5da94e /components/script/dom/bindings/codegen
parentf0c3543f53ac37dbd14741fba3678fdbd01343cc (diff)
downloadservo-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')
-rw-r--r--components/script/dom/bindings/codegen/parser/WebIDL.py12
-rw-r--r--components/script/dom/bindings/codegen/parser/pref-main-thread.patch28
-rwxr-xr-xcomponents/script/dom/bindings/codegen/parser/update.sh1
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