Index: google_apis/test/embedded_setup_chromeos.html
|
diff --git a/google_apis/test/embedded_setup_chromeos.html b/google_apis/test/embedded_setup_chromeos.html
|
new file mode 100644
|
index 0000000000000000000000000000000000000000..d2175f00336984473505f1dc0c5ccd946e5ece05
|
--- /dev/null
|
+++ b/google_apis/test/embedded_setup_chromeos.html
|
@@ -0,0 +1,110 @@
|
+<html>
|
+<head>
|
+<script>
|
+var gaia = gaia || {};
|
+gaia.chromeOSLogin = {};
|
+
|
+gaia.chromeOSLogin.parent_webview_signin_url_ = 'chrome://chrome-signin';
|
+gaia.chromeOSLogin.parent_webview_oob_url_ = 'chrome://oobe';
|
+gaia.chromeOSLogin.parent_webview_ = undefined;
|
+gaia.chromeOSLogin.parent_webview_url_ = undefined;
|
+
|
+gaia.chromeOSLogin.registerHtml5Listener = function() {
|
+ var onMessage = function(e) {
|
+ if (e.origin == gaia.chromeOSLogin.parent_webview_signin_url_ ||
|
+ e.origin == gaia.chromeOSLogin.parent_webview_oob_url_) {
|
+ gaia.chromeOSLogin.parent_webview_ = e.source;
|
+ gaia.chromeOSLogin.parent_webview_url_ = e.origin;
|
+
|
+ // Repeat clearOldAttempts as soon as we got parent.
|
+ gaia.chromeOSLogin.clearOldAttempts();
|
+ }
|
+ };
|
+ window.addEventListener('message', onMessage);
|
+}
|
+
|
+gaia.chromeOSLogin.clearOldAttempts = function() {
|
+ var msg = {
|
+ 'method': 'clearOldAttempts'
|
+ };
|
+ gaia.chromeOSLogin.parent_webview_.postMessage(msg,
|
+ gaia.chromeOSLogin.parent_webview_url_);
|
+};
|
+
|
+gaia.chromeOSLogin.attemptLogin = function(email, password) {
|
+ var msg = {
|
+ 'method': 'attemptLogin',
|
+ 'email': email,
|
+ 'password': password,
|
+ };
|
+ gaia.chromeOSLogin.parent_webview_.postMessage(msg,
|
+ gaia.chromeOSLogin.parent_webview_url_);
|
+};
|
+
|
+gaia.chromeOSLogin.backButton = function(show) {
|
+ var msg = {
|
+ 'method': 'backButton',
|
+ 'show': show,
|
+ };
|
+ gaia.chromeOSLogin.parent_webview_.postMessage(msg,
|
+ gaia.chromeOSLogin.parent_webview_url_);
|
+};
|
+
|
+function goNext() {
|
+ if (!document.getElementById("page1").hidden) {
|
+ document.getElementById("page1").hidden = true;
|
+ document.getElementById("page2").hidden = false;
|
+ history.pushState({}, "", window.location.pathname + "#challengepassword");
|
+
|
+ request = new XMLHttpRequest();
|
+ request.open('POST', '/_/embedded/lookup/accountlookup', true);
|
+ request.onreadystatechange = function() {
|
+ if (request.readyState == 4 && request.status == 200) {
|
+ if (request.getResponseHeader("continue"))
|
+ location.assign(request.getResponseHeader("continue"));
|
+ }
|
+ };
|
+ var email = document.getElementById("identifier").value;
|
+ request.send('identifier=' + encodeURIComponent(email));
|
+
|
+ gaia.chromeOSLogin.attemptLogin(email, "");
|
+ gaia.chromeOSLogin.backButton(true);
|
+ } else if (!document.getElementById("page2").hidden) {
|
+ var email = document.getElementById("identifier").value;
|
+ var password = document.getElementById("password").value;
|
+
|
+ request = new XMLHttpRequest();
|
+ request.open('POST', '/_/embedded/signin/challenge', true);
|
+ request.onreadystatechange = function() {
|
+ if (request.readyState == 4 && request.status == 200) {
|
+ history.pushState({}, "", window.location.pathname + "#close");
|
+ }
|
+ };
|
+ request.send('identifier=' + encodeURIComponent(email));
|
+
|
+ gaia.chromeOSLogin.attemptLogin(email, password);
|
+ }
|
+}
|
+
|
+function onLoad() {
|
+ gaia.chromeOSLogin.registerHtml5Listener();
|
+ document.getElementById("page1").hidden = false;
|
+ history.replaceState({}, "", window.location.pathname + "#identifier");
|
+ gaia.chromeOSLogin.clearOldAttempts();
|
+}
|
+
|
+</script>
|
+</head>
|
+<body onload='onLoad();'>
|
+ Local Auth Server:<br>
|
+ <div id="page1" hidden>
|
+ Email
|
+ <input id="identifier" name="identifier" type="email" spellcheck="false" autocomplete="off" formnovalidate="">
|
+ </div>
|
+ <div id="page2" hidden>
|
+ Password
|
+ <input id="password" name="password" type="password" spellcheck="false" autocomplete="off" formnovalidate="">
|
+ </div><br>
|
+ <div id='nextButton' onclick='goNext();'>Next</div>
|
+</body>
|
+</html>
|
|