| Index: tools/telemetry/telemetry/internal/backends/chrome/tab_list_backend.py
|
| diff --git a/tools/telemetry/telemetry/internal/backends/chrome/tab_list_backend.py b/tools/telemetry/telemetry/internal/backends/chrome/tab_list_backend.py
|
| deleted file mode 100644
|
| index aedc5d6b79c97a18a8f85bd11a27f97b199742f5..0000000000000000000000000000000000000000
|
| --- a/tools/telemetry/telemetry/internal/backends/chrome/tab_list_backend.py
|
| +++ /dev/null
|
| @@ -1,110 +0,0 @@
|
| -# Copyright 2013 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 json
|
| -
|
| -from telemetry.core import exceptions
|
| -from telemetry.core import util
|
| -from telemetry.internal.backends.chrome_inspector import inspector_backend_list
|
| -from telemetry.internal.browser import tab
|
| -
|
| -
|
| -class TabUnexpectedResponseException(exceptions.DevtoolsTargetCrashException):
|
| - pass
|
| -
|
| -
|
| -class TabListBackend(inspector_backend_list.InspectorBackendList):
|
| - """A dynamic sequence of tab.Tabs in UI order."""
|
| -
|
| - def __init__(self, browser_backend):
|
| - super(TabListBackend, self).__init__(browser_backend)
|
| -
|
| - def New(self, timeout):
|
| - """Makes a new tab.
|
| -
|
| - Returns:
|
| - A Tab object.
|
| -
|
| - Raises:
|
| - devtools_http.DevToolsClientConnectionError
|
| - """
|
| - if not self._browser_backend.supports_tab_control:
|
| - raise NotImplementedError("Browser doesn't support tab control.")
|
| - response = self._browser_backend.devtools_client.RequestNewTab(timeout)
|
| - try:
|
| - response = json.loads(response)
|
| - context_id = response['id']
|
| - except (KeyError, ValueError):
|
| - raise TabUnexpectedResponseException(
|
| - app=self._browser_backend.browser,
|
| - msg='Received response: %s' % response)
|
| - return self.GetBackendFromContextId(context_id)
|
| -
|
| - def CloseTab(self, tab_id, timeout=300):
|
| - """Closes the tab with the given debugger_url.
|
| -
|
| - Raises:
|
| - devtools_http.DevToolsClientConnectionError
|
| - devtools_client_backend.TabNotFoundError
|
| - TabUnexpectedResponseException
|
| - exceptions.TimeoutException
|
| - """
|
| - assert self._browser_backend.supports_tab_control
|
| - # TODO(dtu): crbug.com/160946, allow closing the last tab on some platforms.
|
| - # For now, just create a new tab before closing the last tab.
|
| - if len(self) <= 1:
|
| - self.New(timeout)
|
| -
|
| - response = self._browser_backend.devtools_client.CloseTab(tab_id, timeout)
|
| -
|
| - if response != 'Target is closing':
|
| - raise TabUnexpectedResponseException(
|
| - app=self._browser_backend.browser,
|
| - msg='Received response: %s' % response)
|
| -
|
| - util.WaitFor(lambda: tab_id not in self.IterContextIds(), timeout=5)
|
| -
|
| - def ActivateTab(self, tab_id, timeout=30):
|
| - """Activates the tab with the given debugger_url.
|
| -
|
| - Raises:
|
| - devtools_http.DevToolsClientConnectionError
|
| - devtools_client_backend.TabNotFoundError
|
| - TabUnexpectedResponseException
|
| - """
|
| - assert self._browser_backend.supports_tab_control
|
| -
|
| - response = self._browser_backend.devtools_client.ActivateTab(tab_id,
|
| - timeout)
|
| -
|
| - if response != 'Target activated':
|
| - raise TabUnexpectedResponseException(
|
| - app=self._browser_backend.browser,
|
| - msg='Received response: %s' % response)
|
| -
|
| - def Get(self, index, ret):
|
| - """Returns self[index] if it exists, or ret if index is out of bounds."""
|
| - if len(self) <= index:
|
| - return ret
|
| - return self[index]
|
| -
|
| - def ShouldIncludeContext(self, context):
|
| - if 'type' in context:
|
| - return context['type'] == 'page'
|
| - # TODO: For compatibility with Chrome before r177683.
|
| - # This check is not completely correct, see crbug.com/190592.
|
| - return not context['url'].startswith('chrome-extension://')
|
| -
|
| - def CreateWrapper(self, inspector_backend):
|
| - return tab.Tab(inspector_backend, self, self._browser_backend.browser)
|
| -
|
| - def _HandleDevToolsConnectionError(self, error):
|
| - if not self._browser_backend.IsAppRunning():
|
| - error.AddDebuggingMessage('The browser is not running. It probably '
|
| - 'crashed.')
|
| - elif not self._browser_backend.HasBrowserFinishedLaunching():
|
| - error.AddDebuggingMessage('The browser exists but cannot be reached.')
|
| - else:
|
| - error.AddDebuggingMessage('The browser exists and can be reached. '
|
| - 'The devtools target probably crashed.')
|
|
|