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

Unified Diff: android_webview/browser/aw_form_database_service.h

Issue 23803005: Fix threading issues in aw form database (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: minor comment update Created 7 years, 3 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
« no previous file with comments | « android_webview/browser/aw_browser_context.cc ('k') | android_webview/browser/aw_form_database_service.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_;
« no previous file with comments | « android_webview/browser/aw_browser_context.cc ('k') | android_webview/browser/aw_form_database_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698