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

Side by Side Diff: chrome/browser/webdata/web_data_service_factory.cc

Issue 355573008: Split keyword related parts of WebDataService as KeywordWebDataService (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/webdata/web_data_service_factory.h ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/browser/webdata/web_data_service_factory.h" 5 #include "chrome/browser/webdata/web_data_service_factory.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "chrome/browser/browser_process.h" 9 #include "chrome/browser/browser_process.h"
10 #include "chrome/browser/profiles/incognito_helpers.h" 10 #include "chrome/browser/profiles/incognito_helpers.h"
11 #include "chrome/browser/sync/glue/sync_start_util.h" 11 #include "chrome/browser/sync/glue/sync_start_util.h"
12 #include "chrome/browser/ui/profile_error_dialog.h" 12 #include "chrome/browser/ui/profile_error_dialog.h"
13 #include "chrome/browser/webdata/autocomplete_syncable_service.h" 13 #include "chrome/browser/webdata/autocomplete_syncable_service.h"
14 #include "chrome/browser/webdata/keyword_table.h" 14 #include "chrome/browser/webdata/keyword_table.h"
15 #include "chrome/browser/webdata/keyword_web_data_service.h"
15 #include "chrome/browser/webdata/logins_table.h" 16 #include "chrome/browser/webdata/logins_table.h"
16 #include "chrome/browser/webdata/web_apps_table.h" 17 #include "chrome/browser/webdata/web_apps_table.h"
17 #include "chrome/browser/webdata/web_data_service.h" 18 #include "chrome/browser/webdata/web_data_service.h"
18 #include "chrome/browser/webdata/web_intents_table.h" 19 #include "chrome/browser/webdata/web_intents_table.h"
19 #include "components/autofill/core/browser/autofill_country.h" 20 #include "components/autofill/core/browser/autofill_country.h"
20 #include "components/autofill/core/browser/webdata/autofill_profile_syncable_ser vice.h" 21 #include "components/autofill/core/browser/webdata/autofill_profile_syncable_ser vice.h"
21 #include "components/autofill/core/browser/webdata/autofill_table.h" 22 #include "components/autofill/core/browser/webdata/autofill_table.h"
22 #include "components/autofill/core/browser/webdata/autofill_webdata_service.h" 23 #include "components/autofill/core/browser/webdata/autofill_webdata_service.h"
23 #include "components/keyed_service/content/browser_context_dependency_manager.h" 24 #include "components/keyed_service/content/browser_context_dependency_manager.h"
24 #include "components/signin/core/browser/webdata/token_service_table.h" 25 #include "components/signin/core/browser/webdata/token_service_table.h"
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 web_database_->AddTable( 99 web_database_->AddTable(
99 scoped_ptr<WebDatabaseTable>(new WebIntentsTable())); 100 scoped_ptr<WebDatabaseTable>(new WebIntentsTable()));
100 101
101 web_database_->LoadDatabase(); 102 web_database_->LoadDatabase();
102 103
103 autofill_web_data_ = new AutofillWebDataService( 104 autofill_web_data_ = new AutofillWebDataService(
104 web_database_, ui_thread, db_thread, base::Bind( 105 web_database_, ui_thread, db_thread, base::Bind(
105 &ProfileErrorCallback, PROFILE_ERROR_DB_AUTOFILL_WEB_DATA)); 106 &ProfileErrorCallback, PROFILE_ERROR_DB_AUTOFILL_WEB_DATA));
106 autofill_web_data_->Init(); 107 autofill_web_data_->Init();
107 108
109 keyword_web_data_ = new KeywordWebDataService(
110 web_database_, ui_thread, base::Bind(
111 &ProfileErrorCallback, PROFILE_ERROR_DB_KEYWORD_WEB_DATA));
112 keyword_web_data_->Init();
113
108 token_web_data_ = new TokenWebData( 114 token_web_data_ = new TokenWebData(
109 web_database_, ui_thread, db_thread, base::Bind( 115 web_database_, ui_thread, db_thread, base::Bind(
110 &ProfileErrorCallback, PROFILE_ERROR_DB_TOKEN_WEB_DATA)); 116 &ProfileErrorCallback, PROFILE_ERROR_DB_TOKEN_WEB_DATA));
111 token_web_data_->Init(); 117 token_web_data_->Init();
112 118
113 web_data_ = new WebDataService( 119 web_data_ = new WebDataService(
114 web_database_, base::Bind(&ProfileErrorCallback, 120 web_database_, base::Bind(&ProfileErrorCallback,
115 PROFILE_ERROR_DB_WEB_DATA)); 121 PROFILE_ERROR_DB_WEB_DATA));
116 web_data_->Init(); 122 web_data_->Init();
117 123
118 autofill_web_data_->GetAutofillBackend( 124 autofill_web_data_->GetAutofillBackend(
119 base::Bind(&InitSyncableServicesOnDBThread, 125 base::Bind(&InitSyncableServicesOnDBThread,
120 autofill_web_data_, 126 autofill_web_data_,
121 profile_path, 127 profile_path,
122 g_browser_process->GetApplicationLocale())); 128 g_browser_process->GetApplicationLocale()));
123 } 129 }
124 130
125 WebDataServiceWrapper::~WebDataServiceWrapper() { 131 WebDataServiceWrapper::~WebDataServiceWrapper() {
126 } 132 }
127 133
128 void WebDataServiceWrapper::Shutdown() { 134 void WebDataServiceWrapper::Shutdown() {
129 autofill_web_data_->ShutdownOnUIThread(); 135 autofill_web_data_->ShutdownOnUIThread();
136 keyword_web_data_->ShutdownOnUIThread();
130 token_web_data_->ShutdownOnUIThread(); 137 token_web_data_->ShutdownOnUIThread();
131 web_data_->ShutdownOnUIThread(); 138 web_data_->ShutdownOnUIThread();
132 web_database_->ShutdownDatabase(); 139 web_database_->ShutdownDatabase();
133 } 140 }
134 141
135 scoped_refptr<AutofillWebDataService> 142 scoped_refptr<AutofillWebDataService>
136 WebDataServiceWrapper::GetAutofillWebData() { 143 WebDataServiceWrapper::GetAutofillWebData() {
137 return autofill_web_data_.get(); 144 return autofill_web_data_.get();
138 } 145 }
139 146
147 scoped_refptr<KeywordWebDataService>
148 WebDataServiceWrapper::GetKeywordWebData() {
149 return keyword_web_data_.get();
150 }
151
140 scoped_refptr<WebDataService> WebDataServiceWrapper::GetWebData() { 152 scoped_refptr<WebDataService> WebDataServiceWrapper::GetWebData() {
141 return web_data_.get(); 153 return web_data_.get();
142 } 154 }
143 155
144 scoped_refptr<TokenWebData> WebDataServiceWrapper::GetTokenWebData() { 156 scoped_refptr<TokenWebData> WebDataServiceWrapper::GetTokenWebData() {
145 return token_web_data_.get(); 157 return token_web_data_.get();
146 } 158 }
147 159
148 // static 160 // static
149 scoped_refptr<WebDataService> WebDataService::FromBrowserContext( 161 scoped_refptr<WebDataService> WebDataService::FromBrowserContext(
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 Profile::ServiceAccessType access_type) { 212 Profile::ServiceAccessType access_type) {
201 WebDataServiceWrapper* wrapper = 213 WebDataServiceWrapper* wrapper =
202 WebDataServiceFactory::GetForProfile(profile, access_type); 214 WebDataServiceFactory::GetForProfile(profile, access_type);
203 // |wrapper| can be NULL in Incognito mode. 215 // |wrapper| can be NULL in Incognito mode.
204 return wrapper ? 216 return wrapper ?
205 wrapper->GetAutofillWebData() : 217 wrapper->GetAutofillWebData() :
206 scoped_refptr<AutofillWebDataService>(NULL); 218 scoped_refptr<AutofillWebDataService>(NULL);
207 } 219 }
208 220
209 // static 221 // static
222 scoped_refptr<KeywordWebDataService>
223 WebDataServiceFactory::GetKeywordWebDataForProfile(
224 Profile* profile,
225 Profile::ServiceAccessType access_type) {
226 WebDataServiceWrapper* wrapper =
227 WebDataServiceFactory::GetForProfile(profile, access_type);
228 // |wrapper| can be NULL in Incognito mode.
229 return wrapper ?
230 wrapper->GetKeywordWebData() : scoped_refptr<KeywordWebDataService>(NULL);
231 }
232
233 // static
210 scoped_refptr<TokenWebData> 234 scoped_refptr<TokenWebData>
211 WebDataServiceFactory::GetTokenWebDataForProfile( 235 WebDataServiceFactory::GetTokenWebDataForProfile(
212 Profile* profile, 236 Profile* profile,
213 Profile::ServiceAccessType access_type) { 237 Profile::ServiceAccessType access_type) {
214 WebDataServiceWrapper* wrapper = 238 WebDataServiceWrapper* wrapper =
215 WebDataServiceFactory::GetForProfile(profile, access_type); 239 WebDataServiceFactory::GetForProfile(profile, access_type);
216 // |wrapper| can be NULL in Incognito mode. 240 // |wrapper| can be NULL in Incognito mode.
217 return wrapper ? wrapper->GetTokenWebData() 241 return wrapper ? wrapper->GetTokenWebData()
218 : scoped_refptr<TokenWebData>(NULL); 242 : scoped_refptr<TokenWebData>(NULL);
219 } 243 }
220 244
221 // static 245 // static
222 WebDataServiceFactory* WebDataServiceFactory::GetInstance() { 246 WebDataServiceFactory* WebDataServiceFactory::GetInstance() {
223 return Singleton<WebDataServiceFactory>::get(); 247 return Singleton<WebDataServiceFactory>::get();
224 } 248 }
225 249
226 content::BrowserContext* WebDataServiceFactory::GetBrowserContextToUse( 250 content::BrowserContext* WebDataServiceFactory::GetBrowserContextToUse(
227 content::BrowserContext* context) const { 251 content::BrowserContext* context) const {
228 return chrome::GetBrowserContextRedirectedInIncognito(context); 252 return chrome::GetBrowserContextRedirectedInIncognito(context);
229 } 253 }
230 254
231 KeyedService* WebDataServiceFactory::BuildServiceInstanceFor( 255 KeyedService* WebDataServiceFactory::BuildServiceInstanceFor(
232 content::BrowserContext* profile) const { 256 content::BrowserContext* profile) const {
233 return new WebDataServiceWrapper(static_cast<Profile*>(profile)); 257 return new WebDataServiceWrapper(static_cast<Profile*>(profile));
234 } 258 }
235 259
236 bool WebDataServiceFactory::ServiceIsNULLWhileTesting() const { 260 bool WebDataServiceFactory::ServiceIsNULLWhileTesting() const {
237 return true; 261 return true;
238 } 262 }
OLDNEW
« no previous file with comments | « chrome/browser/webdata/web_data_service_factory.h ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698