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

Unified Diff: android_webview/browser/aw_browser_context.cc

Issue 15097004: Enable Autocomplete feature for chromium webview (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@setSaveFormData2
Patch Set: rebased Created 7 years, 6 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
Index: android_webview/browser/aw_browser_context.cc
diff --git a/android_webview/browser/aw_browser_context.cc b/android_webview/browser/aw_browser_context.cc
index 958c66f1eb38c580778a5bcbff9c55a9a3fc8304..bb4710b970a8620d8ad15233c72aa79c54dc0005 100644
--- a/android_webview/browser/aw_browser_context.cc
+++ b/android_webview/browser/aw_browser_context.cc
@@ -5,9 +5,15 @@
#include "android_webview/browser/aw_browser_context.h"
#include "android_webview/browser/aw_form_database_service.h"
+#include "android_webview/browser/aw_pref_store.h"
#include "android_webview/browser/aw_quota_manager_bridge.h"
#include "android_webview/browser/jni_dependency_factory.h"
#include "android_webview/browser/net/aw_url_request_context_getter.h"
+#include "base/prefs/pref_registry_simple.h"
+#include "base/prefs/pref_service.h"
+#include "base/prefs/pref_service_builder.h"
+#include "components/autofill/core/common/autofill_pref_names.h"
+#include "components/user_prefs/user_prefs.h"
#include "components/visitedlink/browser/visitedlink_master.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/resource_context.h"
@@ -19,6 +25,10 @@ namespace android_webview {
namespace {
+// Shows notifications which correspond to PersistentPrefStore's reading errors.
+void HandleReadError(PersistentPrefStore::PrefReadError error) {
+}
+
class AwResourceContext : public content::ResourceContext {
public:
explicit AwResourceContext(net::URLRequestContextGetter* getter)
@@ -49,7 +59,8 @@ AwBrowserContext::AwBrowserContext(
const base::FilePath path,
JniDependencyFactory* native_factory)
: context_storage_path_(path),
- native_factory_(native_factory) {
+ native_factory_(native_factory),
+ user_pref_service_ready_(false) {
DCHECK(g_browser_context == NULL);
g_browser_context = this;
}
@@ -121,17 +132,26 @@ AwFormDatabaseService* AwBrowserContext::GetFormDatabaseService() {
return form_database_service_.get();
}
-AwAutofillManagerDelegate* AwBrowserContext::AutofillManagerDelegate() {
- return autofill_manager_delegate_.get();
-}
+// Create user pref service for autofill functionality.
+void AwBrowserContext::CreateUserPrefServiceIfNecessary() {
+ if (user_pref_service_ready_)
+ return;
-AwAutofillManagerDelegate* AwBrowserContext::CreateAutofillManagerDelegate(
- bool enabled) {
- if (!autofill_manager_delegate_) {
- autofill_manager_delegate_.reset(
- new AwAutofillManagerDelegate(enabled));
- }
- return autofill_manager_delegate_.get();
+ user_pref_service_ready_ = true;
+ PrefRegistrySimple* pref_registry = new PrefRegistrySimple();
+ pref_registry->RegisterBooleanPref(
+ autofill::prefs::kAutofillEnabled, false);
benm (inactive) 2013/06/20 18:13:42 Maybe worth a comment to note that we use AutoFill
sgurun-gerrit only 2013/06/20 18:50:29 Done.
+ pref_registry->RegisterDoublePref(
+ autofill::prefs::kAutofillPositiveUploadRate, 0.0);
+ pref_registry->RegisterDoublePref(
+ autofill::prefs::kAutofillNegativeUploadRate, 0.0);
+
+ PrefServiceBuilder pref_service_builder;
+ pref_service_builder.WithUserPrefs(new AwPrefStore());
+ pref_service_builder.WithReadErrorCallback(base::Bind(&HandleReadError));
+
+ user_prefs::UserPrefs::Set(this,
+ pref_service_builder.Create(pref_registry));
}
base::FilePath AwBrowserContext::GetPath() {

Powered by Google App Engine
This is Rietveld 408576698