| OLD | NEW |
| 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/search_engines/keyword_web_data_service.h" | 5 #include "components/search_engines/keyword_web_data_service.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/location.h" |
| 9 #include "base/single_thread_task_runner.h" |
| 8 #include "components/search_engines/keyword_table.h" | 10 #include "components/search_engines/keyword_table.h" |
| 9 #include "components/search_engines/template_url_data.h" | 11 #include "components/search_engines/template_url_data.h" |
| 10 #include "components/webdata/common/web_data_results.h" | 12 #include "components/webdata/common/web_data_results.h" |
| 11 #include "components/webdata/common/web_database_service.h" | 13 #include "components/webdata/common/web_database_service.h" |
| 12 | 14 |
| 13 using base::Bind; | 15 using base::Bind; |
| 14 | 16 |
| 15 WDKeywordsResult::WDKeywordsResult() | 17 WDKeywordsResult::WDKeywordsResult() |
| 16 : default_search_provider_id(0), | 18 : default_search_provider_id(0), |
| 17 builtin_keyword_version(0) { | 19 builtin_keyword_version(0) { |
| 18 } | 20 } |
| 19 | 21 |
| 20 WDKeywordsResult::~WDKeywordsResult() {} | 22 WDKeywordsResult::~WDKeywordsResult() {} |
| 21 | 23 |
| 22 KeywordWebDataService::BatchModeScoper::BatchModeScoper( | 24 KeywordWebDataService::BatchModeScoper::BatchModeScoper( |
| 23 KeywordWebDataService* service) | 25 KeywordWebDataService* service) |
| 24 : service_(service) { | 26 : service_(service) { |
| 25 if (service_) | 27 if (service_) |
| 26 service_->AdjustBatchModeLevel(true); | 28 service_->AdjustBatchModeLevel(true); |
| 27 } | 29 } |
| 28 | 30 |
| 29 KeywordWebDataService::BatchModeScoper::~BatchModeScoper() { | 31 KeywordWebDataService::BatchModeScoper::~BatchModeScoper() { |
| 30 if (service_) | 32 if (service_) |
| 31 service_->AdjustBatchModeLevel(false); | 33 service_->AdjustBatchModeLevel(false); |
| 32 } | 34 } |
| 33 | 35 |
| 34 KeywordWebDataService::KeywordWebDataService( | 36 KeywordWebDataService::KeywordWebDataService( |
| 35 scoped_refptr<WebDatabaseService> wdbs, | 37 scoped_refptr<WebDatabaseService> wdbs, |
| 36 scoped_refptr<base::MessageLoopProxy> ui_thread, | 38 scoped_refptr<base::SingleThreadTaskRunner> ui_thread, |
| 37 const ProfileErrorCallback& callback) | 39 const ProfileErrorCallback& callback) |
| 38 : WebDataServiceBase(wdbs, callback, ui_thread), | 40 : WebDataServiceBase(wdbs, callback, ui_thread), batch_mode_level_(0) { |
| 39 batch_mode_level_(0) { | |
| 40 } | 41 } |
| 41 | 42 |
| 42 void KeywordWebDataService::AddKeyword(const TemplateURLData& data) { | 43 void KeywordWebDataService::AddKeyword(const TemplateURLData& data) { |
| 43 if (batch_mode_level_) { | 44 if (batch_mode_level_) { |
| 44 queued_keyword_operations_.push_back( | 45 queued_keyword_operations_.push_back( |
| 45 KeywordTable::Operation(KeywordTable::ADD, data)); | 46 KeywordTable::Operation(KeywordTable::ADD, data)); |
| 46 } else { | 47 } else { |
| 47 AdjustBatchModeLevel(true); | 48 AdjustBatchModeLevel(true); |
| 48 AddKeyword(data); | 49 AddKeyword(data); |
| 49 AdjustBatchModeLevel(false); | 50 AdjustBatchModeLevel(false); |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 140 return KeywordTable::FromWebDatabase(db)->SetDefaultSearchProviderID(id) ? | 141 return KeywordTable::FromWebDatabase(db)->SetDefaultSearchProviderID(id) ? |
| 141 WebDatabase::COMMIT_NEEDED : WebDatabase::COMMIT_NOT_NEEDED; | 142 WebDatabase::COMMIT_NEEDED : WebDatabase::COMMIT_NOT_NEEDED; |
| 142 } | 143 } |
| 143 | 144 |
| 144 WebDatabase::State KeywordWebDataService::SetBuiltinKeywordVersionImpl( | 145 WebDatabase::State KeywordWebDataService::SetBuiltinKeywordVersionImpl( |
| 145 int version, | 146 int version, |
| 146 WebDatabase* db) { | 147 WebDatabase* db) { |
| 147 return KeywordTable::FromWebDatabase(db)->SetBuiltinKeywordVersion(version) ? | 148 return KeywordTable::FromWebDatabase(db)->SetBuiltinKeywordVersion(version) ? |
| 148 WebDatabase::COMMIT_NEEDED : WebDatabase::COMMIT_NOT_NEEDED; | 149 WebDatabase::COMMIT_NEEDED : WebDatabase::COMMIT_NOT_NEEDED; |
| 149 } | 150 } |
| OLD | NEW |