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

Side by Side Diff: components/password_manager/core/browser/password_autofill_manager.h

Issue 1208133002: [Autofill/Autocomplete Feature] Substring matching instead of prefix matching. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added |match_start| usage. Created 5 years, 5 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #ifndef COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_PASSWORD_AUTOFILL_MANAGER_H_ 5 #ifndef COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_PASSWORD_AUTOFILL_MANAGER_H_
6 #define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_PASSWORD_AUTOFILL_MANAGER_H_ 6 #define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_PASSWORD_AUTOFILL_MANAGER_H_
7 7
8 #include <map> 8 #include <map>
9 9
10 #include "base/gtest_prod_util.h" 10 #include "base/gtest_prod_util.h"
(...skipping 14 matching lines...) Expand all
25 class PasswordAutofillManager : public autofill::AutofillPopupDelegate { 25 class PasswordAutofillManager : public autofill::AutofillPopupDelegate {
26 public: 26 public:
27 PasswordAutofillManager(PasswordManagerDriver* password_manager_driver, 27 PasswordAutofillManager(PasswordManagerDriver* password_manager_driver,
28 autofill::AutofillClient* autofill_client); 28 autofill::AutofillClient* autofill_client);
29 virtual ~PasswordAutofillManager(); 29 virtual ~PasswordAutofillManager();
30 30
31 // AutofillPopupDelegate implementation. 31 // AutofillPopupDelegate implementation.
32 void OnPopupShown() override; 32 void OnPopupShown() override;
33 void OnPopupHidden() override; 33 void OnPopupHidden() override;
34 void DidSelectSuggestion(const base::string16& value, 34 void DidSelectSuggestion(const base::string16& value,
35 int identifier) override; 35 int identifier,
36 size_t match_start) override;
36 void DidAcceptSuggestion(const base::string16& value, 37 void DidAcceptSuggestion(const base::string16& value,
37 int identifier, 38 int identifier,
38 int position) override; 39 int position) override;
39 bool GetDeletionConfirmationText(const base::string16& value, 40 bool GetDeletionConfirmationText(const base::string16& value,
40 int identifier, 41 int identifier,
41 base::string16* title, 42 base::string16* title,
42 base::string16* body) override; 43 base::string16* body) override;
43 bool RemoveSuggestion(const base::string16& value, int identifier) override; 44 bool RemoveSuggestion(const base::string16& value, int identifier) override;
44 void ClearPreviewedForm() override; 45 void ClearPreviewedForm() override;
45 46
(...skipping 11 matching lines...) Expand all
57 int options, 58 int options,
58 const gfx::RectF& bounds); 59 const gfx::RectF& bounds);
59 60
60 // Called when main frame navigates. Not called for in-page navigations. 61 // Called when main frame navigates. Not called for in-page navigations.
61 void DidNavigateMainFrame(); 62 void DidNavigateMainFrame();
62 63
63 // A public version of FillSuggestion(), only for use in tests. 64 // A public version of FillSuggestion(), only for use in tests.
64 bool FillSuggestionForTest(int key, const base::string16& username); 65 bool FillSuggestionForTest(int key, const base::string16& username);
65 66
66 // A public version of PreviewSuggestion(), only for use in tests. 67 // A public version of PreviewSuggestion(), only for use in tests.
67 bool PreviewSuggestionForTest(int key, const base::string16& username); 68 bool PreviewSuggestionForTest(int key,
69 const base::string16& username,
70 size_t match_start);
68 71
69 private: 72 private:
70 typedef std::map<int, autofill::PasswordFormFillData> LoginToPasswordInfoMap; 73 typedef std::map<int, autofill::PasswordFormFillData> LoginToPasswordInfoMap;
71 74
72 // Attempts to fill the password associated with user name |username|, and 75 // Attempts to fill the password associated with user name |username|, and
73 // returns true if it was successful. 76 // returns true if it was successful.
74 bool FillSuggestion(int key, const base::string16& username); 77 bool FillSuggestion(int key, const base::string16& username);
75 78
76 // Attempts to preview the password associated with user name |username|, and 79 // Attempts to preview the password associated with user name |username|, and
77 // returns true if it was successful. 80 // returns true if it was successful.
78 bool PreviewSuggestion(int key, const base::string16& username); 81 bool PreviewSuggestion(int key,
82 const base::string16& username,
83 size_t match_start);
79 84
80 // If |current_username| matches a username for one of the login mappings in 85 // If |current_username| matches a username for one of the login mappings in
81 // |fill_data|, returns true and assigns the password and the original signon 86 // |fill_data|, returns true and assigns the password and the original signon
82 // realm to |password_and_realm|. Note that if the credential comes from the 87 // realm to |password_and_realm|. Note that if the credential comes from the
83 // same realm as the one we're filling to, the |realm| field will be left 88 // same realm as the one we're filling to, the |realm| field will be left
84 // empty, as this is the behavior of |PasswordFormFillData|. 89 // empty, as this is the behavior of |PasswordFormFillData|.
85 // Otherwise, returns false and leaves |password_and_realm| untouched. 90 // Otherwise, returns false and leaves |password_and_realm| untouched.
86 bool GetPasswordAndRealmForUsername( 91 bool GetPasswordAndRealmForUsername(
87 const base::string16& current_username, 92 const base::string16& current_username,
88 const autofill::PasswordFormFillData& fill_data, 93 const autofill::PasswordFormFillData& fill_data,
(...skipping 15 matching lines...) Expand all
104 autofill::AutofillClient* const autofill_client_; // weak 109 autofill::AutofillClient* const autofill_client_; // weak
105 110
106 base::WeakPtrFactory<PasswordAutofillManager> weak_ptr_factory_; 111 base::WeakPtrFactory<PasswordAutofillManager> weak_ptr_factory_;
107 112
108 DISALLOW_COPY_AND_ASSIGN(PasswordAutofillManager); 113 DISALLOW_COPY_AND_ASSIGN(PasswordAutofillManager);
109 }; 114 };
110 115
111 } // namespace password_manager 116 } // namespace password_manager
112 117
113 #endif // COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_PASSWORD_AUTOFILL_MANAGER_H_ 118 #endif // COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_PASSWORD_AUTOFILL_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698