diff options
author | nkostylev@google.com <nkostylev@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-27 10:08:20 +0000 |
---|---|---|
committer | nkostylev@google.com <nkostylev@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-27 10:08:20 +0000 |
commit | 6ceaadeb1de7a206c8a9228068c26a1c970ead9a (patch) | |
tree | 4c953a2bd0b58173f5d2c9857bcee69d306876ca /chrome/test | |
parent | aba0149d01714b8fc5cbe20151903a772471e775 (diff) | |
download | chromium_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.html | 81 |
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 |