diff options
author | Anthony Ramine <n.oxyde@gmail.com> | 2016-09-26 15:48:09 +0200 |
---|---|---|
committer | Anthony Ramine <n.oxyde@gmail.com> | 2016-10-06 20:59:08 +0200 |
commit | 5a42bb58f9da18426f1d5bb892ccf74525793e01 (patch) | |
tree | c6cc2144f8ffaa47c4714aa2ffa0a30f779fd686 /components/script/dom/bindings/codegen/parser | |
parent | b745866a4d16eeb5de5f05811b7c4e107d644397 (diff) | |
download | servo-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')
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 |