Chromium Code Reviews| Index: chrome/browser/resources/sync_internals/sync_log.js |
| diff --git a/chrome/browser/resources/sync_internals/sync_log.js b/chrome/browser/resources/sync_internals/sync_log.js |
| index 0d281890bc8091dd5ea849225280de73dbddf1e4..f3ac3e2232dfe32c14777a904a860c6ef53a25f1 100644 |
| --- a/chrome/browser/resources/sync_internals/sync_log.js |
| +++ b/chrome/browser/resources/sync_internals/sync_log.js |
| @@ -11,6 +11,35 @@ |
| */ |
| cr.define('chrome.sync', function() { |
| + 'use strict'; |
| + |
| + var eventsByCategory = { |
| + notifier: [ |
| + 'onNotificationStateChange', |
| + 'onIncomingNotification', |
| + ], |
| + |
| + manager: [ |
| + 'onChangesApplied', |
| + 'onChangesComplete', |
| + 'onSyncCycleCompleted', |
| + 'onConnectionStatusChange', |
| + 'onPassphraseRequired', |
| + 'onPassphraseAccepted', |
| + 'onInitializationComplete', |
| + 'onStopSyncingPermanently', |
| + 'onClearServerDataSucceeded', |
| + 'onClearServerDataFailed', |
| + 'onEncryptedTypesChanged', |
| + 'onEncryptionComplete', |
| + 'onActionableError', |
|
Dan Beam
2014/02/11 23:21:48
sort
rlarocque
2014/02/12 00:39:55
Done.
|
| + ], |
| + |
| + transaction: [ |
| + 'onTransactionWrite', |
| + ] |
|
Dan Beam
2014/02/11 23:21:48
nit: ],
rlarocque
2014/02/12 00:39:55
Done.
|
| + }; |
| + |
| /** |
| * Creates a new log object which then immediately starts recording |
| * sync events. Recorded entries are available in the 'entries' |
| @@ -21,21 +50,23 @@ cr.define('chrome.sync', function() { |
| var Log = function() { |
| var self = this; |
| - var makeListener = function(service, event) { |
| - return function(details) { |
| - self.log_(service, event, details); |
| - }; |
| - }; |
| - |
| - for (var eventType in chrome.sync.events) { |
| - var events = chrome.sync.events[eventType]; |
| - for (var i = 0; i < events.length; ++i) { |
| - var eventName = events[i]; |
| - var event = chrome.sync[eventName]; |
| - event.addListener(makeListener(eventType, eventName)); |
| + /** |
| + * Creates a callback function to be invoked when an event arrives. |
| + */ |
| + var makeCallback = function(categoryName, eventName) { |
| + return function(e) { |
| + self.log_(categoryName, eventName, e.details); |
| } |
|
Dan Beam
2014/02/11 23:21:48
};
rlarocque
2014/02/12 00:39:55
Done.
|
| } |
| - }; |
| + |
| + for (var categoryName in eventsByCategory) { |
| + eventsByCategory[categoryName].forEach(function(eventName) { |
|
Dan Beam
2014/02/11 23:21:48
nit: because this doesn't need to make a new scope
rlarocque
2014/02/12 00:39:55
Fixed.
|
| + chrome.sync.events.addEventListener( |
| + eventName, |
| + makeCallback(categoryName, eventName)); |
| + }); |
| + } |
| + } |
| Log.prototype = { |
| __proto__: cr.EventTarget.prototype, |