diff options
Diffstat (limited to 'chromium/chrome/browser/resources/sync_internals/notifications.js')
-rw-r--r-- | chromium/chrome/browser/resources/sync_internals/notifications.js | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/chromium/chrome/browser/resources/sync_internals/notifications.js b/chromium/chrome/browser/resources/sync_internals/notifications.js deleted file mode 100644 index af6cb3f59e7..00000000000 --- a/chromium/chrome/browser/resources/sync_internals/notifications.js +++ /dev/null @@ -1,97 +0,0 @@ -// Copyright (c) 2012 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() { - -// TODO(akalin): Use table.js. - -function updateNotificationStateInfo(notificationState) { - var notificationStateInfo = $('notificationStateInfo'); - jstProcess( - new JsEvalContext({ 'notificationState': notificationState }), - notificationStateInfo); -} - -// Contains all notification data. The keys are sync types (as strings) and -// the value is a dictionary with: -// -// type: the sync type again (for convenience when using JsTemplate) -// totalCount: Number of notifications received since browser start. -// sessionCount: Number of notifications received this -// chrome://sync-internals session. -// payload: The last received payload. -// -chrome.sync.notifications = {}; - -/** - * Merges d1 and d2 (with d2 taking precedence) and returns the result. - */ -function mergeDictionaries(d1, d2) { - var d = {}; - for (var k in d1) { - d[k] = d1[k]; - } - for (var k in d2) { - d[k] = d2[k]; - } - return d; -} - -/** - * Merge notificationInfo into chrome.sync.notifications. - */ -function updateNotificationsFromNotificationInfo(notificationInfo) { - for (var k in notificationInfo) { - chrome.sync.notifications[k] = - mergeDictionaries(chrome.sync.notifications[k] || {}, - notificationInfo[k]); - // notificationInfo[k] has values for the totalCount and payload keys, - // so fill in the rest (if necessary). - chrome.sync.notifications[k].type = k; - chrome.sync.notifications[k].sessionCount = - chrome.sync.notifications[k].sessionCount || 0; - } -} - -function incrementSessionNotificationCount(changedType) { - chrome.sync.notifications[changedType].sessionCount = - chrome.sync.notifications[changedType].sessionCount || 0; - ++chrome.sync.notifications[changedType].sessionCount; -} - -function updateNotificationInfoTable() { - var notificationInfoTable = $('notificationInfo'); - var infos = []; - for (var k in chrome.sync.notifications) { - infos.push(chrome.sync.notifications[k]); - } - jstProcess(new JsEvalContext({ 'notifications': infos }), - notificationInfoTable); -} - -function updateNotificationInfo(notificationInfo) { - updateNotificationsFromNotificationInfo(notificationInfo); - updateNotificationInfoTable(); -} - -function onLoad() { - chrome.sync.getNotificationState(updateNotificationStateInfo); - chrome.sync.getNotificationInfo(updateNotificationInfo); - chrome.sync.onNotificationStateChange.addListener( - function(details) { updateNotificationStateInfo(details.state); }); - - chrome.sync.onIncomingNotification.addListener(function(details) { - var changedTypes = details.changedTypes; - for (var i = 0; i < changedTypes.length; ++i) { - incrementSessionNotificationCount(changedTypes[i]); - } - updateNotificationInfoTable(); - - // Also update total counts. - chrome.sync.getNotificationInfo(updateNotificationInfo); - }); -} - -document.addEventListener('DOMContentLoaded', onLoad, false); -})(); |