aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/codegen/GenerateCSS2PropertiesWebIDL.py
diff options
context:
space:
mode:
authorJack Moffitt <jack@metajack.im>2014-08-28 09:34:23 -0600
committerJack Moffitt <jack@metajack.im>2014-09-08 20:21:42 -0600
commitc6ab60dbfc6da7b4f800c9e40893c8b58413960c (patch)
treed1d74076cf7fa20e4f77ec7cb82cae98b67362cb /components/script/dom/bindings/codegen/GenerateCSS2PropertiesWebIDL.py
parentdb2f642c32fc5bed445bb6f2e45b0f6f0b4342cf (diff)
downloadservo-c6ab60dbfc6da7b4f800c9e40893c8b58413960c.tar.gz
servo-c6ab60dbfc6da7b4f800c9e40893c8b58413960c.zip
Cargoify servo
Diffstat (limited to 'components/script/dom/bindings/codegen/GenerateCSS2PropertiesWebIDL.py')
-rw-r--r--components/script/dom/bindings/codegen/GenerateCSS2PropertiesWebIDL.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/components/script/dom/bindings/codegen/GenerateCSS2PropertiesWebIDL.py b/components/script/dom/bindings/codegen/GenerateCSS2PropertiesWebIDL.py
new file mode 100644
index 00000000000..1bb50afaee7
--- /dev/null
+++ b/components/script/dom/bindings/codegen/GenerateCSS2PropertiesWebIDL.py
@@ -0,0 +1,26 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this file,
+# You can obtain one at http://mozilla.org/MPL/2.0/.
+
+import sys
+import string
+
+propList = eval(sys.stdin.read())
+props = ""
+for [prop, pref] in propList:
+ extendedAttrs = ["Throws", "TreatNullAs=EmptyString"]
+ if pref is not "":
+ extendedAttrs.append("Pref=%s" % pref)
+ if not prop.startswith("Moz"):
+ prop = prop[0].lower() + prop[1:]
+ # Unfortunately, even some of the getters here are fallible
+ # (e.g. on nsComputedDOMStyle).
+ props += " [%s] attribute DOMString %s;\n" % (", ".join(extendedAttrs),
+ prop)
+
+idlFile = open(sys.argv[1], "r");
+idlTemplate = idlFile.read();
+idlFile.close();
+
+print ("/* THIS IS AN AUTOGENERATED FILE. DO NOT EDIT */\n\n" +
+ string.Template(idlTemplate).substitute({ "props": props }))