Index: android_webview/browser/aw_form_database_service.h |
diff --git a/android_webview/browser/aw_form_database_service.h b/android_webview/browser/aw_form_database_service.h |
index c1cbc3720d2a9ac94705472aa64748893b34c1f0..d0b7b485bf90b72f5fcef9e1f3b17338fd3fda8d 100644 |
--- a/android_webview/browser/aw_form_database_service.h |
+++ b/android_webview/browser/aw_form_database_service.h |
@@ -7,11 +7,14 @@ |
#include "base/basictypes.h" |
#include "base/files/file_path.h" |
-#include "base/synchronization/waitable_event.h" |
#include "components/autofill/core/browser/webdata/autofill_webdata_service.h" |
#include "components/webdata/common/web_data_service_consumer.h" |
#include "components/webdata/common/web_database_service.h" |
+namespace base { |
+class WaitableEvent; |
+}; |
+ |
namespace android_webview { |
// Handles the database operations necessary to implement the autocomplete |
@@ -42,15 +45,16 @@ class AwFormDatabaseService : public WebDataServiceConsumer { |
const WDTypedResult* result) OVERRIDE; |
private: |
- // Cancels the currently pending WebDataService query, if there is one. |
- void CancelPendingQuery(); |
+ struct PendingQuery { |
+ bool* result; |
+ base::WaitableEvent* completion; |
+ }; |
+ typedef std::map<WebDataServiceBase::Handle, PendingQuery> QueryMap; |
- void HasFormDataImpl(); |
+ void ClearFormDataImpl(); |
+ void HasFormDataImpl(base::WaitableEvent* completion, bool* result); |
- // Stores the query handle when an async database query is executed. |
- WebDataServiceBase::Handle pending_query_handle_; |
- bool has_form_data_; |
- base::WaitableEvent completion_; |
+ QueryMap result_map_; |
scoped_refptr<autofill::AutofillWebDataService> autofill_data_; |
scoped_refptr<WebDatabaseService> web_database_; |