mirror of
https://github.com/servo/servo.git
synced 2025-08-05 21:50:18 +01:00
Allow [Pref] annotations on worker-exposed interfaces.
Servo does not have the same main-thread limitation as Gecko here.
This commit is contained in:
parent
f0c3543f53
commit
7e7b97e869
3 changed files with 29 additions and 12 deletions
|
@ -1239,12 +1239,6 @@ class IDLInterface(IDLObjectWithScope, IDLExposureMixins):
|
||||||
alias,
|
alias,
|
||||||
[member.location, m.location])
|
[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"]:
|
for attribute in ["CheckAnyPermissions", "CheckAllPermissions"]:
|
||||||
if (self.getExtendedAttribute(attribute) and
|
if (self.getExtendedAttribute(attribute) and
|
||||||
self._exposureGlobalNames != set([self.parentScope.primaryGlobalName])):
|
self._exposureGlobalNames != set([self.parentScope.primaryGlobalName])):
|
||||||
|
@ -3459,12 +3453,6 @@ class IDLInterfaceMember(IDLObjectWithIdentifier, IDLExposureMixins):
|
||||||
IDLExposureMixins.finish(self, scope)
|
IDLExposureMixins.finish(self, scope)
|
||||||
|
|
||||||
def validate(self):
|
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"]:
|
for attribute in ["CheckAnyPermissions", "CheckAllPermissions"]:
|
||||||
if (self.getExtendedAttribute(attribute) and
|
if (self.getExtendedAttribute(attribute) and
|
||||||
self.exposureSet != set([self._globalScope.primaryGlobalName])):
|
self.exposureSet != set([self._globalScope.primaryGlobalName])):
|
||||||
|
|
|
@ -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])):
|
|
@ -1,6 +1,7 @@
|
||||||
wget https://mxr.mozilla.org/mozilla-central/source/dom/bindings/parser/WebIDL.py?raw=1 -O WebIDL.py
|
wget https://mxr.mozilla.org/mozilla-central/source/dom/bindings/parser/WebIDL.py?raw=1 -O WebIDL.py
|
||||||
patch < abstract.patch
|
patch < abstract.patch
|
||||||
patch < debug.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
|
wget https://hg.mozilla.org/mozilla-central/archive/tip.tar.gz/dom/bindings/parser/tests/ -O tests.tar.gz
|
||||||
rm -r tests
|
rm -r tests
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue