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

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: add a check that disappeared during a merge. 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
« no previous file with comments | « android_webview/browser/aw_browser_context.cc ('k') | android_webview/renderer/DEPS » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 web_contents_.get())) { 132 web_contents_.get())) {
133 base::subtle::NoBarrier_AtomicIncrement(&g_instance_count, 1); 133 base::subtle::NoBarrier_AtomicIncrement(&g_instance_count, 1);
134 icon_helper_.reset(new IconHelper(web_contents_.get())); 134 icon_helper_.reset(new IconHelper(web_contents_.get()));
135 icon_helper_->SetListener(this); 135 icon_helper_->SetListener(this);
136 web_contents_->SetUserData(kAwContentsUserDataKey, 136 web_contents_->SetUserData(kAwContentsUserDataKey,
137 new AwContentsUserData(this)); 137 new AwContentsUserData(this));
138 render_view_host_ext_.reset( 138 render_view_host_ext_.reset(
139 new AwRenderViewHostExt(this, web_contents_.get())); 139 new AwRenderViewHostExt(this, web_contents_.get()));
140 140
141 AwAutofillManagerDelegate* autofill_manager_delegate = 141 AwAutofillManagerDelegate* autofill_manager_delegate =
142 AwBrowserContext::FromWebContents(web_contents_.get())-> 142 AwAutofillManagerDelegate::FromWebContents(web_contents_.get());
143 AutofillManagerDelegate();
144 if (autofill_manager_delegate) 143 if (autofill_manager_delegate)
145 InitAutofillIfNecessary(autofill_manager_delegate->GetSaveFormData()); 144 InitAutofillIfNecessary(autofill_manager_delegate->GetSaveFormData());
146 } 145 }
147 146
148 void AwContents::SetJavaPeers(JNIEnv* env, 147 void AwContents::SetJavaPeers(JNIEnv* env,
149 jobject obj, 148 jobject obj,
150 jobject aw_contents, 149 jobject aw_contents,
151 jobject web_contents_delegate, 150 jobject web_contents_delegate,
152 jobject contents_client_bridge, 151 jobject contents_client_bridge,
153 jobject io_thread_client, 152 jobject io_thread_client,
(...skipping 23 matching lines...) Expand all
177 web_contents_.get(), 176 web_contents_.get(),
178 make_scoped_ptr(new InterceptNavigationDelegate( 177 make_scoped_ptr(new InterceptNavigationDelegate(
179 env, intercept_navigation_delegate))); 178 env, intercept_navigation_delegate)));
180 } 179 }
181 180
182 void AwContents::SetSaveFormData(bool enabled) { 181 void AwContents::SetSaveFormData(bool enabled) {
183 InitAutofillIfNecessary(enabled); 182 InitAutofillIfNecessary(enabled);
184 // We need to check for the existence, since autofill_manager_delegate 183 // We need to check for the existence, since autofill_manager_delegate
185 // may not be created when the setting is false. 184 // may not be created when the setting is false.
186 if (AutofillDriverImpl::FromWebContents(web_contents_.get())) { 185 if (AutofillDriverImpl::FromWebContents(web_contents_.get())) {
187 AwAutofillManagerDelegate* autofill_manager_delegate = 186 AwAutofillManagerDelegate::FromWebContents(web_contents_.get())->
188 AwBrowserContext::FromWebContents(web_contents_.get())-> 187 SetSaveFormData(enabled);
189 AutofillManagerDelegate();
190 autofill_manager_delegate->SetSaveFormData(enabled);
191 } 188 }
192 } 189 }
193 190
194 void AwContents::InitAutofillIfNecessary(bool enabled) { 191 void AwContents::InitAutofillIfNecessary(bool enabled) {
195 // Do not initialize if the feature is not enabled. 192 // Do not initialize if the feature is not enabled.
196 if (!enabled) 193 if (!enabled)
197 return; 194 return;
198 // Check if the autofill manager already exists. 195 // Check if the autofill manager already exists.
199 content::WebContents* web_contents = web_contents_.get(); 196 content::WebContents* web_contents = web_contents_.get();
200 if (AutofillDriverImpl::FromWebContents(web_contents)) 197 if (AutofillDriverImpl::FromWebContents(web_contents))
201 return; 198 return;
202 199
200 AwBrowserContext::FromWebContents(web_contents)->
201 CreateUserPrefServiceIfNecessary();
202 AwAutofillManagerDelegate::CreateForWebContents(web_contents);
203 AutofillDriverImpl::CreateForWebContentsAndDelegate( 203 AutofillDriverImpl::CreateForWebContentsAndDelegate(
204 web_contents, 204 web_contents,
205 AwBrowserContext::FromWebContents(web_contents)-> 205 AwAutofillManagerDelegate::FromWebContents(web_contents),
206 CreateAutofillManagerDelegate(enabled),
207 l10n_util::GetDefaultLocale(), 206 l10n_util::GetDefaultLocale(),
208 AutofillManager::DISABLE_AUTOFILL_DOWNLOAD_MANAGER); 207 AutofillManager::DISABLE_AUTOFILL_DOWNLOAD_MANAGER);
209 } 208 }
210 209
211 AwContents::~AwContents() { 210 AwContents::~AwContents() {
212 DCHECK(AwContents::FromWebContents(web_contents_.get()) == this); 211 DCHECK(AwContents::FromWebContents(web_contents_.get()) == this);
213 web_contents_->RemoveUserData(kAwContentsUserDataKey); 212 web_contents_->RemoveUserData(kAwContentsUserDataKey);
214 if (find_helper_.get()) 213 if (find_helper_.get())
215 find_helper_->SetListener(NULL); 214 find_helper_->SetListener(NULL);
216 if (icon_helper_.get()) 215 if (icon_helper_.get())
(...skipping 497 matching lines...) Expand 10 before | Expand all | Expand 10 after
714 return browser_view_renderer_->CapturePicture(); 713 return browser_view_renderer_->CapturePicture();
715 } 714 }
716 715
717 void AwContents::EnableOnNewPicture(JNIEnv* env, 716 void AwContents::EnableOnNewPicture(JNIEnv* env,
718 jobject obj, 717 jobject obj,
719 jboolean enabled) { 718 jboolean enabled) {
720 browser_view_renderer_->EnableOnNewPicture(enabled); 719 browser_view_renderer_->EnableOnNewPicture(enabled);
721 } 720 }
722 721
723 } // namespace android_webview 722 } // namespace android_webview
OLDNEW
« no previous file with comments | « android_webview/browser/aw_browser_context.cc ('k') | android_webview/renderer/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698