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

Side by Side Diff: chrome/browser/sync/glue/sync_backend_host.cc

Issue 2828021: Take 2: sync changes to support encryption (Closed)
Patch Set: fix flaky password test under valgrind Created 10 years, 6 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
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 "build/build_config.h" 5 #include "build/build_config.h"
6 #include "base/file_util.h" 6 #include "base/file_util.h"
7 #include "base/file_version_info.h" 7 #include "base/file_version_info.h"
8 #include "base/task.h" 8 #include "base/task.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "chrome/app/chrome_version_info.h" 10 #include "chrome/app/chrome_version_info.h"
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 new PasswordModelWorker( 94 new PasswordModelWorker(
95 profile_->GetPasswordStore(Profile::IMPLICIT_ACCESS)); 95 profile_->GetPasswordStore(Profile::IMPLICIT_ACCESS));
96 96
97 // Any datatypes that we want the syncer to pull down must 97 // Any datatypes that we want the syncer to pull down must
98 // be in the routing_info map. We set them to group passive, meaning that 98 // be in the routing_info map. We set them to group passive, meaning that
99 // updates will be applied, but not dispatched to the UI thread yet. 99 // updates will be applied, but not dispatched to the UI thread yet.
100 for (syncable::ModelTypeSet::const_iterator it = types.begin(); 100 for (syncable::ModelTypeSet::const_iterator it = types.begin();
101 it != types.end(); ++it) { 101 it != types.end(); ++it) {
102 registrar_.routing_info[(*it)] = GROUP_PASSIVE; 102 registrar_.routing_info[(*it)] = GROUP_PASSIVE;
103 } 103 }
104 registrar_.routing_info[syncable::NIGORI] = GROUP_PASSIVE;
104 105
105 core_thread_.message_loop()->PostTask(FROM_HERE, 106 core_thread_.message_loop()->PostTask(FROM_HERE,
106 NewRunnableMethod(core_.get(), &SyncBackendHost::Core::DoInitialize, 107 NewRunnableMethod(core_.get(), &SyncBackendHost::Core::DoInitialize,
107 Core::DoInitializeOptions( 108 Core::DoInitializeOptions(
108 sync_service_url, true, 109 sync_service_url, true,
109 network_change_notifier_thread, 110 network_change_notifier_thread,
110 new HttpBridgeFactory(baseline_context_getter), 111 new HttpBridgeFactory(baseline_context_getter),
111 new HttpBridgeFactory(baseline_context_getter), 112 new HttpBridgeFactory(baseline_context_getter),
112 lsid, 113 lsid,
113 delete_sync_data_folder, 114 delete_sync_data_folder,
114 invalidate_sync_login, 115 invalidate_sync_login,
115 invalidate_sync_xmpp_login, 116 invalidate_sync_xmpp_login,
116 notification_method))); 117 notification_method)));
117 } 118 }
118 119
119 void SyncBackendHost::Authenticate(const std::string& username, 120 void SyncBackendHost::Authenticate(const std::string& username,
120 const std::string& password, 121 const std::string& password,
121 const std::string& captcha) { 122 const std::string& captcha) {
122 core_thread_.message_loop()->PostTask(FROM_HERE, 123 core_thread_.message_loop()->PostTask(FROM_HERE,
123 NewRunnableMethod(core_.get(), &SyncBackendHost::Core::DoAuthenticate, 124 NewRunnableMethod(core_.get(), &SyncBackendHost::Core::DoAuthenticate,
124 username, password, captcha)); 125 username, password, captcha));
125 } 126 }
126 127
127 void SyncBackendHost::StartSyncing() { 128 void SyncBackendHost::StartSyncing() {
128 core_thread_.message_loop()->PostTask(FROM_HERE, 129 core_thread_.message_loop()->PostTask(FROM_HERE,
129 NewRunnableMethod(core_.get(), &SyncBackendHost::Core::DoStartSyncing)); 130 NewRunnableMethod(core_.get(), &SyncBackendHost::Core::DoStartSyncing));
130 } 131 }
131 132
133 void SyncBackendHost::SetPassphrase(const std::string& passphrase) {
134 core_thread_.message_loop()->PostTask(FROM_HERE,
135 NewRunnableMethod(core_.get(), &SyncBackendHost::Core::DoSetPassphrase,
136 passphrase));
137 }
138
132 void SyncBackendHost::Shutdown(bool sync_disabled) { 139 void SyncBackendHost::Shutdown(bool sync_disabled) {
133 // Thread shutdown should occur in the following order: 140 // Thread shutdown should occur in the following order:
134 // - SyncerThread 141 // - SyncerThread
135 // - CoreThread 142 // - CoreThread
136 // - UI Thread (stops some time after we return from this call). 143 // - UI Thread (stops some time after we return from this call).
137 core_thread_.message_loop()->PostTask(FROM_HERE, 144 core_thread_.message_loop()->PostTask(FROM_HERE,
138 NewRunnableMethod(core_.get(), 145 NewRunnableMethod(core_.get(),
139 &SyncBackendHost::Core::DoShutdown, 146 &SyncBackendHost::Core::DoShutdown,
140 sync_disabled)); 147 sync_disabled));
141 148
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 NotificationService::AllSources(), 275 NotificationService::AllSources(),
269 NotificationService::NoDetails()); 276 NotificationService::NoDetails());
270 } 277 }
271 278
272 void SyncBackendHost::Core::NotifyResumed() { 279 void SyncBackendHost::Core::NotifyResumed() {
273 NotificationService::current()->Notify(NotificationType::SYNC_RESUMED, 280 NotificationService::current()->Notify(NotificationType::SYNC_RESUMED,
274 NotificationService::AllSources(), 281 NotificationService::AllSources(),
275 NotificationService::NoDetails()); 282 NotificationService::NoDetails());
276 } 283 }
277 284
285 void SyncBackendHost::Core::NotifyPassphraseRequired() {
286 NotificationService::current()->Notify(
287 NotificationType::SYNC_PASSPHRASE_REQUIRED,
288 NotificationService::AllSources(),
289 NotificationService::NoDetails());
290 }
291
292 void SyncBackendHost::Core::NotifyPassphraseAccepted() {
293 NotificationService::current()->Notify(
294 NotificationType::SYNC_PASSPHRASE_ACCEPTED,
295 NotificationService::AllSources(),
296 NotificationService::NoDetails());
297 }
298
278 SyncBackendHost::UserShareHandle SyncBackendHost::GetUserShareHandle() const { 299 SyncBackendHost::UserShareHandle SyncBackendHost::GetUserShareHandle() const {
279 return core_->syncapi()->GetUserShare(); 300 return core_->syncapi()->GetUserShare();
280 } 301 }
281 302
282 SyncBackendHost::Status SyncBackendHost::GetDetailedStatus() { 303 SyncBackendHost::Status SyncBackendHost::GetDetailedStatus() {
283 return core_->syncapi()->GetDetailedStatus(); 304 return core_->syncapi()->GetDetailedStatus();
284 } 305 }
285 306
286 SyncBackendHost::StatusSummary SyncBackendHost::GetStatusSummary() { 307 SyncBackendHost::StatusSummary SyncBackendHost::GetStatusSummary() {
287 return core_->syncapi()->GetStatusSummary(); 308 return core_->syncapi()->GetStatusSummary();
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 const std::string& captcha) { 414 const std::string& captcha) {
394 DCHECK(MessageLoop::current() == host_->core_thread_.message_loop()); 415 DCHECK(MessageLoop::current() == host_->core_thread_.message_loop());
395 syncapi_->Authenticate(username.c_str(), password.c_str(), captcha.c_str()); 416 syncapi_->Authenticate(username.c_str(), password.c_str(), captcha.c_str());
396 } 417 }
397 418
398 void SyncBackendHost::Core::DoStartSyncing() { 419 void SyncBackendHost::Core::DoStartSyncing() {
399 DCHECK(MessageLoop::current() == host_->core_thread_.message_loop()); 420 DCHECK(MessageLoop::current() == host_->core_thread_.message_loop());
400 syncapi_->StartSyncing(); 421 syncapi_->StartSyncing();
401 } 422 }
402 423
424 void SyncBackendHost::Core::DoSetPassphrase(const std::string& passphrase) {
425 DCHECK(MessageLoop::current() == host_->core_thread_.message_loop());
426 syncapi_->SetPassphrase(passphrase);
427 }
428
403 UIModelWorker* SyncBackendHost::ui_worker() { 429 UIModelWorker* SyncBackendHost::ui_worker() {
404 ModelSafeWorker* w = registrar_.workers[GROUP_UI]; 430 ModelSafeWorker* w = registrar_.workers[GROUP_UI];
405 if (w == NULL) 431 if (w == NULL)
406 return NULL; 432 return NULL;
407 if (w->GetModelSafeGroup() != GROUP_UI) 433 if (w->GetModelSafeGroup() != GROUP_UI)
408 NOTREACHED(); 434 NOTREACHED();
409 return static_cast<UIModelWorker*>(w); 435 return static_cast<UIModelWorker*>(w);
410 } 436 }
411 437
412 void SyncBackendHost::Core::DoShutdown(bool sync_disabled) { 438 void SyncBackendHost::Core::DoShutdown(bool sync_disabled) {
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
536 562
537 563
538 void SyncBackendHost::Core::OnAuthError(const AuthError& auth_error) { 564 void SyncBackendHost::Core::OnAuthError(const AuthError& auth_error) {
539 // We could be on SyncEngine_AuthWatcherThread. Post to our core loop so 565 // We could be on SyncEngine_AuthWatcherThread. Post to our core loop so
540 // we can modify state. 566 // we can modify state.
541 host_->frontend_loop_->PostTask(FROM_HERE, 567 host_->frontend_loop_->PostTask(FROM_HERE,
542 NewRunnableMethod(this, &Core::HandleAuthErrorEventOnFrontendLoop, 568 NewRunnableMethod(this, &Core::HandleAuthErrorEventOnFrontendLoop,
543 auth_error)); 569 auth_error));
544 } 570 }
545 571
572 void SyncBackendHost::Core::OnPassphraseRequired() {
573 host_->frontend_loop_->PostTask(FROM_HERE,
574 NewRunnableMethod(this, &Core::NotifyPassphraseRequired));
575 }
576
577 void SyncBackendHost::Core::OnPassphraseAccepted() {
578 host_->frontend_loop_->PostTask(FROM_HERE,
579 NewRunnableMethod(this, &Core::NotifyPassphraseAccepted));
580 }
581
546 void SyncBackendHost::Core::OnPaused() { 582 void SyncBackendHost::Core::OnPaused() {
547 host_->frontend_loop_->PostTask( 583 host_->frontend_loop_->PostTask(
548 FROM_HERE, 584 FROM_HERE,
549 NewRunnableMethod(this, &Core::NotifyPaused)); 585 NewRunnableMethod(this, &Core::NotifyPaused));
550 } 586 }
551 587
552 void SyncBackendHost::Core::OnResumed() { 588 void SyncBackendHost::Core::OnResumed() {
553 host_->frontend_loop_->PostTask( 589 host_->frontend_loop_->PostTask(
554 FROM_HERE, 590 FROM_HERE,
555 NewRunnableMethod(this, &Core::NotifyResumed)); 591 NewRunnableMethod(this, &Core::NotifyResumed));
(...skipping 21 matching lines...) Expand all
577 } 613 }
578 614
579 void SyncBackendHost::Core::DeleteSyncDataFolder() { 615 void SyncBackendHost::Core::DeleteSyncDataFolder() {
580 if (file_util::DirectoryExists(host_->sync_data_folder_path())) { 616 if (file_util::DirectoryExists(host_->sync_data_folder_path())) {
581 if (!file_util::Delete(host_->sync_data_folder_path(), true)) 617 if (!file_util::Delete(host_->sync_data_folder_path(), true))
582 LOG(DFATAL) << "Could not delete the Sync Data folder."; 618 LOG(DFATAL) << "Could not delete the Sync Data folder.";
583 } 619 }
584 } 620 }
585 621
586 } // namespace browser_sync 622 } // namespace browser_sync
OLDNEW
« no previous file with comments | « chrome/browser/sync/glue/sync_backend_host.h ('k') | chrome/browser/sync/profile_sync_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698