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