Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3456)

Unified Diff: chrome/test/chromedriver/embed_mobile_devices_in_cpp.py

Issue 749353003: [chromedriver] Fix mobile device embedding script (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Adjust comment text Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/test/chromedriver/cpp_source.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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())
« no previous file with comments | « chrome/test/chromedriver/cpp_source.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698