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

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

Issue 165693006: [Telemetry] Factor out common logic between inspector backend lists. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Update comments 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 d3acde4d9cda250758aeec734b5bc2bc3be45dd2..4009b6857bf67e20e4de986ab16d2809597e7bd3 100644
--- a/tools/telemetry/telemetry/core/backends/chrome/inspector_backend.py
+++ b/tools/telemetry/telemetry/core/backends/chrome/inspector_backend.py
@@ -23,11 +23,10 @@ class InspectorException(Exception):
pass
class InspectorBackend(object):
- def __init__(self, browser, browser_backend, debugger_url, timeout=60):
- assert debugger_url
+ def __init__(self, browser, browser_backend, context, timeout=60):
self._browser = browser
self._browser_backend = browser_backend
- self._debugger_url = debugger_url
+ self._context = context
self._socket = None
self._domain_handlers = {}
self._cur_socket_timeout = 0
@@ -48,7 +47,7 @@ class InspectorBackend(object):
def _Connect(self, timeout=10):
assert not self._socket
try:
- self._socket = websocket.create_connection(self._debugger_url,
+ self._socket = websocket.create_connection(self.debugger_url,
timeout=timeout)
except (websocket.WebSocketException):
if self._browser_backend.IsBrowserRunning():
@@ -77,13 +76,24 @@ class InspectorBackend(object):
@property
def url(self):
- return self._browser_backend.tab_list_backend.GetTabUrl(self._debugger_url)
+ return self._context['url']
+
+ @property
+ def id(self):
+ return self._context['id']
+
+ @property
+ def debugger_url(self):
+ return self._context['webSocketDebuggerUrl']
+
+ # TODO(tonyg): TabListBackend should ask InspectorBackend to
+ # Activate and Close, not the other way around (crbug.com/233001).
def Activate(self):
- self._browser_backend.tab_list_backend.ActivateTab(self._debugger_url)
+ self._browser_backend.tab_list_backend.ActivateTab(self.debugger_url)
def Close(self):
- self._browser_backend.tab_list_backend.CloseTab(self._debugger_url)
+ self._browser_backend.tab_list_backend.CloseTab(self.debugger_url)
# Public methods implemented in JavaScript.
@@ -210,7 +220,7 @@ class InspectorBackend(object):
data = self._socket.recv()
except (socket.error, websocket.WebSocketException):
if self._browser_backend.tab_list_backend.DoesDebuggerUrlExist(
- self._debugger_url):
+ self.debugger_url):
elapsed_time = time.time() - start_time
raise util.TimeoutException(
'Received a socket error in the browser connection and the tab '
@@ -263,7 +273,7 @@ class InspectorBackend(object):
self._socket = None
def IsBack():
if not self._browser_backend.tab_list_backend.DoesDebuggerUrlExist(
- self._debugger_url):
+ self.debugger_url):
return False
try:
self._Connect()

Powered by Google App Engine
This is Rietveld 408576698