summaryrefslogtreecommitdiffstats
path: root/chrome/browser/sync/sessions/sync_session_context.cc
diff options
context:
space:
mode:
authorlipalani@chromium.org <lipalani@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-15 16:52:23 +0000
committerlipalani@chromium.org <lipalani@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-15 16:52:23 +0000
commit88341f581dfaf919bee547aa9a79abbe9a2eb6e0 (patch)
tree9b1d76b955bdde40a3eaaae4367172280b2583e8 /chrome/browser/sync/sessions/sync_session_context.cc
parent77fc9b995d8c22fc25aa131126e295a4db061dbc (diff)
downloadchromium_src-88341f581dfaf919bee547aa9a79abbe9a2eb6e0.zip
chromium_src-88341f581dfaf919bee547aa9a79abbe9a2eb6e0.tar.gz
chromium_src-88341f581dfaf919bee547aa9a79abbe9a2eb6e0.tar.bz2
Send important client side event information to the server. We create a class called DebugInfoEventListener which implements 2 interfaces. one being the syncmanager::observer to observe events from syncmanager.
The other being DebugInfoGetter so that syncer can call this class to give the debug information in protobuf format. The implementation of this class uses a queue. And it limits the number of events to 6. if more than 6 events are in the queue we delete the oldest event. Also we send this information to the server only once per sync cycle during the first getudpdates command. also includes the unit test. BUG=100058 TEST= Review URL: http://codereview.chromium.org/8189003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105667 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/sync/sessions/sync_session_context.cc')
-rw-r--r--chrome/browser/sync/sessions/sync_session_context.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/chrome/browser/sync/sessions/sync_session_context.cc b/chrome/browser/sync/sessions/sync_session_context.cc
index f0cbce4..f06c300 100644
--- a/chrome/browser/sync/sessions/sync_session_context.cc
+++ b/chrome/browser/sync/sessions/sync_session_context.cc
@@ -5,6 +5,7 @@
#include "chrome/browser/sync/sessions/sync_session_context.h"
#include "chrome/browser/sync/util/extensions_activity_monitor.h"
+#include "chrome/browser/sync/sessions/debug_info_getter.h"
#include "chrome/browser/sync/sessions/session_state.h"
#include "content/browser/browser_thread.h"
@@ -15,14 +16,16 @@ SyncSessionContext::SyncSessionContext(
ServerConnectionManager* connection_manager,
syncable::DirectoryManager* directory_manager,
ModelSafeWorkerRegistrar* model_safe_worker_registrar,
- const std::vector<SyncEngineEventListener*>& listeners)
+ const std::vector<SyncEngineEventListener*>& listeners,
+ DebugInfoGetter* debug_info_getter)
: resolver_(NULL),
connection_manager_(connection_manager),
directory_manager_(directory_manager),
registrar_(model_safe_worker_registrar),
extensions_activity_monitor_(new ExtensionsActivityMonitor()),
notifications_enabled_(false),
- max_commit_batch_size_(kDefaultMaxCommitBatchSize) {
+ max_commit_batch_size_(kDefaultMaxCommitBatchSize),
+ debug_info_getter_(debug_info_getter) {
std::vector<SyncEngineEventListener*>::const_iterator it;
for (it = listeners.begin(); it != listeners.end(); ++it)
listeners_.AddObserver(*it);