| Index: tools/telemetry/telemetry/core/backends/chrome/cros_browser_finder.py
|
| diff --git a/tools/telemetry/telemetry/core/backends/chrome/cros_browser_finder.py b/tools/telemetry/telemetry/core/backends/chrome/cros_browser_finder.py
|
| index 9f57240fb1fdea5b8956265c82f82e6bc98ab782..5cbdd529dd4683e076e5e337931416aee8f7c01e 100644
|
| --- a/tools/telemetry/telemetry/core/backends/chrome/cros_browser_finder.py
|
| +++ b/tools/telemetry/telemetry/core/backends/chrome/cros_browser_finder.py
|
| @@ -9,43 +9,43 @@ import logging
|
| from telemetry.core import platform as platform_module
|
| from telemetry.core import browser
|
| from telemetry.core import possible_browser
|
| +from telemetry.core.platform import cros_device
|
| +from telemetry.core.platform import cros_interface
|
| from telemetry.core.backends.chrome import cros_browser_backend
|
| from telemetry.core.backends.chrome import cros_browser_with_oobe
|
| -from telemetry.core.backends.chrome import cros_interface
|
| -from telemetry.core.platform import cros_platform_backend
|
| +
|
| +
|
| +def _IsRunningOnCrOS():
|
| + return platform_module.GetHostPlatform().GetOSName() == 'chromeos'
|
|
|
|
|
| class PossibleCrOSBrowser(possible_browser.PossibleBrowser):
|
| """A launchable CrOS browser instance."""
|
| - def __init__(self, browser_type, finder_options, cri, is_guest):
|
| + def __init__(self, browser_type, finder_options, cros_platform, is_guest):
|
| super(PossibleCrOSBrowser, self).__init__(browser_type, 'cros',
|
| finder_options, True)
|
| assert browser_type in FindAllBrowserTypes(finder_options), \
|
| ('Please add %s to cros_browser_finder.FindAllBrowserTypes()' %
|
| browser_type)
|
| - self._cri = cri
|
| + self._platform = cros_platform
|
| + self._platform_backend = (
|
| + cros_platform._platform_backend) # pylint: disable=W0212
|
| self._is_guest = is_guest
|
|
|
| def __repr__(self):
|
| return 'PossibleCrOSBrowser(browser_type=%s)' % self.browser_type
|
|
|
| def _InitPlatformIfNeeded(self):
|
| - if self._platform:
|
| - return
|
| - self._platform_backend = cros_platform_backend.CrosPlatformBackend(
|
| - self._cri)
|
| - self._platform = platform_module.Platform(self._platform_backend)
|
| + pass
|
|
|
| def Create(self):
|
| if self.finder_options.output_profile_path:
|
| raise NotImplementedError(
|
| 'Profile generation is not yet supported on CrOS.')
|
|
|
| - self._InitPlatformIfNeeded()
|
| -
|
| browser_options = self.finder_options.browser_options
|
| backend = cros_browser_backend.CrOSBrowserBackend(
|
| - browser_options, self._cri, self._is_guest,
|
| + browser_options, self._platform_backend.cri, self._is_guest,
|
| extensions_to_load=self.finder_options.extensions_to_load)
|
| if browser_options.create_browser_with_oobe:
|
| return cros_browser_with_oobe.CrOSBrowserWithOOBE(
|
| @@ -61,14 +61,14 @@ class PossibleCrOSBrowser(possible_browser.PossibleBrowser):
|
| pass
|
|
|
| def SelectDefaultBrowser(possible_browsers):
|
| - if cros_interface.IsRunningOnCrosDevice():
|
| + if _IsRunningOnCrOS():
|
| for b in possible_browsers:
|
| if b.browser_type == 'system':
|
| return b
|
| return None
|
|
|
| def CanFindAvailableBrowsers(finder_options):
|
| - return (cros_interface.IsRunningOnCrosDevice() or
|
| + return (_IsRunningOnCrOS() or
|
| finder_options.cros_remote or
|
| cros_interface.HasSSH())
|
|
|
| @@ -82,12 +82,12 @@ def FindAllBrowserTypes(_):
|
|
|
| def FindAllAvailableBrowsers(finder_options):
|
| """Finds all available CrOS browsers, locally and remotely."""
|
| - if cros_interface.IsRunningOnCrosDevice():
|
| + if _IsRunningOnCrOS():
|
| return [PossibleCrOSBrowser('system', finder_options,
|
| - cros_interface.CrOSInterface(),
|
| + platform_module.GetHostPlatform(),
|
| is_guest=False),
|
| PossibleCrOSBrowser('system-guest', finder_options,
|
| - cros_interface.CrOSInterface(),
|
| + platform_module.GetHostPlatform(),
|
| is_guest=True)]
|
|
|
| if finder_options.cros_remote == None:
|
| @@ -97,12 +97,11 @@ def FindAllAvailableBrowsers(finder_options):
|
| if not cros_interface.HasSSH():
|
| logging.debug('ssh not found. Cannot talk to CrOS devices.')
|
| return []
|
| - cri = cros_interface.CrOSInterface(finder_options.cros_remote,
|
| - finder_options.cros_ssh_identity)
|
| -
|
| + device = cros_device.CrOSDevice(
|
| + finder_options.cros_remote, finder_options.cros_ssh_identity)
|
| # Check ssh
|
| try:
|
| - cri.TryLogin()
|
| + platform = platform_module.GetPlatformForDevice(device)
|
| except cros_interface.LoginException, ex:
|
| if isinstance(ex, cros_interface.KeylessLoginRequiredException):
|
| logging.warn('Could not ssh into %s. Your device must be configured',
|
| @@ -124,14 +123,10 @@ def FindAllAvailableBrowsers(finder_options):
|
| logging.warn('There, that was easy!')
|
| logging.warn('')
|
| logging.warn('P.S. Please, tell your manager how INANE this is.')
|
| -
|
| from telemetry.core import browser_finder
|
| raise browser_finder.BrowserFinderException(str(ex))
|
|
|
| - if not cri.FileExistsOnDevice('/opt/google/chrome/chrome'):
|
| - logging.warn('Could not find a chrome on ' % cri.hostname)
|
| -
|
| - return [PossibleCrOSBrowser('cros-chrome', finder_options, cri,
|
| + return [PossibleCrOSBrowser('cros-chrome', finder_options, platform,
|
| is_guest=False),
|
| - PossibleCrOSBrowser('cros-chrome-guest', finder_options, cri,
|
| + PossibleCrOSBrowser('cros-chrome-guest', finder_options, platform,
|
| is_guest=True)]
|
|
|