| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 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 import atexit | 5 import atexit |
| 6 import itertools | 6 import itertools |
| 7 import json | |
| 8 import logging | 7 import logging |
| 9 import os | 8 import os |
| 10 import shutil | 9 import shutil |
| 11 import signal | 10 import signal |
| 12 import subprocess | 11 import subprocess |
| 13 import sys | 12 import sys |
| 14 import tempfile | 13 import tempfile |
| 15 import threading | 14 import threading |
| 16 import time | 15 import time |
| 17 import urlparse | 16 import urlparse |
| (...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 249 arguments += ['--wait-for-debugger'] | 248 arguments += ['--wait-for-debugger'] |
| 250 logcat_process = self.ShowLogs(stdout=subprocess.PIPE) | 249 logcat_process = self.ShowLogs(stdout=subprocess.PIPE) |
| 251 | 250 |
| 252 fifo_path = "/data/data/%s/stdout.fifo" % self.target_package | 251 fifo_path = "/data/data/%s/stdout.fifo" % self.target_package |
| 253 subprocess.check_call(self._CreateADBCommand( | 252 subprocess.check_call(self._CreateADBCommand( |
| 254 ['shell', 'rm', '-f', fifo_path])) | 253 ['shell', 'rm', '-f', fifo_path])) |
| 255 arguments.append('--fifo-path=%s' % fifo_path) | 254 arguments.append('--fifo-path=%s' % fifo_path) |
| 256 max_attempts = 200 if '--wait-for-debugger' in arguments else 5 | 255 max_attempts = 200 if '--wait-for-debugger' in arguments else 5 |
| 257 self._ReadFifo(fifo_path, stdout, on_application_stop, max_attempts) | 256 self._ReadFifo(fifo_path, stdout, on_application_stop, max_attempts) |
| 258 | 257 |
| 259 # Extract map-origin arguments. | 258 # Extract map-origin args and add the extras array with commas escaped. |
| 260 parameters = [a for a in arguments if not a.startswith(MAPPING_PREFIX)] | 259 parameters = [a for a in arguments if not a.startswith(MAPPING_PREFIX)] |
| 261 map_parameters = [a for a in arguments if a.startswith(MAPPING_PREFIX)] | 260 map_parameters = [a for a in arguments if a.startswith(MAPPING_PREFIX)] |
| 262 parameters += self._StartHttpServerForOriginMappings(map_parameters) | 261 parameters += self._StartHttpServerForOriginMappings(map_parameters) |
| 263 | 262 parameters = [p.replace(',', '\,') for p in parameters] |
| 264 if parameters: | 263 if parameters: |
| 265 cmd += ['--es', 'encodedParameters', json.dumps(parameters)] | 264 cmd += ['--esa', 'org.chromium.mojo.shell.extras', ','.join(parameters)] |
| 266 | 265 |
| 267 atexit.register(self.StopShell) | 266 atexit.register(self.StopShell) |
| 268 with open(os.devnull, 'w') as devnull: | 267 with open(os.devnull, 'w') as devnull: |
| 269 cmd_process = subprocess.Popen(cmd, stdout=devnull) | 268 cmd_process = subprocess.Popen(cmd, stdout=devnull) |
| 270 if logcat_process: | 269 if logcat_process: |
| 271 self._WaitForProcessIdAndStartGdb(logcat_process) | 270 self._WaitForProcessIdAndStartGdb(logcat_process) |
| 272 cmd_process.wait() | 271 cmd_process.wait() |
| 273 | 272 |
| 274 def StopShell(self): | 273 def StopShell(self): |
| 275 """Stops the mojo shell.""" | 274 """Stops the mojo shell.""" |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 331 files_to_link = { | 330 files_to_link = { |
| 332 'html_viewer.mojo': ['libhtml_viewer', 'html_viewer_library.so'], | 331 'html_viewer.mojo': ['libhtml_viewer', 'html_viewer_library.so'], |
| 333 'libmandoline_runner.so': ['mandoline_runner'], | 332 'libmandoline_runner.so': ['mandoline_runner'], |
| 334 } | 333 } |
| 335 for android_name, so_path in files_to_link.iteritems(): | 334 for android_name, so_path in files_to_link.iteritems(): |
| 336 src = os.path.join(build_dir, *so_path) | 335 src = os.path.join(build_dir, *so_path) |
| 337 if not os.path.isfile(src): | 336 if not os.path.isfile(src): |
| 338 print 'Expected file not found', src | 337 print 'Expected file not found', src |
| 339 sys.exit(-1) | 338 sys.exit(-1) |
| 340 os.symlink(src, os.path.join(dest_dir, android_name)) | 339 os.symlink(src, os.path.join(dest_dir, android_name)) |
| OLD | NEW |