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> | |
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.
| |
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 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.
| |
37 AwFormDatabaseService* service = context->GetFormDatabaseService(); | |
38 DCHECK(service); | |
39 return service; | |
40 } | |
41 | |
42 } // anonymous namespace | |
43 | |
44 | |
45 // static | |
46 jboolean HasFormData(JNIEnv*, jclass) { | |
47 AwFormDatabaseService* service = GetFormDatabaseService(); | |
48 return service->HasFormElements(); | |
49 } | |
50 | |
17 // static | 51 // static |
18 void ClearFormData(JNIEnv*, jclass) { | 52 void ClearFormData(JNIEnv*, jclass) { |
19 AwBrowserContext* context = AwContentBrowserClient::GetAwBrowserContext(); | 53 AwFormDatabaseService* service = GetFormDatabaseService(); |
20 DCHECK(context); | 54 return service->ClearFormElements(); |
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 } | 55 } |
34 | 56 |
35 bool RegisterFormDatabase(JNIEnv* env) { | 57 bool RegisterAwFormDatabase(JNIEnv* env) { |
36 return RegisterNativesImpl(env) >= 0; | 58 return RegisterNativesImpl(env) >= 0; |
37 } | 59 } |
38 | 60 |
39 } // namespace android_webview | 61 } // namespace android_webview |
OLD | NEW |