Chromium Code Reviews| Index: android_webview/native/aw_form_database.cc |
| diff --git a/android_webview/native/aw_form_database.cc b/android_webview/native/aw_form_database.cc |
| index f0d42fdc7cafb8cccb1118cd9082e66643c38415..03ddb436af658ce154380b4223c7cd32e2e1b195 100644 |
| --- a/android_webview/native/aw_form_database.cc |
| +++ b/android_webview/native/aw_form_database.cc |
| @@ -6,33 +6,55 @@ |
| #include "android_webview/browser/aw_browser_context.h" |
| #include "android_webview/browser/aw_content_browser_client.h" |
| +#include "android_webview/browser/aw_form_database_service.h" |
| #include "base/android/jni_android.h" |
| #include "base/logging.h" |
| #include "base/time.h" |
| #include "components/autofill/browser/webdata/autofill_webdata_service.h" |
| #include "jni/AwFormDatabase_jni.h" |
| +// static |
| +scoped_refptr<autofill::AutofillWebDataService> |
|
benm (inactive)
2013/05/07 11:16:11
Can this be removed now?
sgurun-gerrit only
2013/05/07 18:39:02
we don't use it android_Webview/ but this method i
benm (inactive)
2013/05/07 19:06:55
Ah, I see.
|
| +autofill::AutofillWebDataService::FromBrowserContext( |
| + content::BrowserContext* context) { |
| + |
| + DCHECK(context); |
| + android_webview::AwFormDatabaseService* service = |
| + static_cast<android_webview::AwBrowserContext*>( |
| + context)->GetFormDatabaseService(); |
| + DCHECK(service); |
| + return service->get_autofill_webdata_service(); |
| +} |
| + |
| namespace android_webview { |
| -// static |
| -void ClearFormData(JNIEnv*, jclass) { |
| +namespace { |
| + |
| +AwFormDatabaseService* GetFormDatabaseService() { |
| + |
| AwBrowserContext* context = AwContentBrowserClient::GetAwBrowserContext(); |
| DCHECK(context); |
|
benm (inactive)
2013/05/07 11:16:11
Don't think we need these DCHECKs, we will crash o
sgurun-gerrit only
2013/05/07 18:39:02
Done.
|
| + AwFormDatabaseService* service = context->GetFormDatabaseService(); |
| + DCHECK(service); |
| + return service; |
| +} |
| + |
| +} // anonymous namespace |
| + |
| + |
| +// static |
| +jboolean HasFormData(JNIEnv*, jclass) { |
| + AwFormDatabaseService* service = GetFormDatabaseService(); |
| + return service->HasFormElements(); |
| +} |
| - autofill::AutofillWebDataService* service = |
| - autofill::AutofillWebDataService::FromBrowserContext(context).get(); |
| - if (service == NULL) { |
| - LOG(WARNING) << "No webdata service found, ignoring ClearFormData"; |
| - return; |
| - } |
| - |
| - base::Time begin; |
| - base::Time end = base::Time::Max(); |
| - service->RemoveFormElementsAddedBetween(begin, end); |
| - service->RemoveAutofillDataModifiedBetween(begin, end); |
| +// static |
| +void ClearFormData(JNIEnv*, jclass) { |
| + AwFormDatabaseService* service = GetFormDatabaseService(); |
| + return service->ClearFormElements(); |
| } |
| -bool RegisterFormDatabase(JNIEnv* env) { |
| +bool RegisterAwFormDatabase(JNIEnv* env) { |
| return RegisterNativesImpl(env) >= 0; |
| } |