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

Unified Diff: components/browser_sync/browser/profile_sync_components_factory_impl.cc

Issue 1421003007: [Sync] Componentize ProfileSyncComponentsFactoryImpl (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix sessions api test Created 5 years, 1 month 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: components/browser_sync/browser/profile_sync_components_factory_impl.cc
diff --git a/chrome/browser/sync/profile_sync_components_factory_impl.cc b/components/browser_sync/browser/profile_sync_components_factory_impl.cc
similarity index 59%
rename from chrome/browser/sync/profile_sync_components_factory_impl.cc
rename to components/browser_sync/browser/profile_sync_components_factory_impl.cc
index a482550c2327f99df9da2655036b80e254172b1c..88599ae5040ea04810eba2a0f6230106a4e3ced0 100644
--- a/chrome/browser/sync/profile_sync_components_factory_impl.cc
+++ b/components/browser_sync/browser/profile_sync_components_factory_impl.cc
@@ -2,19 +2,12 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/sync/profile_sync_components_factory_impl.h"
+#include "components/browser_sync/browser/profile_sync_components_factory_impl.h"
#include "base/command_line.h"
#include "base/memory/ref_counted.h"
#include "base/prefs/pref_service.h"
#include "build/build_config.h"
-#include "chrome/browser/bookmarks/bookmark_model_factory.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/search_engines/template_url_service_factory.h"
-#include "chrome/browser/sync/glue/theme_data_type_controller.h"
-#include "chrome/common/channel_info.h"
-#include "chrome/common/chrome_switches.h"
-#include "chrome/common/pref_names.h"
#include "components/autofill/core/browser/autofill_wallet_data_type_controller.h"
#include "components/autofill/core/browser/webdata/autofill_data_type_controller.h"
#include "components/autofill/core/browser/webdata/autofill_profile_data_type_controller.h"
@@ -28,7 +21,6 @@
#include "components/history/core/browser/typed_url_data_type_controller.h"
#include "components/history/core/browser/typed_url_model_associator.h"
#include "components/password_manager/sync/browser/password_data_type_controller.h"
-#include "components/search_engines/search_engine_data_type_controller.h"
#include "components/sync_bookmarks/bookmark_change_processor.h"
#include "components/sync_bookmarks/bookmark_data_type_controller.h"
#include "components/sync_bookmarks/bookmark_model_associator.h"
@@ -42,7 +34,6 @@
#include "components/sync_driver/sync_client.h"
#include "components/sync_driver/ui_data_type_controller.h"
#include "components/sync_sessions/session_data_type_controller.h"
-#include "content/public/browser/browser_thread.h"
#include "google_apis/gaia/oauth2_token_service.h"
#include "google_apis/gaia/oauth2_token_service_request.h"
#include "net/url_request/url_request_context_getter.h"
@@ -50,20 +41,6 @@
#include "sync/internal_api/public/attachments/attachment_service.h"
#include "sync/internal_api/public/attachments/attachment_service_impl.h"
#include "sync/internal_api/public/attachments/attachment_uploader_impl.h"
-#include "ui/base/device_form_factor.h"
-
-#if defined(ENABLE_APP_LIST)
-#include "ui/app_list/app_list_switches.h"
-#endif
-
-#if defined(ENABLE_EXTENSIONS)
-#include "chrome/browser/sync/glue/extension_data_type_controller.h"
-#include "chrome/browser/sync/glue/extension_setting_data_type_controller.h"
-#endif
-
-#if defined(ENABLE_SUPERVISED_USERS)
-#include "chrome/browser/supervised_user/supervised_user_sync_data_type_controller.h"
-#endif
using bookmarks::BookmarkModel;
using browser_sync::AutofillDataTypeController;
@@ -72,20 +49,13 @@ using browser_sync::BookmarkChangeProcessor;
using browser_sync::BookmarkDataTypeController;
using browser_sync::BookmarkModelAssociator;
using browser_sync::ChromeReportUnrecoverableError;
-#if defined(ENABLE_EXTENSIONS)
-using browser_sync::ExtensionDataTypeController;
-using browser_sync::ExtensionSettingDataTypeController;
-#endif
using browser_sync::HistoryDeleteDirectivesDataTypeController;
using browser_sync::PasswordDataTypeController;
-using browser_sync::SearchEngineDataTypeController;
using browser_sync::SessionDataTypeController;
using browser_sync::SyncBackendHost;
-using browser_sync::ThemeDataTypeController;
using browser_sync::TypedUrlChangeProcessor;
using browser_sync::TypedUrlDataTypeController;
using browser_sync::TypedUrlModelAssociator;
-using content::BrowserThread;
using sync_driver::DataTypeController;
using sync_driver::DataTypeErrorHandler;
using sync_driver::DataTypeManager;
@@ -119,14 +89,26 @@ syncer::ModelTypeSet GetEnabledTypesFromCommandLine(
} // namespace
ProfileSyncComponentsFactoryImpl::ProfileSyncComponentsFactoryImpl(
- Profile* profile,
- base::CommandLine* command_line,
+ sync_driver::SyncClient* sync_client,
+ version_info::Channel channel,
+ const std::string& version,
+ bool is_tablet,
+ const base::CommandLine& command_line,
+ const char* history_disabled_pref,
const GURL& sync_service_url,
+ const scoped_refptr<base::SingleThreadTaskRunner>& ui_thread,
+ const scoped_refptr<base::SingleThreadTaskRunner>& db_thread,
OAuth2TokenService* token_service,
net::URLRequestContextGetter* url_request_context_getter)
- : profile_(profile),
+ : sync_client_(sync_client),
+ channel_(channel),
+ version_(version),
+ is_tablet_(is_tablet),
command_line_(command_line),
+ history_disabled_pref_(history_disabled_pref),
sync_service_url_(sync_service_url),
+ ui_thread_(ui_thread),
+ db_thread_(db_thread),
token_service_(token_service),
url_request_context_getter_(url_request_context_getter),
weak_factory_(this) {
@@ -134,51 +116,44 @@ ProfileSyncComponentsFactoryImpl::ProfileSyncComponentsFactoryImpl(
DCHECK(url_request_context_getter_);
}
-ProfileSyncComponentsFactoryImpl::~ProfileSyncComponentsFactoryImpl() {
-}
+ProfileSyncComponentsFactoryImpl::~ProfileSyncComponentsFactoryImpl() {}
void ProfileSyncComponentsFactoryImpl::RegisterDataTypes(
- sync_driver::SyncClient* sync_client) {
+ const RegisterDataTypesMethod& register_platform_types_method) {
syncer::ModelTypeSet disabled_types =
- GetDisabledTypesFromCommandLine(*command_line_);
+ GetDisabledTypesFromCommandLine(command_line_);
syncer::ModelTypeSet enabled_types =
- GetEnabledTypesFromCommandLine(*command_line_);
- RegisterCommonDataTypes(disabled_types, enabled_types, sync_client);
-#if !defined(OS_ANDROID)
- RegisterDesktopDataTypes(disabled_types, enabled_types, sync_client);
-#endif
+ GetEnabledTypesFromCommandLine(command_line_);
+ RegisterCommonDataTypes(disabled_types, enabled_types);
+ if (!register_platform_types_method.is_null())
+ register_platform_types_method.Run(disabled_types, enabled_types);
}
void ProfileSyncComponentsFactoryImpl::RegisterCommonDataTypes(
syncer::ModelTypeSet disabled_types,
- syncer::ModelTypeSet enabled_types,
- sync_driver::SyncClient* sync_client) {
- sync_driver::SyncService* sync_service = sync_client->GetSyncService();
+ syncer::ModelTypeSet enabled_types) {
+ sync_driver::SyncService* sync_service = sync_client_->GetSyncService();
base::Closure error_callback =
- base::Bind(&ChromeReportUnrecoverableError, chrome::GetChannel());
- const scoped_refptr<base::SingleThreadTaskRunner> ui_thread =
- BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI);
- const scoped_refptr<base::SingleThreadTaskRunner> db_thread =
- BrowserThread::GetMessageLoopProxyForThread(BrowserThread::DB);
+ base::Bind(&ChromeReportUnrecoverableError, channel_);
// TODO(stanisc): can DEVICE_INFO be one of disabled datatypes?
sync_service->RegisterDataTypeController(new DeviceInfoDataTypeController(
- ui_thread, error_callback, sync_client,
+ ui_thread_, error_callback, sync_client_,
sync_service->GetLocalDeviceInfoProvider()));
// Autofill sync is enabled by default. Register unless explicitly
// disabled.
if (!disabled_types.Has(syncer::AUTOFILL)) {
sync_service->RegisterDataTypeController(new AutofillDataTypeController(
- ui_thread, db_thread, error_callback, sync_client));
+ ui_thread_, db_thread_, error_callback, sync_client_));
}
// Autofill profile sync is enabled by default. Register unless explicitly
// disabled.
if (!disabled_types.Has(syncer::AUTOFILL_PROFILE)) {
sync_service->RegisterDataTypeController(
- new AutofillProfileDataTypeController(ui_thread, db_thread,
- error_callback, sync_client));
+ new AutofillProfileDataTypeController(ui_thread_, db_thread_,
+ error_callback, sync_client_));
}
// Wallet data sync is enabled by default, but behind a syncer experiment
@@ -187,7 +162,7 @@ void ProfileSyncComponentsFactoryImpl::RegisterCommonDataTypes(
if (!wallet_disabled) {
sync_service->RegisterDataTypeController(
new browser_sync::AutofillWalletDataTypeController(
- ui_thread, db_thread, error_callback, sync_client,
+ ui_thread_, db_thread_, error_callback, sync_client_,
syncer::AUTOFILL_WALLET_DATA));
}
@@ -197,25 +172,24 @@ void ProfileSyncComponentsFactoryImpl::RegisterCommonDataTypes(
if (!wallet_disabled && enabled_types.Has(syncer::AUTOFILL_WALLET_METADATA)) {
sync_service->RegisterDataTypeController(
new browser_sync::AutofillWalletDataTypeController(
- ui_thread, db_thread, error_callback, sync_client,
+ ui_thread_, db_thread_, error_callback, sync_client_,
syncer::AUTOFILL_WALLET_METADATA));
}
// Bookmark sync is enabled by default. Register unless explicitly
// disabled.
if (!disabled_types.Has(syncer::BOOKMARKS)) {
- sync_service->RegisterDataTypeController(
- new BookmarkDataTypeController(ui_thread, error_callback, sync_client));
+ sync_service->RegisterDataTypeController(new BookmarkDataTypeController(
+ ui_thread_, error_callback, sync_client_));
}
const bool history_disabled =
- profile_->GetPrefs()->GetBoolean(prefs::kSavingBrowserHistoryDisabled);
+ sync_client_->GetPrefService()->GetBoolean(history_disabled_pref_);
// TypedUrl sync is enabled by default. Register unless explicitly disabled,
// or if saving history is disabled.
if (!disabled_types.Has(syncer::TYPED_URLS) && !history_disabled) {
- sync_service->RegisterDataTypeController(
- new TypedUrlDataTypeController(ui_thread, error_callback, sync_client,
- prefs::kSavingBrowserHistoryDisabled));
+ sync_service->RegisterDataTypeController(new TypedUrlDataTypeController(
+ ui_thread_, error_callback, sync_client_, history_disabled_pref_));
}
// Delete directive sync is enabled by default. Register unless full history
@@ -223,8 +197,8 @@ void ProfileSyncComponentsFactoryImpl::RegisterCommonDataTypes(
if (!disabled_types.Has(syncer::HISTORY_DELETE_DIRECTIVES) &&
!history_disabled) {
sync_service->RegisterDataTypeController(
- new HistoryDeleteDirectivesDataTypeController(ui_thread, error_callback,
- sync_client));
+ new HistoryDeleteDirectivesDataTypeController(
+ ui_thread_, error_callback, sync_client_));
}
// Session sync is enabled by default. Register unless explicitly disabled.
@@ -232,159 +206,46 @@ void ProfileSyncComponentsFactoryImpl::RegisterCommonDataTypes(
// tab sync data is added to the web history on the server.
if (!disabled_types.Has(syncer::PROXY_TABS) && !history_disabled) {
sync_service->RegisterDataTypeController(
- new ProxyDataTypeController(ui_thread, syncer::PROXY_TABS));
+ new ProxyDataTypeController(ui_thread_, syncer::PROXY_TABS));
// TODO(zea): remove this once SyncedWindowDelegateGetter is componentized.
// For now, we know that the implementation of SyncService is always a
// ProfileSyncService at this level.
ProfileSyncService* pss = static_cast<ProfileSyncService*>(sync_service);
sync_service->RegisterDataTypeController(new SessionDataTypeController(
- ui_thread, error_callback, sync_client,
+ ui_thread_, error_callback, sync_client_,
pss->GetSyncedWindowDelegatesGetter(),
- sync_service->GetLocalDeviceInfoProvider(),
- prefs::kSavingBrowserHistoryDisabled));
+ sync_service->GetLocalDeviceInfoProvider(), history_disabled_pref_));
}
// Favicon sync is enabled by default. Register unless explicitly disabled.
if (!disabled_types.Has(syncer::FAVICON_IMAGES) &&
- !disabled_types.Has(syncer::FAVICON_TRACKING) &&
- !history_disabled) {
+ !disabled_types.Has(syncer::FAVICON_TRACKING) && !history_disabled) {
// crbug/384552. We disable error uploading for this data types for now.
sync_service->RegisterDataTypeController(new UIDataTypeController(
- ui_thread, base::Closure(), syncer::FAVICON_IMAGES, sync_client));
+ ui_thread_, base::Closure(), syncer::FAVICON_IMAGES, sync_client_));
sync_service->RegisterDataTypeController(new UIDataTypeController(
- ui_thread, base::Closure(), syncer::FAVICON_TRACKING, sync_client));
+ ui_thread_, base::Closure(), syncer::FAVICON_TRACKING, sync_client_));
}
// Password sync is enabled by default. Register unless explicitly
// disabled.
if (!disabled_types.Has(syncer::PASSWORDS)) {
sync_service->RegisterDataTypeController(new PasswordDataTypeController(
- ui_thread, error_callback, sync_client,
- sync_client->GetPasswordStateChangedCallback()));
+ ui_thread_, error_callback, sync_client_,
+ sync_client_->GetPasswordStateChangedCallback()));
}
if (!disabled_types.Has(syncer::PRIORITY_PREFERENCES)) {
- sync_service->RegisterDataTypeController(new UIDataTypeController(
- ui_thread, error_callback, syncer::PRIORITY_PREFERENCES, sync_client));
+ sync_service->RegisterDataTypeController(
+ new UIDataTypeController(ui_thread_, error_callback,
+ syncer::PRIORITY_PREFERENCES, sync_client_));
}
// Article sync is disabled by default. Register only if explicitly enabled.
if (dom_distiller::IsEnableSyncArticlesSet()) {
sync_service->RegisterDataTypeController(new UIDataTypeController(
- ui_thread, error_callback, syncer::ARTICLES, sync_client));
+ ui_thread_, error_callback, syncer::ARTICLES, sync_client_));
}
-
-#if defined(ENABLE_SUPERVISED_USERS)
- sync_service->RegisterDataTypeController(
- new SupervisedUserSyncDataTypeController(syncer::SUPERVISED_USER_SETTINGS,
- error_callback, sync_client,
- profile_));
- sync_service->RegisterDataTypeController(
- new SupervisedUserSyncDataTypeController(
- syncer::SUPERVISED_USER_WHITELISTS, error_callback, sync_client,
- profile_));
-#endif
-}
-
-void ProfileSyncComponentsFactoryImpl::RegisterDesktopDataTypes(
- syncer::ModelTypeSet disabled_types,
- syncer::ModelTypeSet enabled_types,
- sync_driver::SyncClient* sync_client) {
- sync_driver::SyncService* sync_service = sync_client->GetSyncService();
- base::Closure error_callback =
- base::Bind(&ChromeReportUnrecoverableError, chrome::GetChannel());
- const scoped_refptr<base::SingleThreadTaskRunner> ui_thread =
- BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI);
-
-#if defined(ENABLE_EXTENSIONS)
- // App sync is enabled by default. Register unless explicitly
- // disabled.
- if (!disabled_types.Has(syncer::APPS)) {
- sync_service->RegisterDataTypeController(new ExtensionDataTypeController(
- syncer::APPS, error_callback, sync_client, profile_));
- }
-
- // Extension sync is enabled by default. Register unless explicitly
- // disabled.
- if (!disabled_types.Has(syncer::EXTENSIONS)) {
- sync_service->RegisterDataTypeController(new ExtensionDataTypeController(
- syncer::EXTENSIONS, error_callback, sync_client, profile_));
- }
-#endif
-
- // Preference sync is enabled by default. Register unless explicitly
- // disabled.
- if (!disabled_types.Has(syncer::PREFERENCES)) {
- sync_service->RegisterDataTypeController(new UIDataTypeController(
- ui_thread, error_callback, syncer::PREFERENCES, sync_client));
- }
-
-#if defined(ENABLE_THEMES)
- // Theme sync is enabled by default. Register unless explicitly disabled.
- if (!disabled_types.Has(syncer::THEMES)) {
- sync_service->RegisterDataTypeController(
- new ThemeDataTypeController(error_callback, sync_client, profile_));
- }
-#endif
-
- // Search Engine sync is enabled by default. Register unless explicitly
- // disabled.
- if (!disabled_types.Has(syncer::SEARCH_ENGINES)) {
- sync_service->RegisterDataTypeController(new SearchEngineDataTypeController(
- ui_thread, error_callback, sync_client,
- TemplateURLServiceFactory::GetForProfile(profile_)));
- }
-
-#if defined(ENABLE_EXTENSIONS)
- // Extension setting sync is enabled by default. Register unless explicitly
- // disabled.
- if (!disabled_types.Has(syncer::EXTENSION_SETTINGS)) {
- sync_service->RegisterDataTypeController(
- new ExtensionSettingDataTypeController(
- syncer::EXTENSION_SETTINGS, error_callback, sync_client, profile_));
- }
-
- // App setting sync is enabled by default. Register unless explicitly
- // disabled.
- if (!disabled_types.Has(syncer::APP_SETTINGS)) {
- sync_service->RegisterDataTypeController(
- new ExtensionSettingDataTypeController(
- syncer::APP_SETTINGS, error_callback, sync_client, profile_));
- }
-#endif
-
-#if defined(ENABLE_APP_LIST)
- if (app_list::switches::IsAppListSyncEnabled()) {
- sync_service->RegisterDataTypeController(new UIDataTypeController(
- ui_thread, error_callback, syncer::APP_LIST, sync_client));
- }
-#endif
-
-#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_CHROMEOS)
- // Dictionary sync is enabled by default.
- if (!disabled_types.Has(syncer::DICTIONARY)) {
- sync_service->RegisterDataTypeController(new UIDataTypeController(
- ui_thread, error_callback, syncer::DICTIONARY, sync_client));
- }
-#endif
-
-#if defined(ENABLE_SUPERVISED_USERS)
- sync_service->RegisterDataTypeController(
- new SupervisedUserSyncDataTypeController(
- syncer::SUPERVISED_USERS, error_callback, sync_client, profile_));
- sync_service->RegisterDataTypeController(
- new SupervisedUserSyncDataTypeController(
- syncer::SUPERVISED_USER_SHARED_SETTINGS, error_callback, sync_client,
- profile_));
-#endif
-
-#if defined(OS_CHROMEOS)
- if (command_line_->HasSwitch(switches::kEnableWifiCredentialSync) &&
- !disabled_types.Has(syncer::WIFI_CREDENTIALS)) {
- sync_service->RegisterDataTypeController(new UIDataTypeController(
- ui_thread, error_callback, syncer::WIFI_CREDENTIALS, sync_client));
- }
-#endif
}
DataTypeManager* ProfileSyncComponentsFactoryImpl::CreateDataTypeManager(
@@ -401,23 +262,18 @@ DataTypeManager* ProfileSyncComponentsFactoryImpl::CreateDataTypeManager(
browser_sync::SyncBackendHost*
ProfileSyncComponentsFactoryImpl::CreateSyncBackendHost(
const std::string& name,
- sync_driver::SyncClient* sync_client,
invalidation::InvalidationService* invalidator,
const base::WeakPtr<sync_driver::SyncPrefs>& sync_prefs,
const base::FilePath& sync_folder) {
return new browser_sync::SyncBackendHostImpl(
- name, sync_client,
- BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI),
- invalidator, sync_prefs, sync_folder);
+ name, sync_client_, ui_thread_, invalidator, sync_prefs, sync_folder);
}
scoped_ptr<sync_driver::LocalDeviceInfoProvider>
ProfileSyncComponentsFactoryImpl::CreateLocalDeviceInfoProvider() {
return scoped_ptr<sync_driver::LocalDeviceInfoProvider>(
- new browser_sync::LocalDeviceInfoProviderImpl(
- chrome::GetChannel(),
- chrome::GetVersionString(),
- ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET));
+ new browser_sync::LocalDeviceInfoProviderImpl(channel_, version_,
+ is_tablet_));
}
class TokenServiceProvider
@@ -442,11 +298,9 @@ class TokenServiceProvider
TokenServiceProvider::TokenServiceProvider(
const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
OAuth2TokenService* token_service)
- : task_runner_(task_runner), token_service_(token_service) {
-}
+ : task_runner_(task_runner), token_service_(token_service) {}
-TokenServiceProvider::~TokenServiceProvider() {
-}
+TokenServiceProvider::~TokenServiceProvider() {}
scoped_refptr<base::SingleThreadTaskRunner>
TokenServiceProvider::GetTokenServiceTaskRunner() {
@@ -471,12 +325,9 @@ ProfileSyncComponentsFactoryImpl::CreateAttachmentService(
// signed in sync user (e.g. sync is running in "backup" mode).
if (!user_share.sync_credentials.email.empty() &&
!user_share.sync_credentials.scope_set.empty()) {
- const scoped_refptr<base::SingleThreadTaskRunner> ui_thread =
- BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI);
-
scoped_refptr<OAuth2TokenServiceRequest::TokenServiceProvider>
token_service_provider(
- new TokenServiceProvider(ui_thread, token_service_));
+ new TokenServiceProvider(ui_thread_, token_service_));
// TODO(maniscalco): Use shared (one per profile) thread-safe instances of
// AttachmentUploader and AttachmentDownloader instead of creating a new one
// per AttachmentService (bug 369536).
@@ -487,7 +338,7 @@ ProfileSyncComponentsFactoryImpl::CreateAttachmentService(
store_birthday, model_type));
token_service_provider =
- new TokenServiceProvider(ui_thread, token_service_);
+ new TokenServiceProvider(ui_thread_, token_service_);
attachment_downloader = syncer::AttachmentDownloader::Create(
sync_service_url_, url_request_context_getter_,
user_share.sync_credentials.email,
@@ -511,14 +362,14 @@ ProfileSyncComponentsFactoryImpl::CreateAttachmentService(
}
sync_driver::SyncApiComponentFactory::SyncComponents
- ProfileSyncComponentsFactoryImpl::CreateBookmarkSyncComponents(
- sync_driver::SyncService* sync_service,
- sync_driver::DataTypeErrorHandler* error_handler) {
+ProfileSyncComponentsFactoryImpl::CreateBookmarkSyncComponents(
+ sync_driver::SyncService* sync_service,
+ sync_driver::DataTypeErrorHandler* error_handler) {
BookmarkModel* bookmark_model =
- BookmarkModelFactory::GetForProfile(profile_);
+ sync_service->GetSyncClient()->GetBookmarkModel();
syncer::UserShare* user_share = sync_service->GetUserShare();
- // TODO(akalin): We may want to propagate this switch up eventually.
-#if defined(OS_ANDROID)
+// TODO(akalin): We may want to propagate this switch up eventually.
+#if defined(OS_ANDROID) || defined(OS_IOS)
const bool kExpectMobileBookmarksFolder = true;
#else
const bool kExpectMobileBookmarksFolder = false;
@@ -532,23 +383,18 @@ sync_driver::SyncApiComponentFactory::SyncComponents
}
sync_driver::SyncApiComponentFactory::SyncComponents
- ProfileSyncComponentsFactoryImpl::CreateTypedUrlSyncComponents(
- sync_driver::SyncService* sync_service,
- history::HistoryBackend* history_backend,
- sync_driver::DataTypeErrorHandler* error_handler) {
- DCHECK(!BrowserThread::CurrentlyOn(BrowserThread::UI));
-
- const scoped_refptr<base::SingleThreadTaskRunner> ui_thread =
- BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI);
+ProfileSyncComponentsFactoryImpl::CreateTypedUrlSyncComponents(
+ sync_driver::SyncService* sync_service,
+ history::HistoryBackend* history_backend,
+ sync_driver::DataTypeErrorHandler* error_handler) {
+ DCHECK(!ui_thread_->BelongsToCurrentThread());
// TODO(zea): Once TypedURLs are converted to SyncableService, remove
// |sync_service_| member, and make GetSyncService require it be called on
// the UI thread.
TypedUrlModelAssociator* model_associator =
- new TypedUrlModelAssociator(sync_service,
- history_backend,
- error_handler);
+ new TypedUrlModelAssociator(sync_service, history_backend, error_handler);
TypedUrlChangeProcessor* change_processor = new TypedUrlChangeProcessor(
- model_associator, history_backend, error_handler, ui_thread);
+ model_associator, history_backend, error_handler, ui_thread_);
return SyncComponents(model_associator, change_processor);
}

Powered by Google App Engine
This is Rietveld 408576698