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)] |