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

Unified Diff: webkit/glue/webframe_impl.cc

Issue 11479: New take at implementing autofill using the editor client API (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 12 years, 1 month 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
« no previous file with comments | « webkit/glue/webframe_impl.h ('k') | webkit/glue/webframeloaderclient_impl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/glue/webframe_impl.cc
===================================================================
--- webkit/glue/webframe_impl.cc (revision 5578)
+++ webkit/glue/webframe_impl.cc (working copy)
@@ -286,8 +286,7 @@
frames_scoping_count_(-1),
scoping_complete_(false),
next_invalidate_after_(0),
- printing_(false),
- form_autocomplete_listener_(NULL) {
+ printing_(false) {
StatsCounter(kWebFrameActiveCount).Increment();
live_object_count_++;
}
@@ -297,6 +296,7 @@
live_object_count_--;
CancelPendingScopingEffort();
+ ClearPasswordListeners();
}
// WebFrame -------------------------------------------------------------------
@@ -1873,14 +1873,24 @@
return frame()->eventHandler()->pendingFrameUnloadEventCount();
}
-webkit_glue::AutocompleteBodyListener* WebFrameImpl::GetAutocompleteListener() {
- if (!form_autocomplete_listener_) {
- form_autocomplete_listener_ =
- adoptRef(new webkit_glue::AutocompleteBodyListener(frame()));
+void WebFrameImpl::RegisterPasswordListener(
+ PassRefPtr<WebCore::HTMLInputElement> input_element,
+ webkit_glue::PasswordAutocompleteListener* listener) {
+ RefPtr<WebCore::HTMLInputElement> element = input_element;
+ DCHECK(password_listeners_.find(element) == password_listeners_.end());
+ password_listeners_.set(element, listener);
+}
+
+webkit_glue::PasswordAutocompleteListener* WebFrameImpl::GetPasswordListener(
+ WebCore::HTMLInputElement* input_element) {
+ return password_listeners_.get(input_element);
+}
+
+void WebFrameImpl::ClearPasswordListeners() {
+ for (PasswordListenerMap::iterator iter = password_listeners_.begin();
+ iter != password_listeners_.end(); ++iter) {
+ delete iter->second;
}
- return form_autocomplete_listener_.get();
+ password_listeners_.clear();
}
-void WebFrameImpl::ClearAutocompleteListener() {
- form_autocomplete_listener_ = NULL;
-}
« no previous file with comments | « webkit/glue/webframe_impl.h ('k') | webkit/glue/webframeloaderclient_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698