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

Side by Side Diff: android_webview/native/aw_contents.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 unified diff | Download patch
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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_contents.h" 5 #include "android_webview/native/aw_contents.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_browser_main_parts.h" 8 #include "android_webview/browser/aw_browser_main_parts.h"
9 #include "android_webview/browser/gpu_memory_buffer_impl.h" 9 #include "android_webview/browser/gpu_memory_buffer_impl.h"
10 #include "android_webview/browser/in_process_view_renderer.h" 10 #include "android_webview/browser/in_process_view_renderer.h"
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 new InProcessViewRenderer(this, java_renderer_helper(), 128 new InProcessViewRenderer(this, java_renderer_helper(),
129 web_contents_.get())) { 129 web_contents_.get())) {
130 icon_helper_.reset(new IconHelper(web_contents_.get())); 130 icon_helper_.reset(new IconHelper(web_contents_.get()));
131 icon_helper_->SetListener(this); 131 icon_helper_->SetListener(this);
132 web_contents_->SetUserData(kAwContentsUserDataKey, 132 web_contents_->SetUserData(kAwContentsUserDataKey,
133 new AwContentsUserData(this)); 133 new AwContentsUserData(this));
134 render_view_host_ext_.reset( 134 render_view_host_ext_.reset(
135 new AwRenderViewHostExt(this, web_contents_.get())); 135 new AwRenderViewHostExt(this, web_contents_.get()));
136 136
137 AwAutofillManagerDelegate* autofill_manager_delegate = 137 AwAutofillManagerDelegate* autofill_manager_delegate =
138 AwBrowserContext::FromWebContents(web_contents_.get())-> 138 AwAutofillManagerDelegate::FromWebContents(web_contents_.get());
139 AutofillManagerDelegate();
140 if (autofill_manager_delegate) 139 if (autofill_manager_delegate)
141 InitAutofillIfNecessary(autofill_manager_delegate->GetSaveFormData()); 140 InitAutofillIfNecessary(autofill_manager_delegate->GetSaveFormData());
142 } 141 }
143 142
144 void AwContents::SetJavaPeers(JNIEnv* env, 143 void AwContents::SetJavaPeers(JNIEnv* env,
145 jobject obj, 144 jobject obj,
146 jobject aw_contents, 145 jobject aw_contents,
147 jobject web_contents_delegate, 146 jobject web_contents_delegate,
148 jobject contents_client_bridge, 147 jobject contents_client_bridge,
149 jobject io_thread_client, 148 jobject io_thread_client,
(...skipping 23 matching lines...) Expand all
173 web_contents_.get(), 172 web_contents_.get(),
174 make_scoped_ptr(new InterceptNavigationDelegate( 173 make_scoped_ptr(new InterceptNavigationDelegate(
175 env, intercept_navigation_delegate))); 174 env, intercept_navigation_delegate)));
176 } 175 }
177 176
178 void AwContents::SetSaveFormData(bool enabled) { 177 void AwContents::SetSaveFormData(bool enabled) {
179 InitAutofillIfNecessary(enabled); 178 InitAutofillIfNecessary(enabled);
180 // We need to check for the existence, since autofill_manager_delegate 179 // We need to check for the existence, since autofill_manager_delegate
181 // may not be created when the setting is false. 180 // may not be created when the setting is false.
182 if (AutofillDriverImpl::FromWebContents(web_contents_.get())) { 181 if (AutofillDriverImpl::FromWebContents(web_contents_.get())) {
183 AwAutofillManagerDelegate* autofill_manager_delegate = 182 AwAutofillManagerDelegate::FromWebContents(web_contents_.get())->
184 AwBrowserContext::FromWebContents(web_contents_.get())-> 183 SetSaveFormData(enabled);
185 AutofillManagerDelegate();
186 autofill_manager_delegate->SetSaveFormData(enabled);
187 } 184 }
188 } 185 }
189 186
190 void AwContents::InitAutofillIfNecessary(bool enabled) { 187 void AwContents::InitAutofillIfNecessary(bool enabled) {
191 // Do not initialize if the feature is not enabled. 188 // Do not initialize if the feature is not enabled.
192 if (!enabled) 189 if (!enabled)
193 return; 190 return;
194 // Check if the autofill manager already exists. 191 // Check if the autofill manager already exists.
195 content::WebContents* web_contents = web_contents_.get(); 192 content::WebContents* web_contents = web_contents_.get();
196 if (AutofillDriverImpl::FromWebContents(web_contents)) 193 if (AutofillDriverImpl::FromWebContents(web_contents))
197 return; 194 return;
198 195
196 AwBrowserContext::FromWebContents(web_contents)->
197 CreateUserPrefServiceIfNecessary();
198 AwAutofillManagerDelegate::CreateForWebContents(web_contents);
199 AutofillDriverImpl::CreateForWebContentsAndDelegate( 199 AutofillDriverImpl::CreateForWebContentsAndDelegate(
200 web_contents, 200 web_contents,
201 AwBrowserContext::FromWebContents(web_contents)-> 201 AwAutofillManagerDelegate::FromWebContents(web_contents),
202 CreateAutofillManagerDelegate(enabled),
203 l10n_util::GetDefaultLocale(), 202 l10n_util::GetDefaultLocale(),
204 AutofillManager::DISABLE_AUTOFILL_DOWNLOAD_MANAGER, 203 AutofillManager::DISABLE_AUTOFILL_DOWNLOAD_MANAGER,
205 true); 204 true);
206 } 205 }
207 206
208 AwContents::~AwContents() { 207 AwContents::~AwContents() {
209 DCHECK(AwContents::FromWebContents(web_contents_.get()) == this); 208 DCHECK(AwContents::FromWebContents(web_contents_.get()) == this);
210 web_contents_->RemoveUserData(kAwContentsUserDataKey); 209 web_contents_->RemoveUserData(kAwContentsUserDataKey);
211 if (find_helper_.get()) 210 if (find_helper_.get())
212 find_helper_->SetListener(NULL); 211 find_helper_->SetListener(NULL);
(...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after
689 return browser_view_renderer_->CapturePicture(); 688 return browser_view_renderer_->CapturePicture();
690 } 689 }
691 690
692 void AwContents::EnableOnNewPicture(JNIEnv* env, 691 void AwContents::EnableOnNewPicture(JNIEnv* env,
693 jobject obj, 692 jobject obj,
694 jboolean enabled) { 693 jboolean enabled) {
695 browser_view_renderer_->EnableOnNewPicture(enabled); 694 browser_view_renderer_->EnableOnNewPicture(enabled);
696 } 695 }
697 696
698 } // namespace android_webview 697 } // namespace android_webview
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698