blob: c2babbd4e2010650a829c0d53e7db63ef7ee7252 [file] [log] [blame]
# 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.
from telemetry.core import exceptions
from telemetry.internal.backends.chrome import oobe
from telemetry.internal.backends.chrome_inspector 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.
"""
def __init__(self, browser_backend):
super(MiscWebContentsBackend, self).__init__(browser_backend)
@property
def oobe_exists(self):
"""Lightweight property to determine if the oobe webui is visible."""
try:
return bool(len(self))
except exceptions.Error:
return False
def GetOobe(self):
if not len(self):
return None
return self[0]
def ShouldIncludeContext(self, context):
return context.get('url').startswith('chrome://oobe')
def CreateWrapper(self, inspector_backend):
return oobe.Oobe(inspector_backend)