| Index: tools/telemetry/telemetry/internal/backends/chrome/oobe.py
|
| diff --git a/tools/telemetry/telemetry/internal/backends/chrome/oobe.py b/tools/telemetry/telemetry/internal/backends/chrome/oobe.py
|
| deleted file mode 100644
|
| index 381ed641146e0cf1ee0027e69cb333f691dd8e26..0000000000000000000000000000000000000000
|
| --- a/tools/telemetry/telemetry/internal/backends/chrome/oobe.py
|
| +++ /dev/null
|
| @@ -1,117 +0,0 @@
|
| -# Copyright 2014 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 functools import partial
|
| -import logging
|
| -
|
| -from telemetry.core import exceptions
|
| -from telemetry.core import util
|
| -from telemetry.internal.browser import web_contents
|
| -
|
| -
|
| -class Oobe(web_contents.WebContents):
|
| - def __init__(self, inspector_backend):
|
| - super(Oobe, self).__init__(inspector_backend)
|
| -
|
| - def _GaiaIFrameContext(self):
|
| - max_context_id = self.EnableAllContexts()
|
| - logging.debug('%d contexts in Gaia page' % max_context_id)
|
| - for gaia_iframe_context in range(max_context_id + 1):
|
| - try:
|
| - if self.EvaluateJavaScriptInContext(
|
| - "document.readyState == 'complete' && "
|
| - "document.getElementById('Email') != null",
|
| - gaia_iframe_context):
|
| - return gaia_iframe_context
|
| - except exceptions.EvaluateException:
|
| - pass
|
| - return None
|
| -
|
| - def _GaiaWebviewContext(self):
|
| - webview_contexts = self.GetWebviewContexts()
|
| - if webview_contexts:
|
| - return webview_contexts[0]
|
| - return None
|
| -
|
| - def _ExecuteOobeApi(self, api, *args):
|
| - logging.info('Invoking %s' % api)
|
| - self.WaitForJavaScriptExpression("typeof Oobe == 'function'", 20)
|
| -
|
| - if self.EvaluateJavaScript("typeof %s == 'undefined'" % api):
|
| - raise exceptions.LoginException('%s js api missing' % api)
|
| -
|
| - js = api + '(' + ("'%s'," * len(args)).rstrip(',') + ');'
|
| - self.ExecuteJavaScript(js % args)
|
| -
|
| - def NavigateGuestLogin(self):
|
| - """Logs in as guest."""
|
| - self._ExecuteOobeApi('Oobe.guestLoginForTesting')
|
| -
|
| - def NavigateFakeLogin(self, username, password, gaia_id):
|
| - """Fake user login."""
|
| - self._ExecuteOobeApi('Oobe.loginForTesting', username, password, gaia_id)
|
| -
|
| - def NavigateGaiaLogin(self, username, password,
|
| - enterprise_enroll=False,
|
| - for_user_triggered_enrollment=False):
|
| - """Logs in using the GAIA webview or IFrame, whichever is
|
| - present. |enterprise_enroll| allows for enterprise enrollment.
|
| - |for_user_triggered_enrollment| should be False for remora enrollment."""
|
| - self._ExecuteOobeApi('Oobe.skipToLoginForTesting')
|
| - if for_user_triggered_enrollment:
|
| - self._ExecuteOobeApi('Oobe.switchToEnterpriseEnrollmentForTesting')
|
| -
|
| - self._NavigateGaiaLogin(username, password, enterprise_enroll)
|
| -
|
| - if enterprise_enroll:
|
| - self.WaitForJavaScriptExpression('Oobe.isEnrollmentSuccessfulForTest()',
|
| - 30)
|
| - self._ExecuteOobeApi('Oobe.enterpriseEnrollmentDone')
|
| -
|
| - def _NavigateGaiaLogin(self, username, password, enterprise_enroll):
|
| - """Invokes NavigateIFrameLogin or NavigateWebViewLogin as appropriate."""
|
| - def _GetGaiaFunction():
|
| - if self._GaiaWebviewContext() is not None:
|
| - return partial(Oobe._NavigateWebViewLogin,
|
| - wait_for_close=not enterprise_enroll)
|
| - elif self._GaiaIFrameContext() is not None:
|
| - return partial(Oobe._NavigateIFrameLogin,
|
| - add_user_for_testing=not enterprise_enroll)
|
| - return None
|
| - util.WaitFor(_GetGaiaFunction, 20)(self, username, password)
|
| -
|
| - def _NavigateIFrameLogin(self, username, password, add_user_for_testing):
|
| - """Logs into the IFrame-based GAIA screen"""
|
| - gaia_iframe_context = util.WaitFor(self._GaiaIFrameContext, timeout=30)
|
| -
|
| - if add_user_for_testing:
|
| - self._ExecuteOobeApi('Oobe.showAddUserForTesting')
|
| - self.ExecuteJavaScriptInContext("""
|
| - document.getElementById('Email').value='%s';
|
| - document.getElementById('Passwd').value='%s';
|
| - document.getElementById('signIn').click();"""
|
| - % (username, password),
|
| - gaia_iframe_context)
|
| -
|
| - def _NavigateWebViewLogin(self, username, password, wait_for_close):
|
| - """Logs into the webview-based GAIA screen"""
|
| - self._NavigateWebViewEntry('identifierId', username, 'identifierNext')
|
| - self._NavigateWebViewEntry('password', password, 'next')
|
| - if wait_for_close:
|
| - util.WaitFor(lambda: not self._GaiaWebviewContext(), 20)
|
| -
|
| - def _NavigateWebViewEntry(self, field, value, nextField):
|
| - self._WaitForField(field)
|
| - self._WaitForField(nextField)
|
| - gaia_webview_context = self._GaiaWebviewContext()
|
| - gaia_webview_context.EvaluateJavaScript("""
|
| - document.getElementById('%s').value='%s';
|
| - document.getElementById('%s').click()"""
|
| - % (field, value, nextField))
|
| -
|
| - def _WaitForField(self, field_id):
|
| - gaia_webview_context = util.WaitFor(self._GaiaWebviewContext, 5)
|
| - util.WaitFor(gaia_webview_context.HasReachedQuiescence, 20)
|
| - gaia_webview_context.WaitForJavaScriptExpression(
|
| - "document.getElementById('%s') != null" % field_id, 20)
|
|
|