1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 (function() { 6 function makeLogEntryNode(entry) { 7 var timeNode = document.createElement('td'); 8 timeNode.textContent = entry.date; 9 10 var submoduleNode = document.createElement('td'); 11 submoduleNode.textContent = entry.submodule; 12 13 var eventNode = document.createElement('td'); 14 eventNode.textContent = entry.event; 15 16 var details = document.createElement('pre'); 17 details.textContent = JSON.stringify(entry.details, null, 2); 18 var detailsNode = document.createElement('td'); 19 detailsNode.appendChild(details); 20 21 var node = document.createElement('tr'); 22 node.appendChild(timeNode); 23 node.appendChild(submoduleNode); 24 node.appendChild(eventNode); 25 node.appendChild(detailsNode); 26 27 return node; 28 } 29 30 var syncEvents = document.getElementById('sync-events'); 31 32 var entries = chrome.sync.log.entries; 33 for (var i = 0; i < entries.length; ++i) { 34 syncEvents.appendChild(makeLogEntryNode(entries[i])); 35 } 36 37 chrome.sync.log.addEventListener('append', function(event) { 38 syncEvents.appendChild(makeLogEntryNode(event.detail)); 39 }); 40 })(); 41