OLD | NEW |
| (Empty) |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef COMPONENTS_AUTOFILL_BROWSER_WEBDATA_AUTOFILL_WEBDATA_BACKEND_H_ | |
6 #define COMPONENTS_AUTOFILL_BROWSER_WEBDATA_AUTOFILL_WEBDATA_BACKEND_H_ | |
7 | |
8 class WebDatabase; | |
9 | |
10 namespace autofill { | |
11 | |
12 class AutofillWebDataServiceObserverOnDBThread; | |
13 | |
14 // Interface for doing Autofill work directly on the DB thread (used by | |
15 // Sync, mostly), without fully exposing the AutofillWebDataBackend to clients. | |
16 class AutofillWebDataBackend { | |
17 public: | |
18 virtual ~AutofillWebDataBackend() {} | |
19 | |
20 // Get a raw pointer to the WebDatabase. | |
21 virtual WebDatabase* GetDatabase() = 0; | |
22 | |
23 // Add an observer to be notified of changes on the DB thread. | |
24 virtual void AddObserver( | |
25 AutofillWebDataServiceObserverOnDBThread* observer) = 0; | |
26 | |
27 // Remove an observer. | |
28 virtual void RemoveObserver( | |
29 AutofillWebDataServiceObserverOnDBThread* observer) = 0; | |
30 | |
31 // Remove expired elements from the database and commit if needed. | |
32 virtual void RemoveExpiredFormElements() = 0; | |
33 | |
34 // Notifies listeners on the UI thread that multiple changes have been made to | |
35 // to Autofill records of the database. | |
36 // NOTE: This method is intended to be called from the DB thread. It | |
37 // asynchronously notifies listeners on the UI thread. | |
38 virtual void NotifyOfMultipleAutofillChanges() = 0; | |
39 }; | |
40 | |
41 } // namespace autofill | |
42 | |
43 #endif // COMPONENTS_AUTOFILL_BROWSER_WEBDATA_AUTOFILL_WEBDATA_BACKEND_H_ | |
OLD | NEW |