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

Unified Diff: components/autofill/browser/webdata/autofill_webdata_backend_impl.h

Issue 17392006: In components/autofill, move browser/ to core/browser/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase to fix conflicts Created 7 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: components/autofill/browser/webdata/autofill_webdata_backend_impl.h
diff --git a/components/autofill/browser/webdata/autofill_webdata_backend_impl.h b/components/autofill/browser/webdata/autofill_webdata_backend_impl.h
deleted file mode 100644
index e96f0c8ebf1ef71051ac564c5606836c0329d9e8..0000000000000000000000000000000000000000
--- a/components/autofill/browser/webdata/autofill_webdata_backend_impl.h
+++ /dev/null
@@ -1,185 +0,0 @@
-// Copyright 2013 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 COMPONENTS_AUTOFILL_BROWSER_WEBDATA_AUTOFILL_WEBDATA_BACKEND_IMPL_H_
-#define COMPONENTS_AUTOFILL_BROWSER_WEBDATA_AUTOFILL_WEBDATA_BACKEND_IMPL_H_
-
-#include "base/memory/ref_counted.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/observer_list.h"
-#include "base/supports_user_data.h"
-#include "components/autofill/browser/webdata/autofill_webdata.h"
-#include "components/autofill/browser/webdata/autofill_webdata_backend.h"
-#include "components/autofill/core/common/form_field_data.h"
-#include "components/webdata/common/web_data_results.h"
-#include "components/webdata/common/web_data_service_base.h"
-#include "components/webdata/common/web_data_service_consumer.h"
-#include "components/webdata/common/web_database.h"
-#include "content/public/browser/browser_thread.h"
-
-class WebDataServiceBackend;
-
-namespace autofill {
-
-class AutofillChange;
-class AutofillProfile;
-class AutofillWebDataServiceObserverOnDBThread;
-class CreditCard;
-
-// Backend implentation for the AutofillWebDataService. This class runs on the
-// DB thread, as it handles reads and writes to the WebDatabase, and functions
-// in it should only be called from that thread. Most functions here are just
-// the implementations of the corresponding functions in the Autofill
-// WebDataService.
-class AutofillWebDataBackendImpl
- : public base::RefCountedThreadSafe<AutofillWebDataBackendImpl,
- content::BrowserThread::DeleteOnDBThread>,
- public AutofillWebDataBackend {
- public:
- // |web_database_backend| is used to access the WebDatabase directly for
- // Sync-related operations. |on_changed_callback| is a closure which can be
- // used to notify the UI thread of changes initiated by Sync (this callback
- // may be called multiple times).
- AutofillWebDataBackendImpl(
- scoped_refptr<WebDataServiceBackend> web_database_backend,
- const base::Closure& on_changed_callback);
-
- // AutofillWebDataBackend implementation.
- virtual void AddObserver(AutofillWebDataServiceObserverOnDBThread* observer)
- OVERRIDE;
- virtual void RemoveObserver(
- AutofillWebDataServiceObserverOnDBThread* observer) OVERRIDE;
- virtual WebDatabase* GetDatabase() OVERRIDE;
- virtual void RemoveExpiredFormElements() OVERRIDE;
- virtual void NotifyOfMultipleAutofillChanges() OVERRIDE;
-
- // Returns a SupportsUserData objects that may be used to store data
- // owned by the DB thread on this object. Should be called only from
- // the DB thread, and will be destroyed on the DB thread soon after
- // |ShutdownOnUIThread()| is called.
- base::SupportsUserData* GetDBUserData();
-
- void ResetUserData();
-
- // Adds form fields to the web database.
- WebDatabase::State AddFormElements(const std::vector<FormFieldData>& fields,
- WebDatabase* db);
-
- // Returns a vector of values which have been entered in form input fields
- // named |name|.
- scoped_ptr<WDTypedResult> GetFormValuesForElementName(
- const base::string16& name,
- const base::string16& prefix,
- int limit,
- WebDatabase* db);
-
- // Returns true if there are any elements in the form.
- scoped_ptr<WDTypedResult> HasFormElements(WebDatabase* db);
-
- // Removes form elements recorded for Autocomplete from the database.
- WebDatabase::State RemoveFormElementsAddedBetween(
- const base::Time& delete_begin,
- const base::Time& delete_end,
- WebDatabase* db);
-
-
- // Removes the Form-value |value| which has been entered in form input fields
- // named |name| from the database.
- WebDatabase::State RemoveFormValueForElementName(const base::string16& name,
- const base::string16& value,
- WebDatabase* db);
-
- // Adds an Autofill profile to the web database.
- WebDatabase::State AddAutofillProfile(const AutofillProfile& profile,
- WebDatabase* db);
-
- // Updates an Autofill profile in the web database.
- WebDatabase::State UpdateAutofillProfile(const AutofillProfile& profile,
- WebDatabase* db);
-
- // Removes an Autofill profile from the web database.
- WebDatabase::State RemoveAutofillProfile(const std::string& guid,
- WebDatabase* db);
-
- // Returns all Autofill profiles from the web database.
- scoped_ptr<WDTypedResult> GetAutofillProfiles(WebDatabase* db);
-
- // Adds a credit card to the web database.
- WebDatabase::State AddCreditCard(const CreditCard& credit_card,
- WebDatabase* db);
-
- // Updates a credit card in the web database.
- WebDatabase::State UpdateCreditCard(const CreditCard& credit_card,
- WebDatabase* db);
-
- // Removes a credit card from the web database.
- WebDatabase::State RemoveCreditCard(const std::string& guid,
- WebDatabase* db);
-
- // Returns a vector of all credit cards from the web database.
- scoped_ptr<WDTypedResult> GetCreditCards(WebDatabase* db);
-
- // Removes Autofill records from the database.
- WebDatabase::State RemoveAutofillDataModifiedBetween(
- const base::Time& delete_begin,
- const base::Time& delete_end,
- WebDatabase* db);
-
- // Removes origin URLs associated with Autofill profiles and credit cards from
- // the database.
- WebDatabase::State RemoveOriginURLsModifiedBetween(
- const base::Time& delete_begin,
- const base::Time& delete_end,
- WebDatabase* db);
-
- protected:
- virtual ~AutofillWebDataBackendImpl();
-
- private:
- friend struct content::BrowserThread::DeleteOnThread<
- content::BrowserThread::DB>;
- friend class base::DeleteHelper<AutofillWebDataBackendImpl>;
- // We have to friend RCTS<> so WIN shared-lib build is happy
- // (http://crbug/112250).
- friend class base::RefCountedThreadSafe<AutofillWebDataBackendImpl,
- content::BrowserThread::DeleteOnDBThread>;
-
- // This makes the destructor public, and thus allows us to aggregate
- // SupportsUserData. It is private by default to prevent incorrect
- // usage in class hierarchies where it is inherited by
- // reference-counted objects.
- class SupportsUserDataAggregatable : public base::SupportsUserData {
- public:
- SupportsUserDataAggregatable() {}
- virtual ~SupportsUserDataAggregatable() {}
- private:
- DISALLOW_COPY_AND_ASSIGN(SupportsUserDataAggregatable);
- };
-
- // Storage for user data to be accessed only on the DB thread. May
- // be used e.g. for SyncableService subclasses that need to be owned
- // by this object. Is created on first call to |GetDBUserData()|.
- scoped_ptr<SupportsUserDataAggregatable> user_data_;
-
- WebDatabase::State RemoveExpiredFormElementsImpl(WebDatabase* db);
-
- // Callbacks to ensure that sensitive info is destroyed if request is
- // cancelled.
- void DestroyAutofillProfileResult(const WDTypedResult* result);
- void DestroyAutofillCreditCardResult(const WDTypedResult* result);
-
- ObserverList<AutofillWebDataServiceObserverOnDBThread> db_observer_list_;
-
- // WebDataServiceBackend allows direct access to DB.
- // TODO(caitkp): Make it so nobody but us needs direct DB access anymore.
- scoped_refptr<WebDataServiceBackend> web_database_backend_;
-
- base::Closure on_changed_callback_;
-
- DISALLOW_COPY_AND_ASSIGN(AutofillWebDataBackendImpl);
-};
-
-} // namespace autofill
-
-#endif // COMPONENTS_AUTOFILL_BROWSER_WEBDATA_AUTOFILL_WEBDATA_BACKEND_IMPL_H_

Powered by Google App Engine
This is Rietveld 408576698