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

Unified Diff: tools/telemetry/telemetry/core/browser.py

Issue 414253004: Introduce TracingController and TracingControllerBackend skeleton (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ready_to_land Created 6 years, 4 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/browser.py
diff --git a/tools/telemetry/telemetry/core/browser.py b/tools/telemetry/telemetry/core/browser.py
index 2c3d57d97b0a4873dad8958717634e20aa8b9fc6..f7c74d27dd8d1201e6b81e2d90b0425ea0fe5bc3 100644
--- a/tools/telemetry/telemetry/core/browser.py
+++ b/tools/telemetry/telemetry/core/browser.py
@@ -14,9 +14,10 @@ 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
+from telemetry.core.platform import tracing_category_filter
+from telemetry.core.platform import tracing_options
from telemetry.core.platform.profiler import profiler_finder
-
class Browser(object):
"""A running browser instance that can be controlled in a limited way.
@@ -41,7 +42,7 @@ class Browser(object):
self._tabs = tab_list.TabList(backend.tab_list_backend)
self.credentials = browser_credentials.BrowserCredentials()
- self.platform.SetFullPerformanceModeEnabled(True)
+ self._platform_backend.DidCreateBrowser(self, self._browser_backend)
def __enter__(self):
self.Start()
@@ -96,7 +97,7 @@ class Browser(object):
@property
def supports_tracing(self):
- return self._browser_backend.supports_tracing
+ return self.platform.tracing_controller.IsChromeTracingSupported(self)
def is_profiler_active(self, profiler_name):
return profiler_name in [profiler.name() for
@@ -273,16 +274,28 @@ class Browser(object):
self._active_profilers = []
return output_files
+
def StartTracing(self, custom_categories=None, timeout=10):
- return self._browser_backend.StartTracing(custom_categories, timeout)
+ """Note: this function is deprecated. Prefer platform.tracing_controller."""
+ if not isinstance(custom_categories,
+ tracing_category_filter.TracingCategoryFilter):
+ category_filter = tracing_category_filter.TracingCategoryFilter(
+ filter_string=custom_categories)
+ else:
+ category_filter = custom_categories
+ options = tracing_options.TracingOptions()
+ options.enable_chrome_trace = True
+ return self.platform.tracing_controller.Start(
+ options, category_filter, timeout)
@property
def is_tracing_running(self):
- return self._browser_backend.is_tracing_running
+ """Note: this function is deprecated. Prefer platform.tracing_controller."""
+ return self.platform.tracing_controller.is_tracing_running
def StopTracing(self):
- """ Stops tracing and returns the result as TimelineData object. """
- return self._browser_backend.StopTracing()
+ """Note: this function is deprecated. Prefer platform.tracing_controller."""
+ return self.platform.tracing_controller.Stop()
def Start(self):
browser_options = self._browser_backend.browser_options
@@ -298,6 +311,7 @@ class Browser(object):
self._browser_backend.SetBrowser(self)
self._browser_backend.Start()
+ self._platform_backend.DidStartBrowser(self, self._browser_backend)
def Close(self):
"""Closes this browser."""
@@ -305,7 +319,8 @@ class Browser(object):
profiler_class.WillCloseBrowser(self._browser_backend,
self._platform_backend)
- self.platform.SetFullPerformanceModeEnabled(False)
+ if self._browser_backend.IsBrowserRunning():
+ self._platform_backend.WillCloseBrowser(self, self._browser_backend)
if self._wpr_server:
self._wpr_server.Close()

Powered by Google App Engine
This is Rietveld 408576698