| 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 "components/autofill/browser/webdata/autofill_webdata_service.h" | 5 #include "components/autofill/browser/webdata/autofill_webdata_service.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/stl_util.h" | 8 #include "base/stl_util.h" |
| 9 #include "components/autofill/browser/autofill_country.h" | 9 #include "components/autofill/browser/autofill_country.h" |
| 10 #include "components/autofill/browser/autofill_profile.h" | 10 #include "components/autofill/browser/autofill_profile.h" |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 54 } | 54 } |
| 55 | 55 |
| 56 WebDataServiceBase::Handle AutofillWebDataService::GetFormValuesForElementName( | 56 WebDataServiceBase::Handle AutofillWebDataService::GetFormValuesForElementName( |
| 57 const base::string16& name, const base::string16& prefix, int limit, | 57 const base::string16& name, const base::string16& prefix, int limit, |
| 58 WebDataServiceConsumer* consumer) { | 58 WebDataServiceConsumer* consumer) { |
| 59 return wdbs_->ScheduleDBTaskWithResult(FROM_HERE, | 59 return wdbs_->ScheduleDBTaskWithResult(FROM_HERE, |
| 60 Bind(&AutofillWebDataService::GetFormValuesForElementNameImpl, | 60 Bind(&AutofillWebDataService::GetFormValuesForElementNameImpl, |
| 61 this, name, prefix, limit), consumer); | 61 this, name, prefix, limit), consumer); |
| 62 } | 62 } |
| 63 | 63 |
| 64 WebDataServiceBase::Handle AutofillWebDataService::HasFormElements( |
| 65 WebDataServiceConsumer* consumer) { |
| 66 return wdbs_->ScheduleDBTaskWithResult(FROM_HERE, |
| 67 Bind(&AutofillWebDataService::HasFormElementsImpl, this), consumer); |
| 68 } |
| 69 |
| 64 void AutofillWebDataService::RemoveFormElementsAddedBetween( | 70 void AutofillWebDataService::RemoveFormElementsAddedBetween( |
| 65 const Time& delete_begin, const Time& delete_end) { | 71 const Time& delete_begin, const Time& delete_end) { |
| 66 wdbs_->ScheduleDBTask(FROM_HERE, | 72 wdbs_->ScheduleDBTask(FROM_HERE, |
| 67 Bind(&AutofillWebDataService::RemoveFormElementsAddedBetweenImpl, | 73 Bind(&AutofillWebDataService::RemoveFormElementsAddedBetweenImpl, |
| 68 this, delete_begin, delete_end)); | 74 this, delete_begin, delete_end)); |
| 69 } | 75 } |
| 70 | 76 |
| 71 void AutofillWebDataService::RemoveExpiredFormElements() { | 77 void AutofillWebDataService::RemoveExpiredFormElements() { |
| 72 wdbs_->ScheduleDBTask(FROM_HERE, | 78 wdbs_->ScheduleDBTask(FROM_HERE, |
| 73 Bind(&AutofillWebDataService::RemoveExpiredFormElementsImpl, this)); | 79 Bind(&AutofillWebDataService::RemoveExpiredFormElementsImpl, this)); |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 205 WebDatabase* db) { | 211 WebDatabase* db) { |
| 206 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); | 212 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| 207 std::vector<base::string16> values; | 213 std::vector<base::string16> values; |
| 208 AutofillTable::FromWebDatabase(db)->GetFormValuesForElementName( | 214 AutofillTable::FromWebDatabase(db)->GetFormValuesForElementName( |
| 209 name, prefix, &values, limit); | 215 name, prefix, &values, limit); |
| 210 return scoped_ptr<WDTypedResult>( | 216 return scoped_ptr<WDTypedResult>( |
| 211 new WDResult<std::vector<base::string16> >(AUTOFILL_VALUE_RESULT, | 217 new WDResult<std::vector<base::string16> >(AUTOFILL_VALUE_RESULT, |
| 212 values)); | 218 values)); |
| 213 } | 219 } |
| 214 | 220 |
| 221 scoped_ptr<WDTypedResult> AutofillWebDataService::HasFormElementsImpl( |
| 222 WebDatabase* db) { |
| 223 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| 224 bool value = AutofillTable::FromWebDatabase(db)->HasFormElements(); |
| 225 return scoped_ptr<WDTypedResult>( |
| 226 new WDResult<bool>(AUTOFILL_VALUE_RESULT, value)); |
| 227 } |
| 228 |
| 215 WebDatabase::State AutofillWebDataService::RemoveFormElementsAddedBetweenImpl( | 229 WebDatabase::State AutofillWebDataService::RemoveFormElementsAddedBetweenImpl( |
| 216 const base::Time& delete_begin, const base::Time& delete_end, | 230 const base::Time& delete_begin, const base::Time& delete_end, |
| 217 WebDatabase* db) { | 231 WebDatabase* db) { |
| 218 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); | 232 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| 219 AutofillChangeList changes; | 233 AutofillChangeList changes; |
| 220 | 234 |
| 221 if (AutofillTable::FromWebDatabase(db)->RemoveFormElementsAddedBetween( | 235 if (AutofillTable::FromWebDatabase(db)->RemoveFormElementsAddedBetween( |
| 222 delete_begin, delete_end, &changes)) { | 236 delete_begin, delete_end, &changes)) { |
| 223 if (!changes.empty()) { | 237 if (!changes.empty()) { |
| 224 // Post the notifications including the list of affected keys. | 238 // Post the notifications including the list of affected keys. |
| (...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 455 } | 469 } |
| 456 | 470 |
| 457 void AutofillWebDataService::NotifyAutofillMultipleChangedOnUIThread() { | 471 void AutofillWebDataService::NotifyAutofillMultipleChangedOnUIThread() { |
| 458 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 472 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 459 FOR_EACH_OBSERVER(AutofillWebDataServiceObserverOnUIThread, | 473 FOR_EACH_OBSERVER(AutofillWebDataServiceObserverOnUIThread, |
| 460 ui_observer_list_, | 474 ui_observer_list_, |
| 461 AutofillMultipleChanged()); | 475 AutofillMultipleChanged()); |
| 462 } | 476 } |
| 463 | 477 |
| 464 } // namespace autofill | 478 } // namespace autofill |
| OLD | NEW |