<script> (function () { // Contains all notifications received since the page was loaded as a // map from each data type to the number of notifications received for // it. chrome.sync.notifications = {}; function updateNotificationsEnabledInfo(notificationsEnabled) { var notificationsEnabledInfo = document.getElementById('notificationsEnabledInfo'); jstProcess( new JsEvalContext({ 'notificationsEnabled': notificationsEnabled }), notificationsEnabledInfo); } function updateNotificationInfo(notification) { var notificationInfo = document.getElementById('notificationInfo'); jstProcess( new JsEvalContext({ 'notificationInfo': JSON.stringify(notification, null, 2) }), notificationInfo); } function onLoad() { chrome.sync.getNotificationState(updateNotificationsEnabledInfo); chrome.sync.getNotificationInfo(updateNotificationInfo); chrome.sync.onSyncNotificationStateChange.addListener( updateNotificationsEnabledInfo); chrome.sync.onSyncIncomingNotification.addListener(function(changedTypes) { for (var i = 0; i < changedTypes.length; ++i) { var changedType = changedTypes[i]; chrome.sync.notifications[changedType] = chrome.sync.notifications[changedType] || 0; ++chrome.sync.notifications[changedType]; } var infos = []; for (var k in chrome.sync.notifications) { var info = { 'modelType': k, 'notificationCount': chrome.sync.notifications[k] }; infos.push(info); } var notificationsInfo = document.getElementById('notificationsInfo'); jstProcess(new JsEvalContext({ 'notifications': infos }), notificationsInfo); chrome.sync.getNotificationInfo(updateNotificationInfo); }); } document.addEventListener("DOMContentLoaded", onLoad, false); })(); </script> <style> table#notificationsInfo tr:nth-child(odd) { background: #eff3ff; } </style> <p id='notificationsEnabledInfo'> Enabled: <span jscontent='notificationsEnabled'></span> </p> <p id='notificationInfo'> <span jscontent='notificationInfo'></span> </p> <table id='notificationsInfo'> <tr jsselect='notifications'> <td jscontent='modelType'/> <td jscontent='notificationCount'/> </tr> </table>