| 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..327012d120b18a9c56ded8e720f766d1772f3407 100755
|
| --- a/chrome/test/chromedriver/embed_mobile_devices_in_cpp.py
|
| +++ b/chrome/test/chromedriver/embed_mobile_devices_in_cpp.py
|
| @@ -5,18 +5,33 @@
|
|
|
| """Embeds standalone JavaScript snippets in C++ code.
|
|
|
| -The script requires the OverridesView file from WebKit that lists the known
|
| -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.
|
| +The script requires the devtools/front_end/toolbox/OverridesUI.js file from
|
| +WebKit that lists the known 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 +45,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 +56,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())
|
|
|