12f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley// Copyright (c) 2010 The Chromium Authors. All rights reserved. 22f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley// Use of this source code is governed by a BSD-style license that can be 32f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley// found in the LICENSE file. 42f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley 52f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley 62f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wileyfunction chromeos() { 72f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley} 82f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley 92f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wileychromeos.connectionManager = function() { 102f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley}; 112f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley 122f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wileychromeos.connectionManager.device_info_callback_ = null; 132f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wileychromeos.connectionManager.transaction_status_callback_ = null; 142f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wileychromeos.connectionManager.parent_page_url_ = 'chrome://mobilesetup'; 152f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley 162f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wileychromeos.connectionManager.getDeviceInfo = function(callback) { 172f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley chromeos.connectionManager.device_info_callback_ = callback; 182f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley chromeos.connectionManager.requestDeviceInfo_(); 192f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley}; 202f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley 212f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wileychromeos.connectionManager.setTransactionStatus = function(status, callback) { 222f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley chromeos.connectionManager.transaction_status_callback_ = callback; 232f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley chromeos.connectionManager.reportTransactionStatus_(status); 242f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley}; 252f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley 262f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wileychromeos.connectionManager.reportTransactionStatus_ = function(status) { 272f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley var msg = { 282f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley 'type': 'reportTransactionStatusMsg', 292f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley 'domain': location.href, 302f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley 'status': status 312f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley }; 322f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley window.parent.postMessage(msg, chromeos.connectionManager.parent_page_url_); 332f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley}; 342f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley 352f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wileychromeos.connectionManager.requestDeviceInfo_ = function() { 362f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley var msg = { 372f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley 'type': 'requestDeviceInfoMsg', 382f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley 'domain': location.href, 392f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley }; 402f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley window.parent.postMessage(msg, chromeos.connectionManager.parent_page_url_); 412f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley} 422f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley 432f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wileywindow.addEventListener('message', function(e) { 442f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley if (e.data.type == 'deviceInfoMsg') { 452f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley if (chromeos.connectionManager.device_info_callback_) 462f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley chromeos.connectionManager.device_info_callback_(e.data.payload); 472f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley } 482f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley}); 49