Fix the parsing of the chromium HSTS preload list

Urg! The Chromium HSTS preload JSON file contains single line comments. Previously these were filtered out with a very simple regex that just looked for '//' and removed the line. Now the file has added a couple fields that have URLs in them that were erroneously removed and caused the JSON parsing to fail. This commit slightly complicates the regex to fix this specific problem.

If this happens again, it's likely worth it to figure out how to use a real parser to remove the comments.

servo/servo#8760
This commit is contained in:
Sam Gibson 2015-12-02 15:36:38 +11:00
parent a8cbc28643
commit 732ae5714f
2 changed files with 5288 additions and 56 deletions

View file

@ -251,7 +251,7 @@ class MachCommands(CommandBase):
# The chromium "json" has single line comments in it which, of course,
# are non-standard/non-valid json. Simply strip them out before parsing
content_json = re.sub(r'//.*$', '', content_decoded, flags=re.MULTILINE)
content_json = re.sub(r'(^|\s+)//.*$', '', content_decoded, flags=re.MULTILINE)
try:
pins_and_static_preloads = json.loads(content_json)

File diff suppressed because it is too large Load diff