Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / tools / telemetry / telemetry / core / browser.py
index 3f75fba..5cb81e3 100644 (file)
@@ -5,18 +5,17 @@
 import os
 
 from telemetry import decorators
+from telemetry.core import app
 from telemetry.core import browser_credentials
 from telemetry.core import exceptions
 from telemetry.core import extension_dict
 from telemetry.core import local_server
 from telemetry.core import memory_cache_http_server
 from telemetry.core import tab_list
-from telemetry.core import wpr_modes
-from telemetry.core import wpr_server
 from telemetry.core.backends import browser_backend
 
 
-class Browser(object):
+class Browser(app.App):
   """A running browser instance that can be controlled in a limited way.
 
   To create a browser instance, use browser_finder.FindBrowser.
@@ -24,27 +23,20 @@ class Browser(object):
   Be sure to clean up after yourself by calling Close() when you are done with
   the browser. Or better yet:
     browser_to_create = FindBrowser(options)
-    with browser_to_create.Create() as browser:
+    with browser_to_create.Create(options) as browser:
       ... do all your operations on browser here
   """
-  def __init__(self, backend, platform_backend, archive_path,
-               append_to_existing_wpr, make_javascript_deterministic,
-               credentials_path):
-    assert platform_backend.platform != None
-
+  def __init__(self, backend, platform_backend, credentials_path):
+    super(Browser, self).__init__(app_backend=backend,
+                                  platform_backend=platform_backend)
     self._browser_backend = backend
     self._platform_backend = platform_backend
-    self._wpr_server = None
     self._local_server_controller = local_server.LocalServerController(backend)
     self._tabs = tab_list.TabList(backend.tab_list_backend)
     self.credentials = browser_credentials.BrowserCredentials()
     self.credentials.credentials_path = credentials_path
     self._platform_backend.DidCreateBrowser(self, self._browser_backend)
 
-    self.SetReplayArchivePath(archive_path,
-                              append_to_existing_wpr,
-                              make_javascript_deterministic)
-
     browser_options = self._browser_backend.browser_options
     self.platform.FlushDnsCache()
     if browser_options.clear_sytem_cache_for_browser_and_profile_on_start:
@@ -60,19 +52,9 @@ class Browser(object):
     self._browser_backend.Start()
     self._platform_backend.DidStartBrowser(self, self._browser_backend)
 
-  def __enter__(self):
-    return self
-
-  def __exit__(self, *args):
-    self.Close()
-
-  @property
-  def platform(self):
-    return self._platform_backend.platform
-
   @property
   def browser_type(self):
-    return self._browser_backend.browser_type
+    return self.app_type
 
   @property
   def supports_extensions(self):
@@ -215,6 +197,11 @@ class Browser(object):
     result = self._GetStatsCommon(self._platform_backend.GetCpuStats)
     del result['ProcessCount']
 
+    # FIXME: Renderer process CPU times are impossible to compare correctly.
+    # http://crbug.com/419786#c11
+    if 'Renderer' in result:
+      del result['Renderer']
+
     # We want a single time value, not the sum for all processes.
     cpu_timestamp = self._platform_backend.GetCpuTimestamp()
     for process_type in result:
@@ -256,10 +243,6 @@ class Browser(object):
     if self._browser_backend.IsBrowserRunning():
       self._platform_backend.WillCloseBrowser(self, self._browser_backend)
 
-    if self._wpr_server:
-      self._wpr_server.Close()
-      self._wpr_server = None
-
     self._local_server_controller.Close()
     self._browser_backend.Close()
     self.credentials = None
@@ -310,29 +293,6 @@ class Browser(object):
     """Returns the currently running local servers."""
     return self._local_server_controller.local_servers
 
-  def SetReplayArchivePath(self, archive_path, append_to_existing_wpr=False,
-                           make_javascript_deterministic=True):
-    if self._wpr_server:
-      self._wpr_server.Close()
-      self._wpr_server = None
-
-    if not archive_path:
-      return None
-
-    if self._browser_backend.wpr_mode == wpr_modes.WPR_OFF:
-      return
-
-    use_record_mode = self._browser_backend.wpr_mode == wpr_modes.WPR_RECORD
-    if not use_record_mode:
-      assert os.path.isfile(archive_path)
-
-    self._wpr_server = wpr_server.ReplayServer(
-        self._browser_backend,
-        archive_path,
-        use_record_mode,
-        append_to_existing_wpr,
-        make_javascript_deterministic)
-
   def GetStandardOutput(self):
     return self._browser_backend.GetStandardOutput()
 
@@ -348,8 +308,3 @@ class Browser(object):
 
        See the documentation of the SystemInfo class for more details."""
     return self._browser_backend.GetSystemInfo()
-
-  # TODO: Remove after call to Start() has been removed from
-  # related authotest files.
-  def Start(self):
-    pass