Chromium Code Reviews| 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 |