14e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 24e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 34e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// found in the LICENSE file. 44e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 54e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)function dumpDevices(devices) { 64e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) $('#deviceinfos').empty(); 74e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) $('#deviceinfos').append(outputDevicesToList(devices)); 84e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)} 94e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 104e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)function outputDevicesToList(devices) { 114e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) var table = $('<table border="1">'); 124e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) table.append($("<tr>" + 134e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) "<th>" + "Name" + "</th>" + 144e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) "<th>" + "OS" + "</th>" + 154e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) "<th>" + "Id" + "</th>" + 164e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) "<th>" + "Type" + "</th>" + 174e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) "<th>" + "Chrome Version" + "</th>" + 184e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) "</tr>")); 194e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) for (i = 0; i < devices.length; i++) { 204e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) table.append($("<tr>" + 214e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) "<td>" + devices[i].name + "</td>" + 224e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) "<td>" + devices[i].os + "</td>" + 234e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) "<td>" + devices[i].id + "</td>" + 244e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) "<td>" + devices[i].type + "</td>" + 254e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) "<td>" + devices[i].chromeVersion + "</td>" + 264e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) "</tr>")); 274e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) } 284e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) return table; 294e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)} 304e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 314e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Add an event listener to listen for changes to device info. The 324e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// callback would redisplay the list of devices. 334e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)chrome.signedInDevices.onDeviceInfoChange.addListener(dumpDevices); 344e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 354e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)function populateDevices() { 364e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) // Get the list of devices and display it. 374e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) chrome.signedInDevices.get(false, dumpDevices); 384e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)} 394e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 404e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)document.addEventListener('DOMContentLoaded', function () { 414e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) populateDevices(); 424e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)}); 43