aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/codegen/parser
diff options
context:
space:
mode:
authorAnthony Ramine <n.oxyde@gmail.com>2016-09-26 15:48:09 +0200
committerAnthony Ramine <n.oxyde@gmail.com>2016-10-06 20:59:08 +0200
commit5a42bb58f9da18426f1d5bb892ccf74525793e01 (patch)
treec6cc2144f8ffaa47c4714aa2ffa0a30f779fd686 /components/script/dom/bindings/codegen/parser
parentb745866a4d16eeb5de5f05811b7c4e107d644397 (diff)
downloadservo-5a42bb58f9da18426f1d5bb892ccf74525793e01.tar.gz
servo-5a42bb58f9da18426f1d5bb892ccf74525793e01.zip
Implement [Inline] interfaces
Inline interfaces just appear as a Rust type and in the TypeId hierarchy. They are completely invisible on the JS side.
Diffstat (limited to 'components/script/dom/bindings/codegen/parser')
-rw-r--r--components/script/dom/bindings/codegen/parser/WebIDL.py3
-rw-r--r--components/script/dom/bindings/codegen/parser/inline.patch12
-rwxr-xr-xcomponents/script/dom/bindings/codegen/parser/update.sh1
3 files changed, 15 insertions, 1 deletions
diff --git a/components/script/dom/bindings/codegen/parser/WebIDL.py b/components/script/dom/bindings/codegen/parser/WebIDL.py
index 2894bbeb82e..dc9fa036141 100644
--- a/components/script/dom/bindings/codegen/parser/WebIDL.py
+++ b/components/script/dom/bindings/codegen/parser/WebIDL.py
@@ -1695,7 +1695,8 @@ class IDLInterface(IDLInterfaceOrNamespace):
identifier == "ProbablyShortLivingObject" or
identifier == "LegacyUnenumerableNamedProperties" or
identifier == "NonOrdinaryGetPrototypeOf" or
- identifier == "Abstract"):
+ identifier == "Abstract" or
+ identifier == "Inline"):
# Known extended attributes that do not take values
if not attr.noArguments():
raise WebIDLError("[%s] must take no arguments" % identifier,
diff --git a/components/script/dom/bindings/codegen/parser/inline.patch b/components/script/dom/bindings/codegen/parser/inline.patch
new file mode 100644
index 00000000000..5d1056d2b58
--- /dev/null
+++ b/components/script/dom/bindings/codegen/parser/inline.patch
@@ -0,0 +1,12 @@
+--- WebIDL.py
++++ WebIDL.py
+@@ -1695,7 +1695,8 @@ class IDLInterface(IDLInterfaceOrNamespace):
+ identifier == "ProbablyShortLivingObject" or
+ identifier == "LegacyUnenumerableNamedProperties" or
+ identifier == "NonOrdinaryGetPrototypeOf" or
+- identifier == "Abstract"):
++ identifier == "Abstract" or
++ identifier == "Inline"):
+ # Known extended attributes that do not take values
+ if not attr.noArguments():
+ raise WebIDLError("[%s] must take no arguments" % identifier, \ No newline at end of file
diff --git a/components/script/dom/bindings/codegen/parser/update.sh b/components/script/dom/bindings/codegen/parser/update.sh
index 6bf56cead30..213aba6df89 100755
--- a/components/script/dom/bindings/codegen/parser/update.sh
+++ b/components/script/dom/bindings/codegen/parser/update.sh
@@ -4,6 +4,7 @@ patch < debug.patch
patch < pref-main-thread.patch
patch < callback-location.patch
patch < union-typedef.patch
+patch < inline.patch
wget https://hg.mozilla.org/mozilla-central/archive/tip.tar.gz/dom/bindings/parser/tests/ -O tests.tar.gz
rm -r tests