Chromium Code Reviews| Index: chrome/test/chromedriver/embed_mobile_devices_in_cpp.py |
| diff --git a/chrome/test/chromedriver/embed_mobile_devices_in_cpp.py b/chrome/test/chromedriver/embed_mobile_devices_in_cpp.py |
| index 2667014c95a5b775bfbf6a6de30163e5f7c0fef5..2b0c0083bbf88377759f5ee15c78f0e2294c3db7 100755 |
| --- a/chrome/test/chromedriver/embed_mobile_devices_in_cpp.py |
| +++ b/chrome/test/chromedriver/embed_mobile_devices_in_cpp.py |
| @@ -5,18 +5,32 @@ |
| """Embeds standalone JavaScript snippets in C++ code. |
| -The script requires the OverridesView file from WebKit that lists the known |
| +The script requires the OverridesUI file from WebKit that lists the known |
|
samuong
2015/01/22 20:21:48
nit: rather than say "the OverridesUI file from We
|
| mobile devices to be passed in as the only argument. The list of known devices |
| will be written to a C-style string to be parsed with JSONReader. |
| """ |
| import optparse |
| import os |
| +import re |
| +import subprocess |
| import sys |
| import cpp_source |
| +def quotizeKeys(s, keys): |
| + """Returns the string s with each instance of each key wrapped in quotes. |
| + |
| + Args: |
| + s: a string containing keys that need to be wrapped in quotes. |
| + keys: an iterable of keys to be wrapped in quotes in the string. |
| + """ |
| + for key in keys: |
| + s = re.sub('%s: ' % key, '"%s": ' % key, s) |
| + return s |
| + |
| + |
| def main(): |
| parser = optparse.OptionParser() |
| parser.add_option( |
| @@ -30,8 +44,10 @@ def main(): |
| with open(file_name, 'r') as f: |
| for line in f: |
| if not inside_list: |
| - if 'WebInspector.OverridesUI._phones = [' in line or \ |
| - 'WebInspector.OverridesUI._tablets = [' in line: |
| + if 'WebInspector.OverridesUI._phones = [' in line: |
| + inside_list = True |
| + if 'WebInspector.OverridesUI._tablets = [' in line: |
| + devices += ',' |
| inside_list = True |
| else: |
| if line.strip() == '];': |
| @@ -39,11 +55,19 @@ def main(): |
| continue |
| devices += line.strip() |
| + output_dir = 'chrome/test/chromedriver/chrome' |
| devices += ']' |
| + devices = quotizeKeys(devices, |
| + ['title', 'width', 'height', 'deviceScaleFactor', |
| + 'userAgent', 'touch', 'mobile']) |
| cpp_source.WriteSource('mobile_device_list', |
| - 'chrome/test/chromedriver/chrome', |
| + output_dir, |
| options.directory, {'kMobileDevices': devices}) |
| + clang_format = ['clang-format', '-i'] |
| + subprocess.Popen(clang_format + ['%s/mobile_device_list.cc' % output_dir]) |
| + subprocess.Popen(clang_format + ['%s/mobile_device_list.h' % output_dir]) |
| + |
| if __name__ == '__main__': |
| sys.exit(main()) |