// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

(function() {
function makeLogEntryNode(entry) {
  var timeNode = document.createElement('td');
  timeNode.textContent = entry.date;

  var submoduleNode = document.createElement('td');
  submoduleNode.textContent = entry.submodule;

  var eventNode = document.createElement('td');
  eventNode.textContent = entry.event;

  var details = document.createElement('pre');
  details.textContent = JSON.stringify(entry.details, null, 2);
  var detailsNode = document.createElement('td');
  detailsNode.appendChild(details);

  var node = document.createElement('tr');
  node.appendChild(timeNode);
  node.appendChild(submoduleNode);
  node.appendChild(eventNode);
  node.appendChild(detailsNode);

  return node;
}

var syncEvents = document.getElementById('sync-events');

var entries = chrome.sync.log.entries;
for (var i = 0; i < entries.length; ++i) {
  syncEvents.appendChild(makeLogEntryNode(entries[i]));
}

chrome.sync.log.addEventListener('append', function(event) {
  syncEvents.appendChild(makeLogEntryNode(event.detail));
});
})();