Home | History | Annotate | Download | only in sync_internals
      1 // Copyright (c) 2012 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 highlightIfChanged(node, oldVal, newVal) {
      6   function clearHighlight() {
      7     this.removeAttribute('highlighted');
      8   }
      9 
     10   var oldStr = oldVal.toString();
     11   var newStr = newVal.toString();
     12   if (oldStr != '' && oldStr != newStr) {
     13     // Note the addListener function does not end up creating duplicate
     14     // listeners.  There can be only one listener per event at a time.
     15     // Reference: https://developer.mozilla.org/en/DOM/element.addEventListener
     16     node.addEventListener('webkitAnimationEnd', clearHighlight, false);
     17     node.setAttribute('highlighted');
     18   }
     19 }
     20 
     21 (function() {
     22 // Contains the latest snapshot of sync about info.
     23 chrome.sync.aboutInfo = {};
     24 
     25 // TODO(akalin): Make aboutInfo have key names likeThis and not
     26 // like_this.
     27 function refreshAboutInfo(aboutInfo) {
     28   chrome.sync.aboutInfo = aboutInfo;
     29   var aboutInfoDiv = $('aboutInfo');
     30   jstProcess(new JsEvalContext(aboutInfo), aboutInfoDiv);
     31 }
     32 
     33 function onLoad() {
     34   chrome.sync.getAboutInfo(refreshAboutInfo);
     35 
     36   chrome.sync.onServiceStateChanged.addListener(function() {
     37     chrome.sync.getAboutInfo(refreshAboutInfo);
     38   });
     39 }
     40 
     41 document.addEventListener('DOMContentLoaded', onLoad, false);
     42 })();
     43