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 bca7d4446d16697d34153d82dcec21be3392cc12..ea93b3520c708ddd8661d96eb90c4ee893cc4636 100644 |
--- a/tools/telemetry/telemetry/core/backends/chrome/cros_browser_finder.py |
+++ b/tools/telemetry/telemetry/core/backends/chrome/cros_browser_finder.py |
@@ -6,12 +6,12 @@ |
import logging |
-from telemetry import decorators |
from telemetry.core import browser |
from telemetry.core import possible_browser |
from telemetry.core.backends.chrome import cros_browser_with_oobe |
from telemetry.core.backends.chrome import cros_browser_backend |
from telemetry.core.backends.chrome import cros_interface |
+from telemetry.core import platform as platform_module |
from telemetry.core.platform import cros_platform_backend |
ALL_BROWSER_TYPES = [ |
@@ -31,29 +31,33 @@ class PossibleCrOSBrowser(possible_browser.PossibleBrowser): |
'Please add %s to ALL_BROWSER_TYPES' % browser_type |
self._cri = cri |
self._is_guest = is_guest |
- self._platform = None |
def __repr__(self): |
return 'PossibleCrOSBrowser(browser_type=%s)' % self.browser_type |
- @property |
- @decorators.Cache |
- def _platform_backend(self): |
- return cros_platform_backend.CrosPlatformBackend(self._cri) |
+ def _InitPlatformIfNeeded(self): |
+ if self._platform: |
+ return |
+ |
+ platform_backend = cros_platform_backend.CrosPlatformBackend( |
+ self._cri) |
+ self._platform = platform_module.Platform(platform_backend) |
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, |
extensions_to_load=self.finder_options.extensions_to_load) |
if browser_options.create_browser_with_oobe: |
return cros_browser_with_oobe.CrOSBrowserWithOOBE( |
- backend, self._platform_backend) |
- return browser.Browser(backend, self._platform_backend) |
+ backend, self._platform) |
+ return browser.Browser(backend, self._platform) |
def SupportsOptions(self, finder_options): |
if (len(finder_options.extensions_to_load) != 0) and self._is_guest: |