| OLD | NEW |
| 1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 """Configuration for the shell abstraction. | 5 """Configuration for the shell abstraction. |
| 6 | 6 |
| 7 This module declares ShellConfig and knows how to compute it from command-line | 7 This module declares ShellConfig and knows how to compute it from command-line |
| 8 arguments, applying any default paths inferred from the checkout, configuration | 8 arguments, applying any default paths inferred from the checkout, configuration |
| 9 file, etc. | 9 file, etc. |
| 10 """ | 10 """ |
| (...skipping 19 matching lines...) Expand all Loading... |
| 30 self.map_origin_list = [] | 30 self.map_origin_list = [] |
| 31 self.dev_servers = [] | 31 self.dev_servers = [] |
| 32 self.content_handlers = dict() | 32 self.content_handlers = dict() |
| 33 self.verbose = None | 33 self.verbose = None |
| 34 | 34 |
| 35 # Android-only. | 35 # Android-only. |
| 36 self.adb_path = None | 36 self.adb_path = None |
| 37 self.target_device = None | 37 self.target_device = None |
| 38 self.logcat_tags = None | 38 self.logcat_tags = None |
| 39 self.require_root = False | 39 self.require_root = False |
| 40 self.free_host_ports = False |
| 40 | 41 |
| 41 # Desktop-only. | 42 # Desktop-only. |
| 42 self.use_osmesa = None | 43 self.use_osmesa = None |
| 43 | 44 |
| 44 | 45 |
| 45 class DevServerConfig(object): | 46 class DevServerConfig(object): |
| 46 """Configuration for a development server running on a host and available to | 47 """Configuration for a development server running on a host and available to |
| 47 the shell. | 48 the shell. |
| 48 """ | 49 """ |
| 49 def __init__(self): | 50 def __init__(self): |
| (...skipping 20 matching lines...) Expand all Loading... |
| 70 '<origin>=<url-or-local-file-path>') | 71 '<origin>=<url-or-local-file-path>') |
| 71 parser.add_argument('-v', '--verbose', action="store_true", | 72 parser.add_argument('-v', '--verbose', action="store_true", |
| 72 help="Increase output verbosity") | 73 help="Increase output verbosity") |
| 73 | 74 |
| 74 android_group = parser.add_argument_group('Android-only', | 75 android_group = parser.add_argument_group('Android-only', |
| 75 'These arguments apply only when --android is passed.') | 76 'These arguments apply only when --android is passed.') |
| 76 android_group.add_argument('--adb-path', help='Path of the adb binary.') | 77 android_group.add_argument('--adb-path', help='Path of the adb binary.') |
| 77 android_group.add_argument('--target-device', help='Device to run on.') | 78 android_group.add_argument('--target-device', help='Device to run on.') |
| 78 android_group.add_argument('--logcat-tags', help='Comma-separated list of ' | 79 android_group.add_argument('--logcat-tags', help='Comma-separated list of ' |
| 79 'additional logcat tags to display.') | 80 'additional logcat tags to display.') |
| 81 android_group.add_argument('--free-host-ports', action='store_true', |
| 82 help='Use system-allocated ports on the host when ' |
| 83 'spawning local servers.') |
| 80 | 84 |
| 81 desktop_group = parser.add_argument_group('Desktop-only', | 85 desktop_group = parser.add_argument_group('Desktop-only', |
| 82 'These arguments apply only when running on desktop.') | 86 'These arguments apply only when running on desktop.') |
| 83 desktop_group.add_argument('--use-osmesa', action='store_true', | 87 desktop_group.add_argument('--use-osmesa', action='store_true', |
| 84 help='Configure the native viewport service ' | 88 help='Configure the native viewport service ' |
| 85 'for off-screen rendering.') | 89 'for off-screen rendering.') |
| 86 | 90 |
| 87 config_file_group = parser.add_argument_group('Configuration file', | 91 config_file_group = parser.add_argument_group('Configuration file', |
| 88 'These arguments allow to modify the behavior regarding the mojoconfig ' | 92 'These arguments allow to modify the behavior regarding the mojoconfig ' |
| 89 'file.') | 93 'file.') |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 149 shell_config.origin = script_args.origin | 153 shell_config.origin = script_args.origin |
| 150 shell_config.map_url_list = script_args.map_url | 154 shell_config.map_url_list = script_args.map_url |
| 151 shell_config.map_origin_list = script_args.map_origin | 155 shell_config.map_origin_list = script_args.map_origin |
| 152 shell_config.verbose = script_args.verbose | 156 shell_config.verbose = script_args.verbose |
| 153 | 157 |
| 154 # Android-only. | 158 # Android-only. |
| 155 shell_config.adb_path = (script_args.adb_path or inferred_paths['adb_path'] or | 159 shell_config.adb_path = (script_args.adb_path or inferred_paths['adb_path'] or |
| 156 'adb') | 160 'adb') |
| 157 shell_config.target_device = script_args.target_device | 161 shell_config.target_device = script_args.target_device |
| 158 shell_config.logcat_tags = script_args.logcat_tags | 162 shell_config.logcat_tags = script_args.logcat_tags |
| 163 shell_config.free_host_ports = script_args.free_host_ports |
| 159 | 164 |
| 160 # Desktop-only. | 165 # Desktop-only. |
| 161 shell_config.use_osmesa = script_args.use_osmesa | 166 shell_config.use_osmesa = script_args.use_osmesa |
| 162 | 167 |
| 163 if (shell_config.android and not shell_config.origin and | 168 if (shell_config.android and not shell_config.origin and |
| 164 inferred_paths['build_dir_path']): | 169 inferred_paths['build_dir_path']): |
| 165 shell_config.origin = inferred_paths['build_dir_path'] | 170 shell_config.origin = inferred_paths['build_dir_path'] |
| 166 | 171 |
| 167 # Read the mojoconfig file. | 172 # Read the mojoconfig file. |
| 168 config_file = script_args.config_file | 173 config_file = script_args.config_file |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 206 | 211 |
| 207 if 'content_handlers' in config: | 212 if 'content_handlers' in config: |
| 208 try: | 213 try: |
| 209 for (mime_type, | 214 for (mime_type, |
| 210 content_handler_url) in config['content_handlers'].iteritems(): | 215 content_handler_url) in config['content_handlers'].iteritems(): |
| 211 shell_config.content_handlers[mime_type] = content_handler_url | 216 shell_config.content_handlers[mime_type] = content_handler_url |
| 212 except (ValueError, KeyError): | 217 except (ValueError, KeyError): |
| 213 raise ShellConfigurationException('Failed to parse content_handlers in ' | 218 raise ShellConfigurationException('Failed to parse content_handlers in ' |
| 214 'the config file.') | 219 'the config file.') |
| 215 return shell_config | 220 return shell_config |
| OLD | NEW |