Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "android_webview/native/aw_form_database.h" | 5 #include "android_webview/native/aw_form_database.h" |
| 6 | 6 |
| 7 #include "android_webview/browser/aw_browser_context.h" | 7 #include "android_webview/browser/aw_browser_context.h" |
| 8 #include "android_webview/browser/aw_content_browser_client.h" | 8 #include "android_webview/browser/aw_content_browser_client.h" |
| 9 #include "android_webview/browser/aw_form_database_service.h" | |
| 9 #include "base/android/jni_android.h" | 10 #include "base/android/jni_android.h" |
| 10 #include "base/logging.h" | 11 #include "base/logging.h" |
| 11 #include "base/time.h" | 12 #include "base/time.h" |
| 12 #include "components/autofill/browser/webdata/autofill_webdata_service.h" | 13 #include "components/autofill/browser/webdata/autofill_webdata_service.h" |
| 13 #include "jni/AwFormDatabase_jni.h" | 14 #include "jni/AwFormDatabase_jni.h" |
| 14 | 15 |
| 16 // static | |
| 17 scoped_refptr<autofill::AutofillWebDataService> | |
| 18 autofill::AutofillWebDataService::FromBrowserContext( | |
| 19 content::BrowserContext* context) { | |
| 20 | |
| 21 DCHECK(context); | |
| 22 android_webview::AwFormDatabaseService* service = | |
| 23 static_cast<android_webview::AwBrowserContext*>( | |
| 24 context)->GetFormDatabaseService(); | |
| 25 DCHECK(service); | |
| 26 return service->get_autofill_webdata_service(); | |
| 27 } | |
| 28 | |
| 15 namespace android_webview { | 29 namespace android_webview { |
| 16 | 30 |
| 31 namespace { | |
| 32 | |
| 33 AwFormDatabaseService* GetFormDatabaseService() { | |
| 34 | |
| 35 AwBrowserContext* context = AwContentBrowserClient::GetAwBrowserContext(); | |
| 36 AwFormDatabaseService* service = context->GetFormDatabaseService(); | |
| 37 return service; | |
| 38 } | |
| 39 | |
| 40 } // anonymous namespace | |
| 41 | |
| 42 | |
| 43 // static | |
| 44 jboolean HasFormData(JNIEnv*, jclass) { | |
| 45 AwFormDatabaseService* service = GetFormDatabaseService(); | |
| 46 return service->HasFormData(); | |
| 47 } | |
| 48 | |
| 17 // static | 49 // static |
| 18 void ClearFormData(JNIEnv*, jclass) { | 50 void ClearFormData(JNIEnv*, jclass) { |
| 19 AwBrowserContext* context = AwContentBrowserClient::GetAwBrowserContext(); | 51 AwFormDatabaseService* service = GetFormDatabaseService(); |
| 20 DCHECK(context); | 52 return service->ClearFormData(); |
|
benm (inactive)
2013/05/07 19:06:55
no need to return here
sgurun-gerrit only
2013/05/07 19:56:09
Done.
| |
| 21 | |
| 22 autofill::AutofillWebDataService* service = | |
| 23 autofill::AutofillWebDataService::FromBrowserContext(context).get(); | |
| 24 if (service == NULL) { | |
| 25 LOG(WARNING) << "No webdata service found, ignoring ClearFormData"; | |
| 26 return; | |
| 27 } | |
| 28 | |
| 29 base::Time begin; | |
| 30 base::Time end = base::Time::Max(); | |
| 31 service->RemoveFormElementsAddedBetween(begin, end); | |
| 32 service->RemoveAutofillDataModifiedBetween(begin, end); | |
| 33 } | 53 } |
| 34 | 54 |
| 35 bool RegisterFormDatabase(JNIEnv* env) { | 55 bool RegisterAwFormDatabase(JNIEnv* env) { |
| 36 return RegisterNativesImpl(env) >= 0; | 56 return RegisterNativesImpl(env) >= 0; |
| 37 } | 57 } |
| 38 | 58 |
| 39 } // namespace android_webview | 59 } // namespace android_webview |
| OLD | NEW |