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

Unified Diff: chrome/browser/password_manager/password_manager.h

Issue 4694008: Make pink's TabContentsWrapper change compile on Windows.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 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
Index: chrome/browser/password_manager/password_manager.h
===================================================================
--- chrome/browser/password_manager/password_manager.h (revision 66453)
+++ chrome/browser/password_manager/password_manager.h (working copy)
@@ -11,10 +11,12 @@
#include "chrome/browser/login_model.h"
#include "chrome/browser/password_manager/password_form_manager.h"
#include "chrome/browser/prefs/pref_member.h"
+#include "chrome/browser/tab_contents/web_navigation_observer.h"
#include "webkit/glue/password_form.h"
#include "webkit/glue/password_form_dom_manager.h"
class PasswordManagerDelegate;
+class PasswordManagerTest;
class PasswordFormManager;
class PrefService;
@@ -22,13 +24,14 @@
// receiving password form data from the renderer and managing the password
// database through the WebDataService. The PasswordManager is a LoginModel
// for purposes of supporting HTTP authentication dialogs.
-class PasswordManager : public LoginModel {
+class PasswordManager : public LoginModel,
+ public WebNavigationObserver {
public:
static void RegisterUserPrefs(PrefService* prefs);
// The delegate passed in is required to outlive the PasswordManager.
explicit PasswordManager(PasswordManagerDelegate* delegate);
- ~PasswordManager();
+ virtual ~PasswordManager();
// Called by a PasswordFormManager when it decides a form can be autofilled
// on the page.
@@ -37,34 +40,24 @@
const webkit_glue::PasswordForm* const preferred_match,
bool wait_for_username) const;
- // Notification that the user navigated away from the current page.
- // Unless this is a password form submission, for our purposes this
- // means we're done with the current page, so we can clean-up.
- void DidNavigate();
+ // LoginModel implementation.
+ virtual void SetObserver(LoginModelObserver* observer);
- // Show a prompt to save submitted password if it is a new username for
- // the form, or else just update the stored value.
- void DidStopLoading();
-
- // Notifies the password manager that password forms were parsed on the page.
- void PasswordFormsFound(const std::vector<webkit_glue::PasswordForm>& forms);
-
- // Notifies the password manager which password forms are initially visible.
- void PasswordFormsVisible(
- const std::vector<webkit_glue::PasswordForm>& visible_forms);
-
// When a form is submitted, we prepare to save the password but wait
// until we decide the user has successfully logged in. This is step 1
// of 2 (see SavePassword).
void ProvisionallySavePassword(webkit_glue::PasswordForm form);
- // Clear any pending saves
- void ClearProvisionalSave();
+ // WebNavigationObserver overrides.
+ virtual void DidStopLoading();
+ virtual void PasswordFormsFound(
+ const std::vector<webkit_glue::PasswordForm>& forms);
+ virtual void PasswordFormsVisible(
+ const std::vector<webkit_glue::PasswordForm>& visible_forms);
- // LoginModel implementation.
- virtual void SetObserver(LoginModelObserver* observer);
+ private:
+ FRIEND_TEST_ALL_PREFIXES(PasswordManagerTest, FormSeenThenLeftPage);
- private:
// Note about how a PasswordFormManager can transition from
// pending_login_managers_ to provisional_save_manager_ and the infobar.
//
@@ -78,6 +71,15 @@
//
// When a form is "seen" on a page, a PasswordFormManager is created
// and stored in this collection until user navigates away from page.
+
+ // Clear any pending saves
+ void ClearProvisionalSave();
+
+ // Notification that the user navigated away from the current page.
+ // Unless this is a password form submission, for our purposes this
+ // means we're done with the current page, so we can clean-up.
+ void DidNavigate();
+
typedef std::vector<PasswordFormManager*> LoginManagers;
LoginManagers pending_login_managers_;

Powered by Google App Engine
This is Rietveld 408576698