| Index: tools/telemetry/telemetry/android_browser_finder.py
|
| diff --git a/tools/telemetry/telemetry/android_browser_finder.py b/tools/telemetry/telemetry/android_browser_finder.py
|
| deleted file mode 100644
|
| index da85327032ebc871a878b323edb14a000536ad9b..0000000000000000000000000000000000000000
|
| --- a/tools/telemetry/telemetry/android_browser_finder.py
|
| +++ /dev/null
|
| @@ -1,150 +0,0 @@
|
| -# Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -# Use of this source code is governed by a BSD-style license that can be
|
| -# found in the LICENSE file.
|
| -"""Finds android browsers that can be controlled by telemetry."""
|
| -
|
| -import os
|
| -import logging as real_logging
|
| -import re
|
| -import subprocess
|
| -import sys
|
| -
|
| -from telemetry import adb_commands
|
| -from telemetry import android_browser_backend
|
| -from telemetry import android_platform
|
| -from telemetry import browser
|
| -from telemetry import possible_browser
|
| -
|
| -CHROME_PACKAGE_NAMES = {
|
| - 'android-chrome': 'com.google.android.apps.chrome',
|
| - 'android-chrome-beta': 'com.chrome.beta',
|
| - 'android-chrome-dev': 'com.google.android.apps.chrome_dev',
|
| - 'android-jb-system-chrome': 'com.android.chrome'
|
| -}
|
| -
|
| -ALL_BROWSER_TYPES = ','.join(['android-content-shell'] +
|
| - CHROME_PACKAGE_NAMES.keys())
|
| -
|
| -CHROME_ACTIVITY = 'com.google.android.apps.chrome.Main'
|
| -CHROME_COMMAND_LINE = '/data/local/chrome-command-line'
|
| -CHROME_DEVTOOLS_REMOTE_PORT = 'localabstract:chrome_devtools_remote'
|
| -
|
| -CONTENT_SHELL_PACKAGE = 'org.chromium.content_shell_apk'
|
| -CONTENT_SHELL_ACTIVITY = 'org.chromium.content_shell_apk.ContentShellActivity'
|
| -CONTENT_SHELL_COMMAND_LINE = '/data/local/tmp/content-shell-command-line'
|
| -CONTENT_SHELL_DEVTOOLS_REMOTE_PORT = (
|
| - 'localabstract:content_shell_devtools_remote')
|
| -
|
| -# adb shell pm list packages
|
| -# adb
|
| -# intents to run (pass -D url for the rest)
|
| -# com.android.chrome/.Main
|
| -# com.google.android.apps.chrome/.Main
|
| -
|
| -class PossibleAndroidBrowser(possible_browser.PossibleBrowser):
|
| - """A launchable android browser instance."""
|
| - def __init__(self, browser_type, options, *args):
|
| - super(PossibleAndroidBrowser, self).__init__(browser_type, options)
|
| - self._args = args
|
| -
|
| - def __repr__(self):
|
| - return 'PossibleAndroidBrowser(browser_type=%s)' % self.browser_type
|
| -
|
| - def Create(self):
|
| - backend = android_browser_backend.AndroidBrowserBackend(
|
| - self._options, *self._args)
|
| - platform = android_platform.AndroidPlatform(
|
| - self._args[0].Adb(), self._args[1],
|
| - self._args[4])
|
| - b = browser.Browser(backend, platform)
|
| - backend.SetBrowser(b)
|
| - return b
|
| -
|
| - def SupportsOptions(self, options):
|
| - if len(options.extensions_to_load) != 0:
|
| - return False
|
| - return True
|
| -
|
| -def FindAllAvailableBrowsers(options, logging=real_logging):
|
| - """Finds all the desktop browsers available on this machine."""
|
| - if not adb_commands.IsAndroidSupported():
|
| - return []
|
| -
|
| - # See if adb even works.
|
| - try:
|
| - with open(os.devnull, 'w') as devnull:
|
| - proc = subprocess.Popen(['adb', 'devices'],
|
| - stdout=subprocess.PIPE,
|
| - stderr=subprocess.PIPE,
|
| - stdin=devnull)
|
| - stdout, _ = proc.communicate()
|
| - if re.search(re.escape('????????????\tno permissions'), stdout) != None:
|
| - logging.warn(
|
| - ('adb devices reported a permissions error. Consider '
|
| - 'restarting adb as root:'))
|
| - logging.warn(' adb kill-server')
|
| - logging.warn(' sudo `which adb` devices\n\n')
|
| - except OSError:
|
| - platform_tools_path = os.path.join(
|
| - os.path.dirname(__file__), '..', '..', '..',
|
| - 'third_party', 'android_tools', 'sdk', 'platform-tools')
|
| - if (sys.platform.startswith('linux') and
|
| - os.path.exists(os.path.join(platform_tools_path, 'adb'))):
|
| - os.environ['PATH'] = os.pathsep.join([platform_tools_path,
|
| - os.environ['PATH']])
|
| - else:
|
| - logging.info('No adb command found. ' +
|
| - 'Will not try searching for Android browsers.')
|
| - return []
|
| -
|
| - device = None
|
| - if options.android_device:
|
| - devices = [options.android_device]
|
| - else:
|
| - devices = adb_commands.GetAttachedDevices()
|
| -
|
| - if len(devices) == 0:
|
| - logging.info('No android devices found.')
|
| - return []
|
| -
|
| - if len(devices) > 1:
|
| - logging.warn('Multiple devices attached. ' +
|
| - 'Please specify a device explicitly.')
|
| - return []
|
| -
|
| - device = devices[0]
|
| -
|
| - adb = adb_commands.AdbCommands(device=device)
|
| -
|
| - packages = adb.RunShellCommand('pm list packages')
|
| - possible_browsers = []
|
| - if 'package:' + CONTENT_SHELL_PACKAGE in packages:
|
| - b = PossibleAndroidBrowser('android-content-shell',
|
| - options, adb,
|
| - CONTENT_SHELL_PACKAGE, True,
|
| - CONTENT_SHELL_COMMAND_LINE,
|
| - CONTENT_SHELL_ACTIVITY,
|
| - CONTENT_SHELL_DEVTOOLS_REMOTE_PORT)
|
| - possible_browsers.append(b)
|
| -
|
| - for name, package in CHROME_PACKAGE_NAMES.iteritems():
|
| - if 'package:' + package in packages:
|
| - b = PossibleAndroidBrowser(name,
|
| - options, adb,
|
| - package, False,
|
| - CHROME_COMMAND_LINE,
|
| - CHROME_ACTIVITY,
|
| - CHROME_DEVTOOLS_REMOTE_PORT)
|
| - possible_browsers.append(b)
|
| -
|
| - # See if the "forwarder" is installed -- we need this to host content locally
|
| - # but make it accessible to the device.
|
| - if len(possible_browsers) and not adb_commands.HasForwarder():
|
| - logging.warn('telemetry detected an android device. However,')
|
| - logging.warn('Chrome\'s port-forwarder app is not available.')
|
| - logging.warn('To build:')
|
| - logging.warn(' make -j16 host_forwarder device_forwarder')
|
| - logging.warn('')
|
| - logging.warn('')
|
| - return []
|
| - return possible_browsers
|
|
|