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

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

Issue 15780020: Setup Sync to use OAuth token for managed users. (Closed) Base URL: http://git.chromium.org/chromium/src.git@issue226464a
Patch Set: fix Created 7 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 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 907b176b7e468225d964532ff43993b96f4abe66..85ac63ca6e7cf39779bb24f2012096475ddd9708 100644
--- a/chrome/browser/sync/glue/sync_backend_host.cc
+++ b/chrome/browser/sync/glue/sync_backend_host.cc
@@ -31,6 +31,7 @@
#include "chrome/browser/sync/glue/change_processor.h"
#include "chrome/browser/sync/glue/chrome_encryptor.h"
#include "chrome/browser/sync/glue/device_info.h"
+#include "chrome/browser/sync/glue/dummy_invalidator.h"
#include "chrome/browser/sync/glue/sync_backend_registrar.h"
#include "chrome/browser/sync/glue/synced_device_tracker.h"
#include "chrome/browser/sync/sync_prefs.h"
@@ -61,6 +62,10 @@
#include "sync/protocol/sync.pb.h"
#include "sync/util/nigori.h"
+#if defined(ENABLE_MANAGED_USERS)
+#include "chrome/browser/managed_mode/managed_user_service.h"
+#endif
+
static const int kSaveChangesIntervalSeconds = 10;
static const base::FilePath::CharType kSyncDataFolderName[] =
FILE_PATH_LITERAL("Sync Data");
@@ -461,6 +466,12 @@ void SyncBackendHost::Initialize(
InternalComponentsFactoryImpl::BACKOFF_SHORT_INITIAL_RETRY_OVERRIDE;
}
+ bool create_invalidator = true;
+#if defined(ENABLE_MANAGED_USERS)
+ if (ManagedUserService::ProfileIsManaged(profile_))
+ create_invalidator = false;
+#endif
+
initialization_state_ = CREATING_SYNC_MANAGER;
InitCore(DoInitializeOptions(
sync_thread_.message_loop(),
@@ -483,7 +494,8 @@ void SyncBackendHost::Initialize(
new InternalComponentsFactoryImpl(factory_switches),
unrecoverable_error_handler,
report_unrecoverable_error_function,
- !cl->HasSwitch(switches::kSyncDisableOAuth2Token)));
+ !cl->HasSwitch(switches::kSyncDisableOAuth2Token),
+ create_invalidator));
}
void SyncBackendHost::UpdateCredentials(const SyncCredentials& credentials) {
@@ -968,7 +980,8 @@ SyncBackendHost::DoInitializeOptions::DoInitializeOptions(
syncer::UnrecoverableErrorHandler* unrecoverable_error_handler,
syncer::ReportUnrecoverableErrorFunction
report_unrecoverable_error_function,
- bool use_oauth2_token)
+ bool use_oauth2_token,
+ bool create_invalidator)
: sync_loop(sync_loop),
registrar(registrar),
routing_info(routing_info),
@@ -989,7 +1002,8 @@ SyncBackendHost::DoInitializeOptions::DoInitializeOptions(
unrecoverable_error_handler(unrecoverable_error_handler),
report_unrecoverable_error_function(
report_unrecoverable_error_function),
- use_oauth2_token(use_oauth2_token) {
+ use_oauth2_token(use_oauth2_token),
+ create_invalidator(create_invalidator) {
}
SyncBackendHost::DoInitializeOptions::~DoInitializeOptions() {}
@@ -1240,34 +1254,37 @@ void SyncBackendHost::Core::DoInitialize(const DoInitializeOptions& options) {
sync_manager_ = options.sync_manager_factory->CreateSyncManager(name_);
sync_manager_->AddObserver(this);
- sync_manager_->Init(
- sync_data_folder_path_,
- options.event_handler,
- options.service_url.host() + options.service_url.path(),
- options.service_url.EffectiveIntPort(),
- options.service_url.SchemeIsSecure(),
- options.make_http_bridge_factory_fn.Run().Pass(),
- options.workers,
- options.extensions_activity_monitor,
- options.registrar /* as SyncManager::ChangeDelegate */,
- options.credentials,
+ scoped_ptr<syncer::Invalidator> invalidator;
+ if (options.create_invalidator) {
#if defined(OS_ANDROID)
- scoped_ptr<syncer::Invalidator>(
- new AndroidInvalidatorBridgeProxy(
- options.android_invalidator_bridge)),
+ invalidator.reset(
+ new AndroidInvalidatorBridgeProxy(options.android_invalidator_bridge));
#else
- scoped_ptr<syncer::Invalidator>(
- options.invalidator_factory->CreateInvalidator()),
+ invalidator.reset(options.invalidator_factory->CreateInvalidator());
#endif
- options.invalidator_factory->GetInvalidatorClientId(),
- options.restored_key_for_bootstrapping,
- options.restored_keystore_key_for_bootstrapping,
- scoped_ptr<InternalComponentsFactory>(
- options.internal_components_factory),
- &encryptor_,
- options.unrecoverable_error_handler,
- options.report_unrecoverable_error_function,
- options.use_oauth2_token);
+ } else {
+ invalidator.reset(new DummyInvalidator());
+ }
+ sync_manager_->Init(sync_data_folder_path_,
+ options.event_handler,
+ options.service_url.host() + options.service_url.path(),
+ options.service_url.EffectiveIntPort(),
+ options.service_url.SchemeIsSecure(),
+ options.make_http_bridge_factory_fn.Run().Pass(),
+ options.workers,
+ options.extensions_activity_monitor,
+ options.registrar /* as SyncManager::ChangeDelegate */,
+ options.credentials,
+ invalidator.Pass(),
+ options.invalidator_factory->GetInvalidatorClientId(),
+ options.restored_key_for_bootstrapping,
+ options.restored_keystore_key_for_bootstrapping,
+ scoped_ptr<InternalComponentsFactory>(
+ options.internal_components_factory),
+ &encryptor_,
+ options.unrecoverable_error_handler,
+ options.report_unrecoverable_error_function,
+ options.use_oauth2_token);
// |sync_manager_| may end up being NULL here in tests (in
// synchronous initialization mode).

Powered by Google App Engine
This is Rietveld 408576698