| Index: tools/telemetry/telemetry/core/backends/chrome/misc_web_contents_backend.py
|
| diff --git a/tools/telemetry/telemetry/core/backends/chrome/misc_web_contents_backend.py b/tools/telemetry/telemetry/core/backends/chrome/misc_web_contents_backend.py
|
| index 933010e267ae04376b3f5d7241876c183bbc3390..7eb08568f93920ea8d571d64984d42c48ea98166 100644
|
| --- a/tools/telemetry/telemetry/core/backends/chrome/misc_web_contents_backend.py
|
| +++ b/tools/telemetry/telemetry/core/backends/chrome/misc_web_contents_backend.py
|
| @@ -1,47 +1,30 @@
|
| # 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 web_contents
|
| -from telemetry.core.backends.chrome import inspector_backend
|
| +from telemetry.core.backends.chrome import inspector_backend_list
|
| +
|
| +
|
| +class MiscWebContentsBackend(inspector_backend_list.InspectorBackendList):
|
| + """A dynamic sequence of web contents not related to tabs and extensions.
|
| +
|
| + Provides acccess to chrome://oobe/login page.
|
| + """
|
|
|
| -class MiscWebContentsBackend(object):
|
| - """Provides acccess to chrome://oobe/login page, which is neither an extension
|
| - nor a tab."""
|
| def __init__(self, browser_backend):
|
| - self._browser_backend = browser_backend
|
| + super(MiscWebContentsBackend, self).__init__(
|
| + browser_backend, backend_wrapper=web_contents.WebContents)
|
|
|
| @property
|
| def oobe_exists(self):
|
| """Lightweight property to determine if the oobe webui is visible."""
|
| - return bool(self._FindWebContentsInfo())
|
| + return bool(len(self))
|
|
|
| def GetOobe(self):
|
| - oobe_web_contents_info = self._FindWebContentsInfo()
|
| - if oobe_web_contents_info:
|
| - debugger_url = oobe_web_contents_info.get('webSocketDebuggerUrl')
|
| - if debugger_url:
|
| - try:
|
| - inspector = self._CreateInspectorBackend(debugger_url)
|
| - except exceptions.TabCrashException:
|
| - return None
|
| - return web_contents.WebContents(inspector)
|
| - return None
|
| -
|
| - def _CreateInspectorBackend(self, debugger_url):
|
| - return inspector_backend.InspectorBackend(self._browser_backend.browser,
|
| - self._browser_backend,
|
| - debugger_url)
|
| -
|
| - def _ListWebContents(self, timeout=None):
|
| - data = self._browser_backend.Request('', timeout=timeout)
|
| - return json.loads(data)
|
| -
|
| - def _FindWebContentsInfo(self):
|
| - for web_contents_info in self._ListWebContents():
|
| - # Prior to crrev.com/203152, url was chrome://oobe/login.
|
| - if (web_contents_info.get('url').startswith('chrome://oobe')):
|
| - return web_contents_info
|
| - return None
|
| + if not len(self):
|
| + return None
|
| + return self[0]
|
| +
|
| + def ShouldIncludeContext(self, context):
|
| + return context.get('url').startswith('chrome://oobe')
|
|
|