Chromium Code Reviews| Index: chrome/browser/api/webdata/autofill_web_data.h |
| diff --git a/chrome/browser/api/webdata/autofill_web_data.h b/chrome/browser/api/webdata/autofill_web_data.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..91cc03c9f2f54a567b8f3dfc6846649a21226815 |
| --- /dev/null |
| +++ b/chrome/browser/api/webdata/autofill_web_data.h |
| @@ -0,0 +1,106 @@ |
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef CHROME_BROWSER_API_WEBDATA_AUTOFILL_WEB_DATA_H_ |
| +#define CHROME_BROWSER_API_WEBDATA_AUTOFILL_WEB_DATA_H_ |
| + |
| +#include <string> |
| + |
| +#include "base/memory/scoped_ptr.h" |
| +#include "base/string16.h" |
| +#include "chrome/browser/api/webdata/web_data_service_base.h" |
| +#include "chrome/browser/api/webdata/web_data_service_consumer.h" |
|
erikwright (departed)
2012/09/13 01:45:11
forward-decl?
Jói
2012/09/13 12:34:50
Done.
|
| + |
| +namespace content { |
| +class BrowserContext; |
| +} |
| + |
| +namespace webkit { |
| +namespace forms { |
| +struct FormField; |
| +} |
| +} |
| + |
| +class AutofillProfile; |
| +class CreditCard; |
| +class Profile; |
| + |
| +// Pure virtual interface for retrieving Autofill data. API users |
| +// should use AutofillWebDataService. |
| +class AutofillWebData { |
| + public: |
| + virtual ~AutofillWebData() {} |
| + |
| + // Schedules a task to add form fields to the web database. |
| + virtual void AddFormFields( |
| + const std::vector<webkit::forms::FormField>& fields) = 0; |
| + |
| + // Initiates the request for a vector of values which have been entered in |
| + // form input fields named |name|. The method OnWebDataServiceRequestDone of |
| + // |consumer| gets called back when the request is finished, with the vector |
| + // included in the argument |result|. |
| + virtual WebDataServiceBase::Handle GetFormValuesForElementName( |
| + const string16& name, |
| + const string16& prefix, |
| + int limit, |
| + WebDataServiceConsumer* consumer) = 0; |
| + |
| + virtual void RemoveExpiredFormElements() = 0; |
| + virtual void RemoveFormValueForElementName(const string16& name, |
| + const string16& value) = 0; |
| + |
| + // Schedules a task to add an Autofill profile to the web database. |
| + virtual void AddAutofillProfile(const AutofillProfile& profile) = 0; |
| + |
| + // Schedules a task to update an Autofill profile in the web database. |
| + virtual void UpdateAutofillProfile(const AutofillProfile& profile) = 0; |
| + |
| + // Schedules a task to remove an Autofill profile from the web database. |
| + // |guid| is the identifer of the profile to remove. |
| + virtual void RemoveAutofillProfile(const std::string& guid) = 0; |
| + |
| + // Initiates the request for all Autofill profiles. The method |
| + // OnWebDataServiceRequestDone of |consumer| gets called when the request is |
| + // finished, with the profiles included in the argument |result|. The |
| + // consumer owns the profiles. |
| + virtual WebDataServiceBase::Handle GetAutofillProfiles( |
| + WebDataServiceConsumer* consumer) = 0; |
| + |
| + // Remove "trashed" profile guids from the web database and optionally send |
| + // notifications to tell Sync that the items have been removed. |
| + virtual void EmptyMigrationTrash(bool notify_sync) = 0; |
| + |
| + // Schedules a task to add credit card to the web database. |
| + virtual void AddCreditCard(const CreditCard& credit_card) = 0; |
| + |
| + // Schedules a task to update credit card in the web database. |
| + virtual void UpdateCreditCard(const CreditCard& credit_card) = 0; |
| + |
| + // Schedules a task to remove a credit card from the web database. |
| + // |guid| is identifer of the credit card to remove. |
| + virtual void RemoveCreditCard(const std::string& guid) = 0; |
| + |
| + // Initiates the request for all credit cards. The method |
| + // OnWebDataServiceRequestDone of |consumer| gets called when the request is |
| + // finished, with the credit cards included in the argument |result|. The |
| + // consumer owns the credit cards. |
| + virtual WebDataServiceBase::Handle |
| + GetCreditCards(WebDataServiceConsumer* consumer) = 0; |
| +}; |
| + |
| +// API for Autofill web data. |
| +class AutofillWebDataService |
|
erikwright (departed)
2012/09/13 01:45:11
It may seem pedantic, but I wish this were in its
Jói
2012/09/13 12:34:50
Done.
|
| + : public AutofillWebData, |
| + public WebDataServiceBase { |
| + public: |
| + // Retrieve an AutofillWebDataService for the given context. |
| + // |
| + // Can return NULL in some contexts. |
| + static scoped_ptr<AutofillWebDataService> ForContext( |
| + content::BrowserContext* context); |
| + |
| + virtual ~AutofillWebDataService() {} |
| +}; |
| + |
| +#endif // CHROME_BROWSER_API_WEBDATA_AUTOFILL_WEB_DATA_H_ |