| Index: tools/telemetry/telemetry/browser_backend.py
|
| diff --git a/tools/telemetry/telemetry/browser_backend.py b/tools/telemetry/telemetry/browser_backend.py
|
| index 5afa946f014dd926d6bcb914e6970f7790dddadc..11eecf9edcc36a4aaac895139382fab832549661 100644
|
| --- a/tools/telemetry/telemetry/browser_backend.py
|
| +++ b/tools/telemetry/telemetry/browser_backend.py
|
| @@ -1,6 +1,7 @@
|
| # Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| # Use of this source code is governed by a BSD-style license that can be
|
| # found in the LICENSE file.
|
| +
|
| import urllib2
|
| import httplib
|
| import socket
|
| @@ -10,6 +11,7 @@ import weakref
|
|
|
| from telemetry import browser_gone_exception
|
| from telemetry import tab
|
| +from telemetry import tracing_backend
|
| from telemetry import user_agent
|
| from telemetry import util
|
| from telemetry import wpr_modes
|
| @@ -123,6 +125,7 @@ class BrowserBackend(object):
|
| self._inspector_protocol_version = 0
|
| self._chrome_branch_number = 0
|
| self._webkit_base_revision = 0
|
| + self._tracing_backend = None
|
|
|
| def SetBrowser(self, browser):
|
| self.tabs = TabController(browser, self)
|
| @@ -186,6 +189,23 @@ class BrowserBackend(object):
|
| def supports_tab_control(self):
|
| return self._chrome_branch_number >= 1303
|
|
|
| + @property
|
| + def supports_tracing(self):
|
| + return True
|
| +
|
| + def StartTracing(self):
|
| + self._tracing_backend = tracing_backend.TracingBackend(self._port)
|
| + self._tracing_backend.BeginTracing()
|
| +
|
| + def StopTracing(self):
|
| + self._tracing_backend.EndTracingAsync()
|
| +
|
| + def GetTrace(self):
|
| + def IsTracingRunning(self):
|
| + return not self._tracing_backend.HasCompleted()
|
| + util.WaitFor(lambda: not IsTracingRunning(self), 10)
|
| + return self._tracing_backend.GetTraceAndReset()
|
| +
|
| def CreateForwarder(self, host_port):
|
| raise NotImplementedError()
|
|
|
|
|