summaryrefslogtreecommitdiffstats
path: root/chrome/test
diff options
context:
space:
mode:
authornkostylev@google.com <nkostylev@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-27 10:08:20 +0000
committernkostylev@google.com <nkostylev@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-27 10:08:20 +0000
commit6ceaadeb1de7a206c8a9228068c26a1c970ead9a (patch)
tree4c953a2bd0b58173f5d2c9857bcee69d306876ca /chrome/test
parentaba0149d01714b8fc5cbe20151903a772471e775 (diff)
downloadchromium_src-6ceaadeb1de7a206c8a9228068c26a1c970ead9a.zip
chromium_src-6ceaadeb1de7a206c8a9228068c26a1c970ead9a.tar.gz
chromium_src-6ceaadeb1de7a206c8a9228068c26a1c970ead9a.tar.bz2
Add API on host registration page.
Add test register form page. Added extra debug logging. Full cycle: 1. Register screen navigates to chrome://register (host page). 2. host page requests DOMUI for register form URL: getRegistrationUrl msg on DOM load event. 3. Once URL is received it is loaded in an iframe. 4. When register form is loaded it sends get_user_info msg via postMessage to host page. 5. host page requests DOMUI for system/user info: getUserInfo msg. 6. Once info is received host page sends that to an iframe with set_user_info msg. 7. Register form notifies host page on registration success/skip status with complete_registration msg. 8. Based on registration result host page navigates to cros://register/[success|skipped] so that Out of box wizard is notified. BUG= http://crosbug.com/4813 TEST=manual Review URL: http://codereview.chromium.org/3058006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53768 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test')
-rw-r--r--chrome/test/data/register_form.html81
1 files changed, 81 insertions, 0 deletions
diff --git a/chrome/test/data/register_form.html b/chrome/test/data/register_form.html
new file mode 100644
index 0000000..5793a94
--- /dev/null
+++ b/chrome/test/data/register_form.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html>
+<!-- Test page for Chrome OS register form that is hosted at OEM partner site
+ and is loaded in chrome://register host page -->
+<html><head>
+<title>Registration test form</title>
+<style>
+
+#main {
+ position: absolute;
+ left: 0;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ padding: 10px;
+ overflow: hidden;
+ background: -webkit-gradient(linear, left top, left bottom, from(#FAFBFB), to(#CCD1D4));
+}
+</style>
+<script>
+document.addEventListener('DOMContentLoaded', load);
+var hostUrl = 'chrome://register';
+
+window.addEventListener('message', processMessage);
+
+function $(o) {
+ return document.getElementById(o);
+}
+
+function load() {
+ var msg = {
+ type: 'get_user_info',
+ domain: location.href,
+ payload: {}
+ };
+ window.parent.postMessage(msg, hostUrl);
+ $('url').textContent = location.href;
+}
+
+function processMessage(e) {
+ // TODO(nkostylev): e.origin is passed as null and not checked.
+ // Probably because it's served from chrome:// scheme.
+ if (e.data.domain != hostUrl)
+ return;
+
+ if (e.data.type == 'set_user_info') {
+ // TODO(nkostylev): Extract all available system/user info.
+ // http://crosbug.com/4813
+ var info = e.data.payload;
+ $('info').textContent = 'OS: ' + info.os_name + ', ' +
+ info.os_version + ' SKU:' + info.system_sku;
+ }
+
+ $('messageInfo').textContent = 'e.origin: ' + e.origin +
+ ', e.data.domain: ' + e.data.domain;
+}
+
+function registration(result) {
+ var msg = {
+ type: 'complete_registration',
+ domain: location.href,
+ payload: {
+ registration_status: result
+ }
+ };
+ var parent = window.parent;
+ parent.postMessage(msg, hostUrl);
+}
+</script>
+</head>
+<body>
+<div id="main">
+ <h3>Register your computer with Google</h3>
+ <i>This registration form is hosted at </i><div id="url"></div><br>
+ <i>User info received from host page:</i><br>
+ <div id="info"></div><br>
+ <i>Message info:</i><br>
+ <div id="messageInfo"></div><br>
+ <input type="button" value="Skip" onclick="registration(false);">
+ <input type="button" value="Register" onclick="registration(true);">
+</div>
+</body></html> \ No newline at end of file