Merge html-office-public repo into src
[chromium-blink-merge.git] / chrome / test / chromedriver / embed_mobile_devices_in_cpp.py
blob2667014c95a5b775bfbf6a6de30163e5f7c0fef5
1 #!/usr/bin/env python
2 # Copyright 2014 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file.
6 """Embeds standalone JavaScript snippets in C++ code.
8 The script requires the OverridesView file from WebKit that lists the known
9 mobile devices to be passed in as the only argument. The list of known devices
10 will be written to a C-style string to be parsed with JSONReader.
11 """
13 import optparse
14 import os
15 import sys
17 import cpp_source
20 def main():
21 parser = optparse.OptionParser()
22 parser.add_option(
23 '', '--directory', type='string', default='.',
24 help='Path to directory where the cc/h files should be created')
25 options, args = parser.parse_args()
27 devices = '['
28 file_name = args[0]
29 inside_list = False
30 with open(file_name, 'r') as f:
31 for line in f:
32 if not inside_list:
33 if 'WebInspector.OverridesUI._phones = [' in line or \
34 'WebInspector.OverridesUI._tablets = [' in line:
35 inside_list = True
36 else:
37 if line.strip() == '];':
38 inside_list = False
39 continue
40 devices += line.strip()
42 devices += ']'
43 cpp_source.WriteSource('mobile_device_list',
44 'chrome/test/chromedriver/chrome',
45 options.directory, {'kMobileDevices': devices})
48 if __name__ == '__main__':
49 sys.exit(main())