diff options
Diffstat (limited to 'components/script/dom/bindings/codegen/run.py')
-rw-r--r-- | components/script/dom/bindings/codegen/run.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/components/script/dom/bindings/codegen/run.py b/components/script/dom/bindings/codegen/run.py index 52840b1b1d3..2dee39814b2 100644 --- a/components/script/dom/bindings/codegen/run.py +++ b/components/script/dom/bindings/codegen/run.py @@ -5,10 +5,13 @@ import os import sys import json +import re SCRIPT_PATH = os.path.abspath(os.path.dirname(__file__)) SERVO_ROOT = os.path.abspath(os.path.join(SCRIPT_PATH, "..", "..", "..", "..", "..")) +FILTER_PATTERN = re.compile("// skip-unless ([A-Z_]+)\n") + def main(): os.chdir(os.path.join(os.path.dirname(__file__))) @@ -32,7 +35,14 @@ def main(): for webidl in webidls: filename = os.path.join(webidls_dir, webidl) with open(filename, "r", encoding="utf-8") as f: - parser.parse(f.read(), filename) + contents = f.read() + filter_match = FILTER_PATTERN.search(contents) + if filter_match: + env_var = filter_match.group(1) + if not os.environ.get(env_var): + continue + + parser.parse(contents, filename) add_css_properties_attributes(css_properties_json, parser) parser_results = parser.finish() |