Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(476)

Side by Side Diff: chrome/browser/sync/notifier/server_notifier_thread.cc

Issue 6310015: [Sync] Roll cache-invalidation to @70 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix compile failure Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/sync/notifier/server_notifier_thread.h" 5 #include "chrome/browser/sync/notifier/server_notifier_thread.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "chrome/browser/sync/notifier/chrome_invalidation_client.h" 11 #include "chrome/browser/sync/notifier/chrome_invalidation_client.h"
12 #include "googleurl/src/gurl.h"
12 #include "jingle/notifier/base/notifier_options.h" 13 #include "jingle/notifier/base/notifier_options.h"
13 #include "jingle/notifier/listener/notification_defines.h" 14 #include "jingle/notifier/listener/notification_defines.h"
14 #include "talk/xmpp/xmppclient.h" 15 #include "talk/xmpp/xmppclient.h"
16 #include "webkit/glue/webkit_glue.h"
15 17
16 namespace sync_notifier { 18 namespace sync_notifier {
17 19
18 ServerNotifierThread::ServerNotifierThread( 20 ServerNotifierThread::ServerNotifierThread(
19 const notifier::NotifierOptions& notifier_options, 21 const notifier::NotifierOptions& notifier_options,
20 const std::string& state, StateWriter* state_writer) 22 const std::string& state, StateWriter* state_writer)
21 : notifier::MediatorThreadImpl(notifier_options), 23 : notifier::MediatorThreadImpl(notifier_options),
22 state_(state), 24 state_(state),
23 state_writers_(new ObserverListThreadSafe<StateWriter>()), 25 state_writers_(new ObserverListThreadSafe<StateWriter>()),
24 state_writer_(state_writer) { 26 state_writer_(state_writer) {
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 chrome_invalidation_client_->ChangeBaseTask(base_task_); 108 chrome_invalidation_client_->ChangeBaseTask(base_task_);
107 } else { 109 } else {
108 // Otherwise, create the invalidation client. 110 // Otherwise, create the invalidation client.
109 chrome_invalidation_client_.reset(new ChromeInvalidationClient()); 111 chrome_invalidation_client_.reset(new ChromeInvalidationClient());
110 112
111 // TODO(akalin): Make cache_guid() part of the client ID. If we do 113 // TODO(akalin): Make cache_guid() part of the client ID. If we do
112 // so and we somehow propagate it up to the server somehow, we can 114 // so and we somehow propagate it up to the server somehow, we can
113 // make it so that we won't receive any notifications that were 115 // make it so that we won't receive any notifications that were
114 // generated from our own changes. 116 // generated from our own changes.
115 const std::string kClientId = "server_notifier_thread"; 117 const std::string kClientId = "server_notifier_thread";
118 // Use user agent as |client_info| so we can use it for debugging
119 // server-side.
120 const std::string& client_info = webkit_glue::GetUserAgent(GURL());
116 chrome_invalidation_client_->Start( 121 chrome_invalidation_client_->Start(
117 kClientId, state_, this, this, base_task_); 122 kClientId, client_info, state_, this, this, base_task_);
118 state_.clear(); 123 state_.clear();
119 } 124 }
120 } 125 }
121 126
122 void ServerNotifierThread::RegisterTypesAndSignalSubscribed() { 127 void ServerNotifierThread::RegisterTypesAndSignalSubscribed() {
123 DCHECK_EQ(MessageLoop::current(), worker_message_loop()); 128 DCHECK_EQ(MessageLoop::current(), worker_message_loop());
124 if (!chrome_invalidation_client_.get()) { 129 if (!chrome_invalidation_client_.get()) {
125 return; 130 return;
126 } 131 }
127 chrome_invalidation_client_->RegisterTypes(); 132 chrome_invalidation_client_->RegisterTypes();
128 observers_->Notify(&Observer::OnSubscriptionStateChange, true); 133 observers_->Notify(&Observer::OnSubscriptionStateChange, true);
129 } 134 }
130 135
131 void ServerNotifierThread::StopInvalidationListener() { 136 void ServerNotifierThread::StopInvalidationListener() {
132 DCHECK_EQ(MessageLoop::current(), worker_message_loop()); 137 DCHECK_EQ(MessageLoop::current(), worker_message_loop());
133 chrome_invalidation_client_.reset(); 138 chrome_invalidation_client_.reset();
134 } 139 }
135 140
136 } // namespace sync_notifier 141 } // namespace sync_notifier
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698