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

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

Issue 6621062: Refactor sync notifier out of sync api. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Created 9 years, 9 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 "build/build_config.h" 5 #include "build/build_config.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 DCHECK(!core_ && !frontend_) << "Must call Shutdown before destructor."; 78 DCHECK(!core_ && !frontend_) << "Must call Shutdown before destructor.";
79 DCHECK(registrar_.workers.empty()); 79 DCHECK(registrar_.workers.empty());
80 } 80 }
81 81
82 void SyncBackendHost::Initialize( 82 void SyncBackendHost::Initialize(
83 SyncFrontend* frontend, 83 SyncFrontend* frontend,
84 const GURL& sync_service_url, 84 const GURL& sync_service_url,
85 const syncable::ModelTypeSet& types, 85 const syncable::ModelTypeSet& types,
86 URLRequestContextGetter* baseline_context_getter, 86 URLRequestContextGetter* baseline_context_getter,
87 const SyncCredentials& credentials, 87 const SyncCredentials& credentials,
88 bool delete_sync_data_folder, 88 bool delete_sync_data_folder) {
89 const notifier::NotifierOptions& notifier_options) {
90 if (!core_thread_.Start()) 89 if (!core_thread_.Start())
91 return; 90 return;
92 91
93 frontend_ = frontend; 92 frontend_ = frontend;
94 DCHECK(frontend); 93 DCHECK(frontend);
95 94
96 // Create a worker for the UI thread and route bookmark changes to it. 95 // Create a worker for the UI thread and route bookmark changes to it.
97 // TODO(tim): Pull this into a method to reuse. For now we don't even 96 // TODO(tim): Pull this into a method to reuse. For now we don't even
98 // need to lock because we init before the syncapi exists and we tear down 97 // need to lock because we init before the syncapi exists and we tear down
99 // after the syncapi is destroyed. Make sure to NULL-check workers_ indices 98 // after the syncapi is destroyed. Make sure to NULL-check workers_ indices
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 } 131 }
133 132
134 // Nigori is populated by default now. 133 // Nigori is populated by default now.
135 registrar_.routing_info[syncable::NIGORI] = GROUP_PASSIVE; 134 registrar_.routing_info[syncable::NIGORI] = GROUP_PASSIVE;
136 135
137 InitCore(Core::DoInitializeOptions( 136 InitCore(Core::DoInitializeOptions(
138 sync_service_url, 137 sync_service_url,
139 MakeHttpBridgeFactory(baseline_context_getter), 138 MakeHttpBridgeFactory(baseline_context_getter),
140 credentials, 139 credentials,
141 delete_sync_data_folder, 140 delete_sync_data_folder,
142 notifier_options,
143 RestoreEncryptionBootstrapToken(), 141 RestoreEncryptionBootstrapToken(),
144 false)); 142 false));
145 } 143 }
146 144
147 void SyncBackendHost::PersistEncryptionBootstrapToken( 145 void SyncBackendHost::PersistEncryptionBootstrapToken(
148 const std::string& token) { 146 const std::string& token) {
149 PrefService* prefs = profile_->GetPrefs(); 147 PrefService* prefs = profile_->GetPrefs();
150 148
151 prefs->SetString(prefs::kEncryptionBootstrapToken, token); 149 prefs->SetString(prefs::kEncryptionBootstrapToken, token);
152 prefs->ScheduleSavePersistentPrefs(); 150 prefs->ScheduleSavePersistentPrefs();
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after
549 return; 547 return;
550 DCHECK_EQ(MessageLoop::current(), host_->frontend_loop_); 548 DCHECK_EQ(MessageLoop::current(), host_->frontend_loop_);
551 host_->frontend_->OnEncryptionComplete(encrypted_types); 549 host_->frontend_->OnEncryptionComplete(encrypted_types);
552 } 550 }
553 551
554 SyncBackendHost::Core::DoInitializeOptions::DoInitializeOptions( 552 SyncBackendHost::Core::DoInitializeOptions::DoInitializeOptions(
555 const GURL& service_url, 553 const GURL& service_url,
556 sync_api::HttpPostProviderFactory* http_bridge_factory, 554 sync_api::HttpPostProviderFactory* http_bridge_factory,
557 const sync_api::SyncCredentials& credentials, 555 const sync_api::SyncCredentials& credentials,
558 bool delete_sync_data_folder, 556 bool delete_sync_data_folder,
559 const notifier::NotifierOptions& notifier_options,
560 std::string restored_key_for_bootstrapping, 557 std::string restored_key_for_bootstrapping,
561 bool setup_for_test_mode) 558 bool setup_for_test_mode)
562 : service_url(service_url), 559 : service_url(service_url),
563 http_bridge_factory(http_bridge_factory), 560 http_bridge_factory(http_bridge_factory),
564 credentials(credentials), 561 credentials(credentials),
565 delete_sync_data_folder(delete_sync_data_folder), 562 delete_sync_data_folder(delete_sync_data_folder),
566 notifier_options(notifier_options),
567 restored_key_for_bootstrapping(restored_key_for_bootstrapping), 563 restored_key_for_bootstrapping(restored_key_for_bootstrapping),
568 setup_for_test_mode(setup_for_test_mode) { 564 setup_for_test_mode(setup_for_test_mode) {
569 } 565 }
570 566
571 SyncBackendHost::Core::DoInitializeOptions::~DoInitializeOptions() {} 567 SyncBackendHost::Core::DoInitializeOptions::~DoInitializeOptions() {}
572 568
573 sync_api::UserShare* SyncBackendHost::GetUserShare() const { 569 sync_api::UserShare* SyncBackendHost::GetUserShare() const {
574 DCHECK(syncapi_initialized_); 570 DCHECK(syncapi_initialized_);
575 return core_->syncapi()->GetUserShare(); 571 return core_->syncapi()->GetUserShare();
576 } 572 }
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 const FilePath& path_str = host_->sync_data_folder_path(); 670 const FilePath& path_str = host_->sync_data_folder_path();
675 success = syncapi_->Init( 671 success = syncapi_->Init(
676 path_str, 672 path_str,
677 (options.service_url.host() + options.service_url.path()).c_str(), 673 (options.service_url.host() + options.service_url.path()).c_str(),
678 options.service_url.EffectiveIntPort(), 674 options.service_url.EffectiveIntPort(),
679 options.service_url.SchemeIsSecure(), 675 options.service_url.SchemeIsSecure(),
680 options.http_bridge_factory, 676 options.http_bridge_factory,
681 host_, // ModelSafeWorkerRegistrar. 677 host_, // ModelSafeWorkerRegistrar.
682 MakeUserAgentForSyncapi().c_str(), 678 MakeUserAgentForSyncapi().c_str(),
683 options.credentials, 679 options.credentials,
684 options.notifier_options,
685 options.restored_key_for_bootstrapping, 680 options.restored_key_for_bootstrapping,
686 options.setup_for_test_mode); 681 options.setup_for_test_mode);
687 DCHECK(success) << "Syncapi initialization failed!"; 682 DCHECK(success) << "Syncapi initialization failed!";
688 } 683 }
689 684
690 void SyncBackendHost::Core::DoUpdateCredentials( 685 void SyncBackendHost::Core::DoUpdateCredentials(
691 const SyncCredentials& credentials) { 686 const SyncCredentials& credentials) {
692 DCHECK(MessageLoop::current() == host_->core_thread_.message_loop()); 687 DCHECK(MessageLoop::current() == host_->core_thread_.message_loop());
693 syncapi_->UpdateCredentials(credentials); 688 syncapi_->UpdateCredentials(credentials);
694 } 689 }
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after
1097 } 1092 }
1098 1093
1099 void SyncBackendHost::Core::DoProcessMessage( 1094 void SyncBackendHost::Core::DoProcessMessage(
1100 const std::string& name, const JsArgList& args, 1095 const std::string& name, const JsArgList& args,
1101 const JsEventHandler* sender) { 1096 const JsEventHandler* sender) {
1102 DCHECK_EQ(MessageLoop::current(), host_->core_thread_.message_loop()); 1097 DCHECK_EQ(MessageLoop::current(), host_->core_thread_.message_loop());
1103 syncapi_->GetJsBackend()->ProcessMessage(name, args, sender); 1098 syncapi_->GetJsBackend()->ProcessMessage(name, args, sender);
1104 } 1099 }
1105 1100
1106 } // namespace browser_sync 1101 } // namespace browser_sync
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698