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

Unified Diff: chrome/browser/sync/glue/sync_backend_host.cc

Issue 10704214: [Sync] Refactor sync manager into interface. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address Comments Created 8 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sync/glue/sync_backend_host.cc
diff --git a/chrome/browser/sync/glue/sync_backend_host.cc b/chrome/browser/sync/glue/sync_backend_host.cc
index ce1507d8eb5cac7a019ea03b2cd7a94256e3a6e0..206773525ca0e2aeb2069095ce3d93b190ece7a0 100644
--- a/chrome/browser/sync/glue/sync_backend_host.cc
+++ b/chrome/browser/sync/glue/sync_backend_host.cc
@@ -44,6 +44,7 @@
#include "sync/internal_api/public/engine/model_safe_worker.h"
#include "sync/internal_api/public/http_bridge.h"
#include "sync/internal_api/public/read_transaction.h"
+#include "sync/internal_api/public/sync_manager_factory.h"
#include "sync/internal_api/public/util/experiments.h"
#include "sync/notifier/sync_notifier.h"
#include "sync/protocol/encryption.pb.h"
@@ -352,9 +353,10 @@ std::string MakeUserAgentForSyncApi() {
return user_agent;
}
-syncer::HttpPostProviderFactory* MakeHttpBridgeFactory(
+scoped_ptr<syncer::HttpPostProviderFactory> MakeHttpBridgeFactory(
const scoped_refptr<net::URLRequestContextGetter>& getter) {
- return new syncer::HttpBridgeFactory(getter, MakeUserAgentForSyncApi());
+ return scoped_ptr<syncer::HttpPostProviderFactory>(
+ new syncer::HttpBridgeFactory(getter, MakeUserAgentForSyncApi()));
}
} // namespace
@@ -366,6 +368,7 @@ void SyncBackendHost::Initialize(
syncer::ModelTypeSet initial_types,
const SyncCredentials& credentials,
bool delete_sync_data_folder,
+ syncer::SyncManagerFactory* sync_manager_factory,
syncer::UnrecoverableErrorHandler* unrecoverable_error_handler,
syncer::ReportUnrecoverableErrorFunction
report_unrecoverable_error_function) {
@@ -404,6 +407,7 @@ void SyncBackendHost::Initialize(
credentials,
&chrome_sync_notification_bridge_,
&sync_notifier_factory_,
+ sync_manager_factory,
delete_sync_data_folder,
sync_prefs_->GetEncryptionBootstrapToken(),
syncer::SyncManager::NON_TEST,
@@ -598,7 +602,7 @@ void SyncBackendHost::ConfigureDataTypes(
types_to_remove_with_nigori.Put(syncer::NIGORI);
}
// Only one configure is allowed at a time (DataTypeManager handles user
- // changes that happen while the syncer is reconfiguraing, and will only
+ // changes that happen while the syncer is reconfiguring, and will only
// trigger another call to ConfigureDataTypes once the current reconfiguration
// completes).
DCHECK_GT(initialization_state_, NOT_INITIALIZED);
@@ -772,6 +776,7 @@ SyncBackendHost::DoInitializeOptions::DoInitializeOptions(
const syncer::SyncCredentials& credentials,
ChromeSyncNotificationBridge* chrome_sync_notification_bridge,
syncer::SyncNotifierFactory* sync_notifier_factory,
+ syncer::SyncManagerFactory* sync_manager_factory,
bool delete_sync_data_folder,
const std::string& restored_key_for_bootstrapping,
syncer::SyncManager::TestingMode testing_mode,
@@ -789,6 +794,7 @@ SyncBackendHost::DoInitializeOptions::DoInitializeOptions(
credentials(credentials),
chrome_sync_notification_bridge(chrome_sync_notification_bridge),
sync_notifier_factory(sync_notifier_factory),
+ sync_manager_factory(sync_manager_factory),
delete_sync_data_folder(delete_sync_data_folder),
restored_key_for_bootstrapping(restored_key_for_bootstrapping),
testing_mode(testing_mode),
@@ -955,7 +961,7 @@ void SyncBackendHost::Core::DoInitialize(const DoInitializeOptions& options) {
registrar_ = options.registrar;
DCHECK(registrar_);
- sync_manager_.reset(new syncer::SyncManager(name_));
+ sync_manager_ = options.sync_manager_factory->CreateSyncManager(name_);
sync_manager_->AddObserver(this);
success = sync_manager_->Init(
sync_data_folder_path_,
@@ -964,15 +970,15 @@ void SyncBackendHost::Core::DoInitialize(const DoInitializeOptions& options) {
options.service_url.EffectiveIntPort(),
options.service_url.SchemeIsSecure(),
BrowserThread::GetBlockingPool(),
- options.make_http_bridge_factory_fn.Run(),
+ options.make_http_bridge_factory_fn.Run().Pass(),
tim (not reviewing) 2012/07/17 16:11:54 Ah ha.. I was wondering how this worked since Pass
options.routing_info,
options.workers,
options.extensions_activity_monitor,
options.registrar /* as SyncManager::ChangeDelegate */,
options.credentials,
- new BridgedSyncNotifier(
+ scoped_ptr<syncer::SyncNotifier>(new BridgedSyncNotifier(
options.chrome_sync_notification_bridge,
- options.sync_notifier_factory->CreateSyncNotifier()),
+ options.sync_notifier_factory->CreateSyncNotifier())),
options.restored_key_for_bootstrapping,
options.testing_mode,
&encryptor_,
« no previous file with comments | « chrome/browser/sync/glue/sync_backend_host.h ('k') | chrome/browser/sync/glue/sync_backend_host_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698