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

Unified Diff: tools/telemetry/telemetry/android_browser_finder.py

Issue 12278015: [Telemetry] Reorganize everything. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Re-add shebangs. Created 7 years, 10 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
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
« no previous file with comments | « tools/telemetry/telemetry/android_browser_backend.py ('k') | tools/telemetry/telemetry/android_browser_finder_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698