summaryrefslogtreecommitdiffstats
path: root/tools/telemetry
diff options
context:
space:
mode:
authornduca@chromium.org <nduca@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-06 00:48:57 +0000
committernduca@chromium.org <nduca@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-06 00:48:57 +0000
commit4b5b66b94589bf6effa2da00a4f81fa23f8d0b72 (patch)
treeb8c703c1b2b71ea8b04773e8d5efb38ce3faf3e2 /tools/telemetry
parenta6bc2795c207f9da52cdfe2402d999015149d0e5 (diff)
downloadchromium_src-4b5b66b94589bf6effa2da00a4f81fa23f8d0b72.zip
chromium_src-4b5b66b94589bf6effa2da00a4f81fa23f8d0b72.tar.gz
chromium_src-4b5b66b94589bf6effa2da00a4f81fa23f8d0b72.tar.bz2
Fix telemetry reconnect when lost to inspector
Telemetry used to rely on the websocket listing going away on the browser when the inspector was gone. Now, it is there but the connect attempt raises an error. This is the narrowest fix I can think of: we still will fail on reconnect when the exception we get back is different. Broadening that test can be done iff we see that this is overspecific. BUG=324604 Review URL: https://codereview.chromium.org/96343003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239088 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/telemetry')
-rw-r--r--tools/telemetry/telemetry/core/backends/chrome/inspector_backend.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/tools/telemetry/telemetry/core/backends/chrome/inspector_backend.py b/tools/telemetry/telemetry/core/backends/chrome/inspector_backend.py
index b5b4eb4..64beccb 100644
--- a/tools/telemetry/telemetry/core/backends/chrome/inspector_backend.py
+++ b/tools/telemetry/telemetry/core/backends/chrome/inspector_backend.py
@@ -266,12 +266,19 @@ class InspectorBackend(object):
self._socket.close()
self._socket = None
def IsBack():
- return self._browser_backend.tab_list_backend.DoesDebuggerUrlExist(
- self._debugger_url)
+ if not self._browser_backend.tab_list_backend.DoesDebuggerUrlExist(
+ self._debugger_url):
+ return False
+ try:
+ self._Connect()
+ except exceptions.TabCrashException, ex:
+ if ex.message.message.find('Handshake Status 500') == 0:
+ return False
+ raise
+ return True
util.WaitFor(IsBack, 512)
sys.stderr.write('\n')
sys.stderr.write('Inspector\'s UI closed. Telemetry will now resume.\n')
- self._Connect()
def SyncRequest(self, req, timeout=10):
self._Connect(timeout)