| Index: tools/telemetry/telemetry/core/backends/chrome/tab_list_backend.py
|
| diff --git a/tools/telemetry/telemetry/core/backends/chrome/tab_list_backend.py b/tools/telemetry/telemetry/core/backends/chrome/tab_list_backend.py
|
| index 60b247e5620a53666ba38f834197c7bd0da7eb21..2b0c15d76a27f361b8ad301385070fc3346d13a9 100644
|
| --- a/tools/telemetry/telemetry/core/backends/chrome/tab_list_backend.py
|
| +++ b/tools/telemetry/telemetry/core/backends/chrome/tab_list_backend.py
|
| @@ -6,6 +6,7 @@ import urllib2
|
|
|
| from telemetry.core import tab
|
| from telemetry.core import util
|
| +from telemetry.core.backends.chrome_inspector import devtools_http
|
| from telemetry.core.backends.chrome_inspector import inspector_backend_list
|
|
|
|
|
| @@ -16,9 +17,13 @@ class TabListBackend(inspector_backend_list.InspectorBackendList):
|
| super(TabListBackend, self).__init__(browser_backend,
|
| backend_wrapper=tab.Tab)
|
|
|
| + @property
|
| + def _devtools_http(self):
|
| + return self._browser_backend.devtools_client.devtools_http
|
| +
|
| def New(self, timeout):
|
| assert self._browser_backend.supports_tab_control
|
| - self._browser_backend.Request('new', timeout=timeout)
|
| + self._devtools_http.Request('new', timeout=timeout)
|
| return self[-1]
|
|
|
| def CloseTab(self, debugger_url, timeout=None):
|
| @@ -29,10 +34,9 @@ class TabListBackend(inspector_backend_list.InspectorBackendList):
|
| if len(self) <= 1:
|
| self.New(timeout)
|
| try:
|
| - response = self._browser_backend.Request('close/%s' % tab_id,
|
| - timeout=timeout,
|
| - throw_network_exception=True)
|
| - except urllib2.HTTPError:
|
| + response = self._devtools_http.Request('close/%s' % tab_id,
|
| + timeout=timeout)
|
| + except devtools_http.DevToolsClientUrlError:
|
| raise Exception('Unable to close tab, tab id not found: %s' % tab_id)
|
| assert response == 'Target is closing'
|
| util.WaitFor(lambda: tab_id not in self, timeout=5)
|
| @@ -42,10 +46,9 @@ class TabListBackend(inspector_backend_list.InspectorBackendList):
|
| tab_id = inspector_backend_list.DebuggerUrlToId(debugger_url)
|
| assert tab_id in self
|
| try:
|
| - response = self._browser_backend.Request('activate/%s' % tab_id,
|
| - timeout=timeout,
|
| - throw_network_exception=True)
|
| - except urllib2.HTTPError:
|
| + response = self._devtools_http.Request('activate/%s' % tab_id,
|
| + timeout=timeout)
|
| + except devtools_http.DevToolsClientUrlError:
|
| raise Exception('Unable to activate tab, tab id not found: %s' % tab_id)
|
| assert response == 'Target activated'
|
|
|
|
|