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

Unified Diff: tools/telemetry/telemetry/core/backends/chrome/inspector_backend.py

Issue 170283006: [Telemetry] Don't create a new Tab object at each navigation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove unused method Created 6 years, 10 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/backends/chrome/inspector_backend.py
diff --git a/tools/telemetry/telemetry/core/backends/chrome/inspector_backend.py b/tools/telemetry/telemetry/core/backends/chrome/inspector_backend.py
index d68c60a2c13b41826c49d8e4c9f6e3deec05171a..d3acde4d9cda250758aeec734b5bc2bc3be45dd2 100644
--- a/tools/telemetry/telemetry/core/backends/chrome/inspector_backend.py
+++ b/tools/telemetry/telemetry/core/backends/chrome/inspector_backend.py
@@ -33,6 +33,8 @@ class InspectorBackend(object):
self._cur_socket_timeout = 0
self._next_request_id = 0
+ self._Connect()
+
self._console = inspector_console.InspectorConsole(self)
self._memory = inspector_memory.InspectorMemory(self)
self._page = inspector_page.InspectorPage(self, timeout=timeout)
@@ -41,11 +43,10 @@ class InspectorBackend(object):
self._network = inspector_network.InspectorNetwork(self)
def __del__(self):
- self.Disconnect()
+ self._Disconnect()
def _Connect(self, timeout=10):
- if self._socket:
- return
+ assert not self._socket
try:
self._socket = websocket.create_connection(self._debugger_url,
timeout=timeout)
@@ -58,7 +59,7 @@ class InspectorBackend(object):
self._cur_socket_timeout = 0
self._next_request_id = 0
- def Disconnect(self):
+ def _Disconnect(self):
for _, handlers in self._domain_handlers.items():
_, will_close_handler = handlers
will_close_handler()
@@ -76,15 +77,12 @@ class InspectorBackend(object):
@property
def url(self):
- self.Disconnect()
return self._browser_backend.tab_list_backend.GetTabUrl(self._debugger_url)
def Activate(self):
- self._Connect()
self._browser_backend.tab_list_backend.ActivateTab(self._debugger_url)
def Close(self):
- self.Disconnect()
self._browser_backend.tab_list_backend.CloseTab(self._debugger_url)
# Public methods implemented in JavaScript.
@@ -201,7 +199,6 @@ class InspectorBackend(object):
# Methods used internally by other backends.
def DispatchNotifications(self, timeout=10):
- self._Connect(timeout)
self._SetTimeout(timeout)
res = self._ReceiveJsonData(timeout)
if 'method' in res:
@@ -248,7 +245,6 @@ class InspectorBackend(object):
logging.debug('Unhandled inspector message: %s', res)
def SendAndIgnoreResponse(self, req):
- self._Connect()
req['id'] = self._next_request_id
self._next_request_id += 1
data = json.dumps(req)
@@ -281,7 +277,6 @@ class InspectorBackend(object):
sys.stderr.write('Inspector\'s UI closed. Telemetry will now resume.\n')
def SyncRequest(self, req, timeout=10):
- self._Connect(timeout)
self._SetTimeout(timeout)
self.SendAndIgnoreResponse(req)

Powered by Google App Engine
This is Rietveld 408576698