Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / tools / telemetry / telemetry / core / backends / chrome / desktop_browser_finder.py
index 90128ce..f29aaa7 100644 (file)
@@ -11,7 +11,6 @@ import sys
 from telemetry.core import platform as platform_module
 from telemetry.core import browser
 from telemetry.core import possible_browser
-from telemetry.core.backends.chrome import cros_interface
 from telemetry.core.backends.chrome import desktop_browser_backend
 from telemetry.util import path
 
@@ -24,7 +23,7 @@ class PossibleDesktopBrowser(possible_browser.PossibleBrowser):
     target_os = sys.platform.lower()
     super(PossibleDesktopBrowser, self).__init__(browser_type, target_os,
         finder_options, not is_content_shell)
-    assert browser_type in FindAllBrowserTypes(), \
+    assert browser_type in FindAllBrowserTypes(finder_options), \
         ('Please add %s to desktop_browser_finder.FindAllBrowserTypes' %
           browser_type)
     self._local_executable = executable
@@ -34,8 +33,8 @@ class PossibleDesktopBrowser(possible_browser.PossibleBrowser):
     self.is_local_build = is_local_build
 
   def __repr__(self):
-    return 'PossibleDesktopBrowser(browser_type=%s, executable=%s)' % (
-        self.browser_type, self._local_executable)
+    return 'PossibleDesktopBrowser(type=%s, executable=%s, flash=%s)' % (
+        self.browser_type, self._local_executable, self._flash_path)
 
   def _InitPlatformIfNeeded(self):
     if self._platform:
@@ -61,7 +60,12 @@ class PossibleDesktopBrowser(possible_browser.PossibleBrowser):
         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)
-    return browser.Browser(backend, self._platform_backend)
+    return browser.Browser(backend,
+                           self._platform_backend,
+                           self._archive_path,
+                           self._append_to_existing_wpr,
+                           self._make_javascript_deterministic,
+                           self._credentials_path)
 
   def SupportsOptions(self, finder_options):
     if (len(finder_options.extensions_to_load) != 0) and self._is_content_shell:
@@ -86,11 +90,12 @@ def SelectDefaultBrowser(possible_browsers):
   return None
 
 def CanFindAvailableBrowsers():
-  return not cros_interface.IsRunningOnCrosDevice()
+  return not platform_module.GetHostPlatform().GetOSName() == 'chromeos'
 
-def FindAllBrowserTypes():
+def FindAllBrowserTypes(_):
   return [
       'exact',
+      'reference',
       'release',
       'release_x64',
       'debug',
@@ -179,12 +184,17 @@ def FindAllAvailableBrowsers(finder_options):
     AddIfFound('content-shell-' + build_type.lower(), build_dir, build_type,
                content_shell_app_name, True)
 
+  reference_build_root = os.path.join(
+     chrome_root, 'chrome', 'tools', 'test', 'reference_build')
+
   # Mac-specific options.
   if sys.platform == 'darwin':
     mac_canary_root = '/Applications/Google Chrome Canary.app/'
     mac_canary = mac_canary_root + 'Contents/MacOS/Google Chrome Canary'
     mac_system_root = '/Applications/Google Chrome.app'
     mac_system = mac_system_root + '/Contents/MacOS/Google Chrome'
+    mac_reference_root = reference_build_root + '/chrome_mac/Google Chrome.app/'
+    mac_reference = mac_reference_root + 'Contents/MacOS/Google Chrome'
     if path.IsExecutable(mac_canary):
       browsers.append(PossibleDesktopBrowser('canary', finder_options,
                                              mac_canary, None, False,
@@ -194,6 +204,10 @@ def FindAllAvailableBrowsers(finder_options):
       browsers.append(PossibleDesktopBrowser('system', finder_options,
                                              mac_system, None, False,
                                              mac_system_root))
+    if path.IsExecutable(mac_reference):
+      browsers.append(PossibleDesktopBrowser('reference', finder_options,
+                                             mac_reference, None, False,
+                                             mac_reference_root))
 
   # Linux specific options.
   if sys.platform.startswith('linux'):
@@ -209,12 +223,19 @@ def FindAllAvailableBrowsers(finder_options):
       browsers.append(PossibleDesktopBrowser('system', finder_options,
                                              'google-chrome', None, False,
                                              '/opt/google/chrome'))
+    linux_reference_root = os.path.join(reference_build_root, 'chrome_linux')
+    linux_reference = os.path.join(linux_reference_root, 'chrome')
+    if path.IsExecutable(linux_reference):
+      browsers.append(PossibleDesktopBrowser('reference', finder_options,
+                                             linux_reference, None, False,
+                                             linux_reference_root))
 
   # Win32-specific options.
   if sys.platform.startswith('win'):
     app_paths = (
         ('system', os.path.join('Google', 'Chrome', 'Application')),
         ('canary', os.path.join('Google', 'Chrome SxS', 'Application')),
+        ('reference', os.path.join(reference_build_root, 'chrome_win')),
     )
 
     for browser_name, app_path in app_paths: