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

Unified Diff: tools/telemetry/telemetry/core/backends/chrome/cros_browser_finder.py

Issue 436873003: Make telemetry platform a singleton (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 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/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:

Powered by Google App Engine
This is Rietveld 408576698