| OLD | NEW |
| 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.h" | 5 #include "chrome/browser/webdata/web_data_service.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
| 9 #include "base/stl_util.h" | 9 #include "base/stl_util.h" |
| 10 #include "base/threading/thread.h" | 10 #include "base/threading/thread.h" |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 65 } | 65 } |
| 66 | 66 |
| 67 } // namespace | 67 } // namespace |
| 68 | 68 |
| 69 WDAppImagesResult::WDAppImagesResult() : has_all_images(false) {} | 69 WDAppImagesResult::WDAppImagesResult() : has_all_images(false) {} |
| 70 | 70 |
| 71 WDAppImagesResult::~WDAppImagesResult() {} | 71 WDAppImagesResult::~WDAppImagesResult() {} |
| 72 | 72 |
| 73 WDKeywordsResult::WDKeywordsResult() | 73 WDKeywordsResult::WDKeywordsResult() |
| 74 : default_search_provider_id(0), | 74 : default_search_provider_id(0), |
| 75 builtin_keyword_version(0) { | 75 builtin_keyword_version(0), |
| 76 backup_valid(false), |
| 77 did_default_search_provider_change(false) { |
| 76 } | 78 } |
| 77 | 79 |
| 78 WDKeywordsResult::~WDKeywordsResult() {} | 80 WDKeywordsResult::~WDKeywordsResult() {} |
| 79 | 81 |
| 80 WebDataService::WebDataService() | 82 WebDataService::WebDataService() |
| 81 : is_running_(false), | 83 : is_running_(false), |
| 82 db_(NULL), | 84 db_(NULL), |
| 83 autocomplete_syncable_service_(NULL), | 85 autocomplete_syncable_service_(NULL), |
| 84 autofill_profile_syncable_service_(NULL), | 86 autofill_profile_syncable_service_(NULL), |
| 85 failed_init_(false), | 87 failed_init_(false), |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 145 // | 147 // |
| 146 // Keywords. | 148 // Keywords. |
| 147 // | 149 // |
| 148 ////////////////////////////////////////////////////////////////////////////// | 150 ////////////////////////////////////////////////////////////////////////////// |
| 149 | 151 |
| 150 void WebDataService::AddKeyword(const TemplateURL& url) { | 152 void WebDataService::AddKeyword(const TemplateURL& url) { |
| 151 // Ensure that the keyword is already generated (and cached) before caching | 153 // Ensure that the keyword is already generated (and cached) before caching |
| 152 // the TemplateURL for use on another keyword. | 154 // the TemplateURL for use on another keyword. |
| 153 url.EnsureKeyword(); | 155 url.EnsureKeyword(); |
| 154 GenericRequest<TemplateURL>* request = | 156 GenericRequest<TemplateURL>* request = |
| 155 new GenericRequest<TemplateURL>(this, GetNextRequestHandle(), NULL, url); | 157 new GenericRequest<TemplateURL>(this, GetNextRequestHandle(), NULL, url); |
| 156 RegisterRequest(request); | 158 RegisterRequest(request); |
| 157 ScheduleTask(FROM_HERE, Bind(&WebDataService::AddKeywordImpl, this, request)); | 159 ScheduleTask(FROM_HERE, Bind(&WebDataService::AddKeywordImpl, this, request)); |
| 158 } | 160 } |
| 159 | 161 |
| 160 void WebDataService::RemoveKeyword(const TemplateURL& url) { | 162 void WebDataService::RemoveKeyword(TemplateURLID id) { |
| 161 GenericRequest<TemplateURLID>* request = new GenericRequest<TemplateURLID>( | 163 GenericRequest<TemplateURLID>* request = |
| 162 this, GetNextRequestHandle(), NULL, url.id()); | 164 new GenericRequest<TemplateURLID>(this, GetNextRequestHandle(), NULL, id); |
| 163 RegisterRequest(request); | 165 RegisterRequest(request); |
| 164 ScheduleTask(FROM_HERE, | 166 ScheduleTask(FROM_HERE, |
| 165 Bind(&WebDataService::RemoveKeywordImpl, this, request)); | 167 Bind(&WebDataService::RemoveKeywordImpl, this, request)); |
| 166 } | 168 } |
| 167 | 169 |
| 168 void WebDataService::UpdateKeyword(const TemplateURL& url) { | 170 void WebDataService::UpdateKeyword(const TemplateURL& url) { |
| 169 // Ensure that the keyword is already generated (and cached) before caching | 171 // Ensure that the keyword is already generated (and cached) before caching |
| 170 // the TemplateURL for use on another keyword. | 172 // the TemplateURL for use on another keyword. |
| 171 url.EnsureKeyword(); | 173 url.EnsureKeyword(); |
| 172 GenericRequest<TemplateURL>* request = | 174 GenericRequest<TemplateURL>* request = |
| (...skipping 639 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 812 | 814 |
| 813 void WebDataService::AddKeywordImpl(GenericRequest<TemplateURL>* request) { | 815 void WebDataService::AddKeywordImpl(GenericRequest<TemplateURL>* request) { |
| 814 InitializeDatabaseIfNecessary(); | 816 InitializeDatabaseIfNecessary(); |
| 815 if (db_ && !request->IsCancelled(NULL)) { | 817 if (db_ && !request->IsCancelled(NULL)) { |
| 816 db_->GetKeywordTable()->AddKeyword(request->arg()); | 818 db_->GetKeywordTable()->AddKeyword(request->arg()); |
| 817 ScheduleCommit(); | 819 ScheduleCommit(); |
| 818 } | 820 } |
| 819 request->RequestComplete(); | 821 request->RequestComplete(); |
| 820 } | 822 } |
| 821 | 823 |
| 822 void WebDataService::RemoveKeywordImpl( | 824 void WebDataService::RemoveKeywordImpl(GenericRequest<TemplateURLID>* request) { |
| 823 GenericRequest<TemplateURLID>* request) { | |
| 824 InitializeDatabaseIfNecessary(); | 825 InitializeDatabaseIfNecessary(); |
| 825 if (db_ && !request->IsCancelled(NULL)) { | 826 if (db_ && !request->IsCancelled(NULL)) { |
| 826 DCHECK(request->arg()); | 827 DCHECK(request->arg()); |
| 827 db_->GetKeywordTable()->RemoveKeyword(request->arg()); | 828 db_->GetKeywordTable()->RemoveKeyword(request->arg()); |
| 828 ScheduleCommit(); | 829 ScheduleCommit(); |
| 829 } | 830 } |
| 830 request->RequestComplete(); | 831 request->RequestComplete(); |
| 831 } | 832 } |
| 832 | 833 |
| 833 void WebDataService::UpdateKeywordImpl(GenericRequest<TemplateURL>* request) { | 834 void WebDataService::UpdateKeywordImpl(GenericRequest<TemplateURL>* request) { |
| (...skipping 12 matching lines...) Expand all Loading... |
| 846 InitializeDatabaseIfNecessary(); | 847 InitializeDatabaseIfNecessary(); |
| 847 if (db_ && !request->IsCancelled(NULL)) { | 848 if (db_ && !request->IsCancelled(NULL)) { |
| 848 WDKeywordsResult result; | 849 WDKeywordsResult result; |
| 849 db_->GetKeywordTable()->GetKeywords(&result.keywords); | 850 db_->GetKeywordTable()->GetKeywords(&result.keywords); |
| 850 result.default_search_provider_id = | 851 result.default_search_provider_id = |
| 851 db_->GetKeywordTable()->GetDefaultSearchProviderID(); | 852 db_->GetKeywordTable()->GetDefaultSearchProviderID(); |
| 852 result.builtin_keyword_version = | 853 result.builtin_keyword_version = |
| 853 db_->GetKeywordTable()->GetBuiltinKeywordVersion(); | 854 db_->GetKeywordTable()->GetBuiltinKeywordVersion(); |
| 854 result.did_default_search_provider_change = | 855 result.did_default_search_provider_change = |
| 855 db_->GetKeywordTable()->DidDefaultSearchProviderChange(); | 856 db_->GetKeywordTable()->DidDefaultSearchProviderChange(); |
| 856 result.default_search_provider_backup = | 857 result.backup_valid = result.did_default_search_provider_change && |
| 857 result.did_default_search_provider_change ? | 858 db_->GetKeywordTable()->GetDefaultSearchProviderBackup( |
| 858 db_->GetKeywordTable()->GetDefaultSearchProviderBackup() : | 859 &result.default_search_provider_backup); |
| 859 NULL; | |
| 860 request->SetResult( | 860 request->SetResult( |
| 861 new WDResult<WDKeywordsResult>(KEYWORDS_RESULT, result)); | 861 new WDResult<WDKeywordsResult>(KEYWORDS_RESULT, result)); |
| 862 } | 862 } |
| 863 request->RequestComplete(); | 863 request->RequestComplete(); |
| 864 } | 864 } |
| 865 | 865 |
| 866 void WebDataService::SetDefaultSearchProviderImpl( | 866 void WebDataService::SetDefaultSearchProviderImpl( |
| 867 GenericRequest<TemplateURLID>* request) { | 867 GenericRequest<TemplateURLID>* request) { |
| 868 InitializeDatabaseIfNecessary(); | 868 InitializeDatabaseIfNecessary(); |
| 869 if (db_ && !request->IsCancelled(NULL)) { | 869 if (db_ && !request->IsCancelled(NULL)) { |
| (...skipping 750 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1620 } | 1620 } |
| 1621 | 1621 |
| 1622 const WDTypedResult* WebDataService::WebDataRequest::GetResult() const { | 1622 const WDTypedResult* WebDataService::WebDataRequest::GetResult() const { |
| 1623 return result_; | 1623 return result_; |
| 1624 } | 1624 } |
| 1625 | 1625 |
| 1626 void WebDataService::WebDataRequest::RequestComplete() { | 1626 void WebDataService::WebDataRequest::RequestComplete() { |
| 1627 message_loop_->PostTask(FROM_HERE, Bind(&WebDataService::RequestCompleted, | 1627 message_loop_->PostTask(FROM_HERE, Bind(&WebDataService::RequestCompleted, |
| 1628 service_.get(), handle_)); | 1628 service_.get(), handle_)); |
| 1629 } | 1629 } |
| OLD | NEW |