Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / tools / telemetry / telemetry / core / backends / chrome / desktop_browser_finder.py
index d6e6695..7089ec5 100644 (file)
@@ -8,6 +8,7 @@ import os
 import subprocess
 import sys
 
+from telemetry import decorators
 from telemetry.core import browser
 from telemetry.core import platform as core_platform
 from telemetry.core import possible_browser
@@ -48,15 +49,18 @@ class PossibleDesktopBrowser(possible_browser.PossibleBrowser):
     return 'PossibleDesktopBrowser(browser_type=%s, executable=%s)' % (
         self.browser_type, self._local_executable)
 
+  @property
+  @decorators.Cache
+  def _platform_backend(self):
+    return core_platform.CreatePlatformBackendForCurrentOS()
+
   def Create(self):
     backend = desktop_browser_backend.DesktopBrowserBackend(
         self.finder_options.browser_options, self._local_executable,
         self._flash_path, self._is_content_shell, self._browser_directory,
         output_profile_path=self.finder_options.output_profile_path,
         extensions_to_load=self.finder_options.extensions_to_load)
-    b = browser.Browser(backend,
-                        core_platform.CreatePlatformBackendForCurrentOS())
-    return b
+    return browser.Browser(backend, self._platform_backend)
 
   def SupportsOptions(self, finder_options):
     if (len(finder_options.extensions_to_load) != 0) and self._is_content_shell: