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

Side by Side Diff: components/webdata_services/web_data_service_wrapper.cc

Issue 2647113002: [Sync] Convert Autocomplete to use sync's report error function. (Closed)
Patch Set: Wrong dep... Created 3 years, 11 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "components/webdata_services/web_data_service_wrapper.h" 5 #include "components/webdata_services/web_data_service_wrapper.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/feature_list.h" 9 #include "base/feature_list.h"
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
(...skipping 21 matching lines...) Expand all
32 #endif 32 #endif
33 33
34 namespace { 34 namespace {
35 35
36 void InitSyncableServicesOnDBThread( 36 void InitSyncableServicesOnDBThread(
37 scoped_refptr<base::SingleThreadTaskRunner> db_thread, 37 scoped_refptr<base::SingleThreadTaskRunner> db_thread,
38 const syncer::SyncableService::StartSyncFlare& sync_flare, 38 const syncer::SyncableService::StartSyncFlare& sync_flare,
39 const scoped_refptr<autofill::AutofillWebDataService>& autofill_web_data, 39 const scoped_refptr<autofill::AutofillWebDataService>& autofill_web_data,
40 const base::FilePath& context_path, 40 const base::FilePath& context_path,
41 const std::string& app_locale, 41 const std::string& app_locale,
42 version_info::Channel channel,
42 autofill::AutofillWebDataBackend* autofill_backend) { 43 autofill::AutofillWebDataBackend* autofill_backend) {
43 DCHECK(db_thread->BelongsToCurrentThread()); 44 DCHECK(db_thread->BelongsToCurrentThread());
44 45
45 // Currently only Autocomplete and Autofill profiles use the new Sync API, but 46 // Currently only Autocomplete and Autofill profiles use the new Sync API, but
46 // all the database data should migrate to this API over time. 47 // all the database data should migrate to this API over time.
47 if (base::FeatureList::IsEnabled(switches::kSyncUSSAutocomplete)) { 48 if (base::FeatureList::IsEnabled(switches::kSyncUSSAutocomplete)) {
48 autofill::AutocompleteSyncBridge::CreateForWebDataServiceAndBackend( 49 autofill::AutocompleteSyncBridge::CreateForWebDataServiceAndBackend(
49 autofill_web_data.get(), autofill_backend); 50 autofill_web_data.get(), autofill_backend, channel);
50 } else { 51 } else {
51 autofill::AutocompleteSyncableService::CreateForWebDataServiceAndBackend( 52 autofill::AutocompleteSyncableService::CreateForWebDataServiceAndBackend(
52 autofill_web_data.get(), autofill_backend); 53 autofill_web_data.get(), autofill_backend);
53 autofill::AutocompleteSyncableService::FromWebDataService( 54 autofill::AutocompleteSyncableService::FromWebDataService(
54 autofill_web_data.get()) 55 autofill_web_data.get())
55 ->InjectStartSyncFlare(sync_flare); 56 ->InjectStartSyncFlare(sync_flare);
56 } 57 }
57 58
58 autofill::AutofillProfileSyncableService::CreateForWebDataServiceAndBackend( 59 autofill::AutofillProfileSyncableService::CreateForWebDataServiceAndBackend(
59 autofill_web_data.get(), autofill_backend, app_locale); 60 autofill_web_data.get(), autofill_backend, app_locale);
(...skipping 13 matching lines...) Expand all
73 74
74 WebDataServiceWrapper::WebDataServiceWrapper() { 75 WebDataServiceWrapper::WebDataServiceWrapper() {
75 } 76 }
76 77
77 WebDataServiceWrapper::WebDataServiceWrapper( 78 WebDataServiceWrapper::WebDataServiceWrapper(
78 const base::FilePath& context_path, 79 const base::FilePath& context_path,
79 const std::string& application_locale, 80 const std::string& application_locale,
80 const scoped_refptr<base::SingleThreadTaskRunner>& ui_thread, 81 const scoped_refptr<base::SingleThreadTaskRunner>& ui_thread,
81 const scoped_refptr<base::SingleThreadTaskRunner>& db_thread, 82 const scoped_refptr<base::SingleThreadTaskRunner>& db_thread,
82 const syncer::SyncableService::StartSyncFlare& flare, 83 const syncer::SyncableService::StartSyncFlare& flare,
83 const ShowErrorCallback& show_error_callback) { 84 const ShowErrorCallback& show_error_callback,
85 version_info::Channel channel) {
84 base::FilePath path = context_path.Append(kWebDataFilename); 86 base::FilePath path = context_path.Append(kWebDataFilename);
85 web_database_ = new WebDatabaseService(path, ui_thread, db_thread); 87 web_database_ = new WebDatabaseService(path, ui_thread, db_thread);
86 88
87 // All tables objects that participate in managing the database must 89 // All tables objects that participate in managing the database must
88 // be added here. 90 // be added here.
89 web_database_->AddTable(base::WrapUnique(new autofill::AutofillTable)); 91 web_database_->AddTable(base::WrapUnique(new autofill::AutofillTable));
90 web_database_->AddTable(base::WrapUnique(new KeywordTable)); 92 web_database_->AddTable(base::WrapUnique(new KeywordTable));
91 // TODO(mdm): We only really need the LoginsTable on Windows for IE7 password 93 // TODO(mdm): We only really need the LoginsTable on Windows for IE7 password
92 // access, but for now, we still create it on all platforms since it deletes 94 // access, but for now, we still create it on all platforms since it deletes
93 // the old logins table. We can remove this after a while, e.g. in M22 or so. 95 // the old logins table. We can remove this after a while, e.g. in M22 or so.
(...skipping 16 matching lines...) Expand all
110 base::Bind(show_error_callback, ERROR_LOADING_TOKEN)); 112 base::Bind(show_error_callback, ERROR_LOADING_TOKEN));
111 token_web_data_->Init(); 113 token_web_data_->Init();
112 114
113 #if defined(OS_WIN) 115 #if defined(OS_WIN)
114 password_web_data_ = new PasswordWebDataService( 116 password_web_data_ = new PasswordWebDataService(
115 web_database_, ui_thread, 117 web_database_, ui_thread,
116 base::Bind(show_error_callback, ERROR_LOADING_PASSWORD)); 118 base::Bind(show_error_callback, ERROR_LOADING_PASSWORD));
117 password_web_data_->Init(); 119 password_web_data_->Init();
118 #endif 120 #endif
119 121
120 autofill_web_data_->GetAutofillBackend( 122 autofill_web_data_->GetAutofillBackend(base::Bind(
121 base::Bind(&InitSyncableServicesOnDBThread, db_thread, flare, 123 &InitSyncableServicesOnDBThread, db_thread, flare, autofill_web_data_,
122 autofill_web_data_, context_path, application_locale)); 124 context_path, application_locale, channel));
123 } 125 }
124 126
125 WebDataServiceWrapper::~WebDataServiceWrapper() { 127 WebDataServiceWrapper::~WebDataServiceWrapper() {
126 } 128 }
127 129
128 void WebDataServiceWrapper::Shutdown() { 130 void WebDataServiceWrapper::Shutdown() {
129 autofill_web_data_->ShutdownOnUIThread(); 131 autofill_web_data_->ShutdownOnUIThread();
130 keyword_web_data_->ShutdownOnUIThread(); 132 keyword_web_data_->ShutdownOnUIThread();
131 token_web_data_->ShutdownOnUIThread(); 133 token_web_data_->ShutdownOnUIThread();
132 134
(...skipping 17 matching lines...) Expand all
150 scoped_refptr<TokenWebData> WebDataServiceWrapper::GetTokenWebData() { 152 scoped_refptr<TokenWebData> WebDataServiceWrapper::GetTokenWebData() {
151 return token_web_data_.get(); 153 return token_web_data_.get();
152 } 154 }
153 155
154 #if defined(OS_WIN) 156 #if defined(OS_WIN)
155 scoped_refptr<PasswordWebDataService> 157 scoped_refptr<PasswordWebDataService>
156 WebDataServiceWrapper::GetPasswordWebData() { 158 WebDataServiceWrapper::GetPasswordWebData() {
157 return password_web_data_.get(); 159 return password_web_data_.get();
158 } 160 }
159 #endif 161 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698