OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 """Archives or replays webpages and creates SKPs in a Google Storage location. | 6 """Archives or replays webpages and creates SKPs in a Google Storage location. |
7 | 7 |
8 To archive webpages and store SKP files (archives should be rarely updated): | 8 To archive webpages and store SKP files (archives should be rarely updated): |
9 | 9 |
10 cd skia | 10 cd skia |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
114 (gs_utils.GSUtils.IdType.GROUP_BY_DOMAIN, 'google.com', | 114 (gs_utils.GSUtils.IdType.GROUP_BY_DOMAIN, 'google.com', |
115 gs_utils.GSUtils.Permission.READ), | 115 gs_utils.GSUtils.Permission.READ), |
116 ] | 116 ] |
117 | 117 |
118 # Path to Chromium's page sets. | 118 # Path to Chromium's page sets. |
119 CHROMIUM_PAGE_SETS_PATH = os.path.join('tools', 'perf', 'page_sets') | 119 CHROMIUM_PAGE_SETS_PATH = os.path.join('tools', 'perf', 'page_sets') |
120 | 120 |
121 # Dictionary of supported Chromium page sets to their file prefixes. | 121 # Dictionary of supported Chromium page sets to their file prefixes. |
122 CHROMIUM_PAGE_SETS_TO_PREFIX = { | 122 CHROMIUM_PAGE_SETS_TO_PREFIX = { |
123 'key_mobile_sites_smooth.py': 'keymobi', | 123 'key_mobile_sites_smooth.py': 'keymobi', |
124 # TODO(rmistry): Uncomment the below after it is verified that the above | 124 'top_25_smooth.py': 'top25desk', |
125 # works. | |
126 # 'top_25_smooth.py': 'top25desk', | |
127 } | 125 } |
128 | 126 |
129 | 127 |
130 def remove_prefix(s, prefix): | 128 def remove_prefix(s, prefix): |
131 if s.startswith(prefix): | 129 if s.startswith(prefix): |
132 return s[len(prefix):] | 130 return s[len(prefix):] |
133 return s | 131 return s |
134 | 132 |
135 | 133 |
136 class SkPicturePlayback(object): | 134 class SkPicturePlayback(object): |
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
381 # skia_yahooanswers_desktop -> skia, yahooanswers, desktop | 379 # skia_yahooanswers_desktop -> skia, yahooanswers, desktop |
382 _, page_name, device = ps_basename.split('_') | 380 _, page_name, device = ps_basename.split('_') |
383 basename = '%s_%s' % (DEVICE_TO_PLATFORM_PREFIX[device], page_name) | 381 basename = '%s_%s' % (DEVICE_TO_PLATFORM_PREFIX[device], page_name) |
384 return basename[:MAX_SKP_BASE_NAME_LEN] + '.skp' | 382 return basename[:MAX_SKP_BASE_NAME_LEN] + '.skp' |
385 | 383 |
386 def _GetChromiumSkpFileName(self, page_set, site): | 384 def _GetChromiumSkpFileName(self, page_set, site): |
387 """Returns the SKP file name for Chromium page sets.""" | 385 """Returns the SKP file name for Chromium page sets.""" |
388 # /path/to/http___mobile_news_sandbox_pt0 -> http___mobile_news_sandbox_pt0 | 386 # /path/to/http___mobile_news_sandbox_pt0 -> http___mobile_news_sandbox_pt0 |
389 _, webpage = os.path.split(site) | 387 _, webpage = os.path.split(site) |
390 # http___mobile_news_sandbox_pt0 -> mobile_news_sandbox_pt0 | 388 # http___mobile_news_sandbox_pt0 -> mobile_news_sandbox_pt0 |
391 if webpage.startswith('http___'): | 389 for prefix in ('http___', 'https___'): |
392 webpage = webpage[7:] | 390 if webpage.startswith(prefix): |
393 elif webpage.startswith('https___'): | 391 webpage = webpage[len(prefix):] |
394 webpage = webpage[8:] | |
395 # /path/to/skia_yahooanswers_desktop.py -> skia_yahooanswers_desktop.py | 392 # /path/to/skia_yahooanswers_desktop.py -> skia_yahooanswers_desktop.py |
396 ps_filename = os.path.basename(page_set) | 393 ps_filename = os.path.basename(page_set) |
397 # http___mobile_news_sandbox -> pagesetprefix_http___mobile_news_sandbox | 394 # http___mobile_news_sandbox -> pagesetprefix_http___mobile_news_sandbox |
398 basename = '%s_%s' % (CHROMIUM_PAGE_SETS_TO_PREFIX[ps_filename], webpage) | 395 basename = '%s_%s' % (CHROMIUM_PAGE_SETS_TO_PREFIX[ps_filename], webpage) |
399 return basename[:MAX_SKP_BASE_NAME_LEN] + '.skp' | 396 return basename[:MAX_SKP_BASE_NAME_LEN] + '.skp' |
400 | 397 |
401 def _RenameSkpFiles(self, page_set): | 398 def _RenameSkpFiles(self, page_set): |
402 """Rename generated SKP files into more descriptive names. | 399 """Rename generated SKP files into more descriptive names. |
403 | 400 |
404 Look into the subdirectory of TMP_SKP_DIR and find the most interesting | 401 Look into the subdirectory of TMP_SKP_DIR and find the most interesting |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
553 default=None) | 550 default=None) |
554 option_parser.add_option( | 551 option_parser.add_option( |
555 '', '--non-interactive', action='store_true', | 552 '', '--non-interactive', action='store_true', |
556 help='Runs the script without any prompts. If this flag is specified and ' | 553 help='Runs the script without any prompts. If this flag is specified and ' |
557 '--skia_tools is specified then the debugger is not run.', | 554 '--skia_tools is specified then the debugger is not run.', |
558 default=False) | 555 default=False) |
559 options, unused_args = option_parser.parse_args() | 556 options, unused_args = option_parser.parse_args() |
560 | 557 |
561 playback = SkPicturePlayback(options) | 558 playback = SkPicturePlayback(options) |
562 sys.exit(playback.Run()) | 559 sys.exit(playback.Run()) |
OLD | NEW |