14e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)# Copyright 2013 The Chromium Authors. All rights reserved. 24e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be 34e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)# found in the LICENSE file. 44e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 54e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)from telemetry.core import browser 64e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)from telemetry.core.backends.chrome import cros_browser_backend 74e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 86e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 94e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class CrOSBrowserWithOOBE(browser.Browser): 104e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) """Cros-specific browser.""" 111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci def __init__(self, backend, platform_backend, archive_path, 121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci append_to_existing_wpr, make_javascript_deterministic, 131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci credentials_path): 144e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) assert isinstance(backend, cros_browser_backend.CrOSBrowserBackend) 151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci super(CrOSBrowserWithOOBE, self).__init__(backend, 161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci platform_backend, 171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci archive_path, 181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci append_to_existing_wpr, 191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci make_javascript_deterministic, 201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci credentials_path) 214e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 224e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) @property 234e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) def oobe(self): 244e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) """The login webui (also serves as ui for screenlock and 254e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) out-of-box-experience). 264e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) """ 274e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) return self._browser_backend.oobe 285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) @property 305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) def oobe_exists(self): 315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) """True if the login/oobe/screenlock webui exists. This is more lightweight 325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) than accessing the oobe property. 335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) """ 345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return self._browser_backend.oobe_exists 35