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

Unified Diff: chrome/renderer/password_autocomplete_manager.h

Issue 6151011: Introduce RenderView::Observer interface so that RenderView doesn't have to k... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 11 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
« no previous file with comments | « chrome/renderer/page_click_tracker_unittest.cc ('k') | chrome/renderer/password_autocomplete_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/renderer/password_autocomplete_manager.h
===================================================================
--- chrome/renderer/password_autocomplete_manager.h (revision 71253)
+++ chrome/renderer/password_autocomplete_manager.h (working copy)
@@ -11,28 +11,23 @@
#include "base/task.h"
#include "chrome/renderer/page_click_listener.h"
+#include "chrome/renderer/render_view_observer.h"
#include "webkit/glue/password_form_dom_manager.h"
#include "third_party/WebKit/WebKit/chromium/public/WebInputElement.h"
-class RenderView;
namespace WebKit {
+class WebInputElement;
class WebKeyboardEvent;
-class WebView;
}
// This class is responsible for filling password forms.
// There is one PasswordAutocompleteManager per RenderView.
-class PasswordAutocompleteManager : public PageClickListener {
+class PasswordAutocompleteManager : public RenderViewObserver,
+ public PageClickListener {
public:
explicit PasswordAutocompleteManager(RenderView* render_view);
virtual ~PasswordAutocompleteManager();
- // Invoked by the renderer when it receives the password info from the
- // browser. This triggers a password autocomplete (if wait_for_username is
- // false on |form_data|).
- void ReceivedPasswordFormFillData(WebKit::WebView* view,
- const webkit_glue::PasswordFormFillData& form_data);
-
// Invoked when the passed frame is closing. Gives us a chance to clear any
// reference we may have to elements in that frame.
void FrameClosing(const WebKit::WebFrame* frame);
@@ -50,10 +45,6 @@
const WebKit::WebInputElement& password,
const webkit_glue::PasswordFormFillData& fill_data);
- // Scans the given frame for password forms and sends them up to the browser.
- // If |only_visible| is true, only forms visible in the layout are sent.
- void SendPasswordForms(WebKit::WebFrame* frame, bool only_visible);
-
// WebViewClient editor related calls forwarded by the RenderView.
// If they return true, it indicates the event was consumed and should not
// be used for any other autofill activity.
@@ -63,6 +54,8 @@
const WebKit::WebKeyboardEvent& event);
private:
+ friend class PasswordAutocompleteManagerTest;
+
struct PasswordInfo {
WebKit::WebInputElement password_field;
webkit_glue::PasswordFormFillData fill_data;
@@ -71,11 +64,23 @@
};
typedef std::map<WebKit::WebElement, PasswordInfo> LoginToPasswordInfoMap;
+ // RenderView::Observer implementation.
+ virtual bool OnMessageReceived(const IPC::Message& message);
+ virtual void DidFinishDocumentLoad(WebKit::WebFrame* frame);
+ virtual void DidFinishLoad(WebKit::WebFrame* frame);
+
// PageClickListener implementation:
virtual bool InputElementClicked(const WebKit::WebInputElement& element,
bool was_focused,
bool is_focused);
+ void OnFillPasswordForm(
+ const webkit_glue::PasswordFormFillData& form_data);
+
+ // Scans the given frame for password forms and sends them up to the browser.
+ // If |only_visible| is true, only forms visible in the layout are sent.
+ void SendPasswordForms(WebKit::WebFrame* frame, bool only_visible);
+
void GetSuggestions(
const webkit_glue::PasswordFormFillData& fill_data,
const string16& input,
@@ -91,13 +96,6 @@
const webkit_glue::PasswordFormFillData& fill_data,
bool exact_username_match);
- // Convenience method that returns the routing ID of the render view we are
- // associated with.
- int GetRoutingID() const;
-
- // Weak reference.
- RenderView* render_view_;
-
// The logins we have filled so far with their associated info.
LoginToPasswordInfoMap login_to_password_info_;
« no previous file with comments | « chrome/renderer/page_click_tracker_unittest.cc ('k') | chrome/renderer/password_autocomplete_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698