Index: tools/telemetry/telemetry/core/platform/platform_backend.py |
diff --git a/tools/telemetry/telemetry/core/platform/platform_backend.py b/tools/telemetry/telemetry/core/platform/platform_backend.py |
index 77e3ff7d82f7941028607300e49aae5383e7a128..75037a5722c7b66a6dce0a389de32255aade689e 100644 |
--- a/tools/telemetry/telemetry/core/platform/platform_backend.py |
+++ b/tools/telemetry/telemetry/core/platform/platform_backend.py |
@@ -2,6 +2,8 @@ |
# Use of this source code is governed by a BSD-style license that can be |
# found in the LICENSE file. |
+from telemetry.core.platform import tracing_controller_backend |
+ |
# pylint: disable=W0613 |
# pylint: disable=W0212 |
@@ -39,6 +41,9 @@ MAVERICKS = OSVersion('mavericks', 10.9) |
class PlatformBackend(object): |
def __init__(self): |
self._platform = None |
+ self._running_browsers_and_backends = {} |
+ self._tracing_controller_backend = \ |
+ tracing_controller_backend.TracingControllerBackend(self) |
def SetPlatform(self, platform): |
assert self._platform == None |
@@ -48,6 +53,36 @@ class PlatformBackend(object): |
def platform(self): |
return self._platform |
+ @property |
+ def running_browsers_and_backends(self): |
+ return self._running_browsers_and_backends |
+ |
+ @property |
+ def tracing_controller_backend(self): |
+ return self._tracing_controller_backend |
+ |
+ def DidCreateBrowser(self, browser, browser_backend): |
+ assert browser not in self._running_browsers_and_backends |
+ was_first_browser = len(self._running_browsers_and_backends) == 0 |
+ |
+ self._running_browsers_and_backends[browser] = browser_backend |
+ if was_first_browser: |
+ self.SetFullPerformanceModeEnabled(True) |
nednguyen
2014/08/04 22:12:06
Can you add some unittest for this logic of settin
|
+ |
+ def DidStartBrowser(self, browser): |
+ self._tracing_controller_backend.DidStartBrowser( |
+ browser, self._running_browsers_and_backends[browser]) |
+ |
+ def WillCloseBrowser(self, browser): |
+ self._tracing_controller_backend.WillCloseBrowser( |
+ browser, self._running_browsers_and_backends[browser]) |
+ |
+ is_last_browser = len(self._running_browsers_and_backends) == 1 |
+ if is_last_browser: |
+ self.SetFullPerformanceModeEnabled(False) |
+ |
+ del self._running_browsers_and_backends[browser] |
+ |
def IsRawDisplayFrameRateSupported(self): |
return False |