| Index: tools/telemetry/telemetry/internal/backends/chrome/ios_browser_finder.py
|
| diff --git a/tools/telemetry/telemetry/internal/backends/chrome/ios_browser_finder.py b/tools/telemetry/telemetry/internal/backends/chrome/ios_browser_finder.py
|
| deleted file mode 100644
|
| index 319c2c34cee0eb47aee45da16120ab323cc7b4d0..0000000000000000000000000000000000000000
|
| --- a/tools/telemetry/telemetry/internal/backends/chrome/ios_browser_finder.py
|
| +++ /dev/null
|
| @@ -1,115 +0,0 @@
|
| -# Copyright 2014 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 iOS browsers that can be controlled by telemetry."""
|
| -
|
| -import logging
|
| -import re
|
| -
|
| -from telemetry.core import platform
|
| -from telemetry.internal.backends.chrome import ios_browser_backend
|
| -from telemetry.internal.backends.chrome_inspector import inspector_backend
|
| -from telemetry.internal.browser import browser
|
| -from telemetry.internal.browser import possible_browser
|
| -from telemetry.internal.platform import ios_device
|
| -from telemetry.internal.platform import ios_platform_backend
|
| -
|
| -
|
| -# Key matches output from ios-webkit-debug-proxy and the value is a readable
|
| -# description of the browser.
|
| -IOS_BROWSERS = {'CriOS': 'ios-chrome', 'Version': 'ios-safari'}
|
| -DEVICE_LIST_URL = 'http://127.0.0.1:9221/json'
|
| -IOS_WEBKIT_DEBUG_PROXY = 'ios_webkit_debug_proxy'
|
| -
|
| -
|
| -class PossibleIOSBrowser(possible_browser.PossibleBrowser):
|
| -
|
| - """A running iOS browser instance."""
|
| - def __init__(self, browser_type, _):
|
| - super(PossibleIOSBrowser, self).__init__(browser_type, 'ios', True)
|
| -
|
| - # TODO(baxley): Implement the following methods for iOS.
|
| - def Create(self, finder_options):
|
| - browser_backend = ios_browser_backend.IosBrowserBackend(
|
| - self._platform_backend, finder_options.browser_options)
|
| - return browser.Browser(
|
| - browser_backend, self._platform_backend, self._credentials_path)
|
| -
|
| - def SupportsOptions(self, finder_options):
|
| - #TODO(baxley): Implement me.
|
| - return True
|
| -
|
| - def UpdateExecutableIfNeeded(self):
|
| - #TODO(baxley): Implement me.
|
| - pass
|
| -
|
| - def _InitPlatformIfNeeded(self):
|
| - if self._platform:
|
| - return
|
| -
|
| - self._platform_backend = ios_platform_backend.IosPlatformBackend()
|
| - self._platform = platform.Platform(self._platform_backend)
|
| -
|
| -def SelectDefaultBrowser(_):
|
| - return None # TODO(baxley): Implement me.
|
| -
|
| -
|
| -def CanFindAvailableBrowsers():
|
| - # TODO(baxley): Add support for all platforms possible. Probably Linux,
|
| - # probably not Windows.
|
| - return platform.GetHostPlatform().GetOSName() == 'mac'
|
| -
|
| -
|
| -def FindAllBrowserTypes(_):
|
| - return IOS_BROWSERS.values()
|
| -
|
| -
|
| -def FindAllAvailableBrowsers(finder_options, device):
|
| - """Find all running iOS browsers on connected devices."""
|
| - if not isinstance(device, ios_device.IOSDevice):
|
| - return []
|
| -
|
| - if not CanFindAvailableBrowsers():
|
| - return []
|
| -
|
| - options = finder_options.browser_options
|
| -
|
| - options.browser_type = 'ios-chrome'
|
| - host = platform.GetHostPlatform()
|
| - backend = ios_browser_backend.IosBrowserBackend(host, options)
|
| - # TODO(baxley): Use idevice to wake up device or log debug statement.
|
| - if not host.IsApplicationRunning(IOS_WEBKIT_DEBUG_PROXY):
|
| - host.LaunchApplication(IOS_WEBKIT_DEBUG_PROXY)
|
| - if not host.IsApplicationRunning(IOS_WEBKIT_DEBUG_PROXY):
|
| - return []
|
| -
|
| - device_urls = backend.GetDeviceUrls()
|
| - if not device_urls:
|
| - logging.debug('Could not find any devices over %s.'
|
| - % IOS_WEBKIT_DEBUG_PROXY)
|
| - return []
|
| -
|
| - debug_urls = backend.GetWebSocketDebuggerUrls(device_urls)
|
| -
|
| - # Get the userAgent for each UIWebView to find the browsers.
|
| - browser_pattern = (r'\)\s(%s)\/(\d+[\.\d]*)\sMobile'
|
| - % '|'.join(IOS_BROWSERS.keys()))
|
| - browser_types = set()
|
| - for url in debug_urls:
|
| - context = {'webSocketDebuggerUrl': url, 'id': 1}
|
| - try:
|
| - inspector = inspector_backend.InspectorBackend(
|
| - backend.app, backend.devtools_client, context)
|
| - res = inspector.EvaluateJavaScript("navigator.userAgent")
|
| - finally:
|
| - inspector.Disconnect()
|
| - match_browsers = re.search(browser_pattern, res)
|
| - if match_browsers:
|
| - browser_types.add(match_browsers.group(1))
|
| -
|
| - browsers = []
|
| - for browser_type in browser_types:
|
| - browsers.append(PossibleIOSBrowser(IOS_BROWSERS[browser_type],
|
| - finder_options))
|
| - return list(browsers)
|
|
|