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

Side by Side Diff: components/autofill/content/renderer/password_autofill_agent.h

Issue 492043003: Fill on account select in the password manager (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixes from gcasto Created 6 years, 3 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 | Annotate | Revision Log
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_AUTOFILL_CONTENT_RENDERER_PASSWORD_AUTOFILL_AGENT_H_ 5 #ifndef COMPONENTS_AUTOFILL_CONTENT_RENDERER_PASSWORD_AUTOFILL_AGENT_H_
6 #define COMPONENTS_AUTOFILL_CONTENT_RENDERER_PASSWORD_AUTOFILL_AGENT_H_ 6 #define COMPONENTS_AUTOFILL_CONTENT_RENDERER_PASSWORD_AUTOFILL_AGENT_H_
7 7
8 #include <map> 8 #include <map>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 OTHER_POSSIBLE_USERNAME_SELECTED, 83 OTHER_POSSIBLE_USERNAME_SELECTED,
84 OTHER_POSSIBLE_USERNAMES_MAX 84 OTHER_POSSIBLE_USERNAMES_MAX
85 }; 85 };
86 86
87 // Ways to restrict which passwords are saved in ProvisionallySavePassword. 87 // Ways to restrict which passwords are saved in ProvisionallySavePassword.
88 enum ProvisionallySaveRestriction { 88 enum ProvisionallySaveRestriction {
89 RESTRICTION_NONE, 89 RESTRICTION_NONE,
90 RESTRICTION_NON_EMPTY_PASSWORD 90 RESTRICTION_NON_EMPTY_PASSWORD
91 }; 91 };
92 92
93 enum FillUserNameAndPasswordOptions {
94 EXACT_USERNAME_MATCH = 1 << 0,
95 SET_SELECTION = 1 << 1,
96 FILL_PREFERRED_USERNAME = 1 << 2
97 };
98
93 struct PasswordInfo { 99 struct PasswordInfo {
94 blink::WebInputElement password_field; 100 blink::WebInputElement password_field;
95 PasswordFormFillData fill_data; 101 PasswordFormFillData fill_data;
96 bool backspace_pressed_last; 102 bool backspace_pressed_last;
97 // The user manually edited the password more recently than the username was 103 // The user manually edited the password more recently than the username was
98 // changed. 104 // changed.
99 bool password_was_edited_last; 105 bool password_was_edited_last;
100 PasswordInfo(); 106 PasswordInfo();
101 }; 107 };
102 typedef std::map<blink::WebElement, PasswordInfo> LoginToPasswordInfoMap; 108 typedef std::map<blink::WebElement, PasswordInfo> LoginToPasswordInfoMap;
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 169
164 bool ShowSuggestionPopup(const PasswordFormFillData& fill_data, 170 bool ShowSuggestionPopup(const PasswordFormFillData& fill_data,
165 const blink::WebInputElement& user_input, 171 const blink::WebInputElement& user_input,
166 bool show_all); 172 bool show_all);
167 173
168 // Attempts to fill |username_element| and |password_element| with the 174 // Attempts to fill |username_element| and |password_element| with the
169 // |fill_data|. Will use the data corresponding to the preferred username, 175 // |fill_data|. Will use the data corresponding to the preferred username,
170 // unless the |username_element| already has a value set. In that case, 176 // unless the |username_element| already has a value set. In that case,
171 // attempts to fill the password matching the already filled username, if 177 // attempts to fill the password matching the already filled username, if
172 // such a password exists. 178 // such a password exists.
173 void FillFormOnPasswordRecieved(const PasswordFormFillData& fill_data, 179 void FillFormOnPasswordReceived(const PasswordFormFillData& fill_data,
174 blink::WebInputElement username_element, 180 blink::WebInputElement username_element,
175 blink::WebInputElement password_element); 181 blink::WebInputElement password_element);
176 182
183 // options_mask should be a bitwise mask of FillUserNameAndPasswordOptions
184 // values.
177 bool FillUserNameAndPassword(blink::WebInputElement* username_element, 185 bool FillUserNameAndPassword(blink::WebInputElement* username_element,
178 blink::WebInputElement* password_element, 186 blink::WebInputElement* password_element,
179 const PasswordFormFillData& fill_data, 187 const PasswordFormFillData& fill_data,
180 bool exact_username_match, 188 const int options_mask);
181 bool set_selection);
182 189
183 // Fills |login_input| and |password| with the most relevant suggestion from 190 // Fills |login_input| and |password| with the most relevant suggestion from
184 // |fill_data| and shows a popup with other suggestions. 191 // |fill_data| and shows a popup with other suggestions.
185 void PerformInlineAutocomplete( 192 void PerformInlineAutocomplete(
186 const blink::WebInputElement& username, 193 const blink::WebInputElement& username,
187 const blink::WebInputElement& password, 194 const blink::WebInputElement& password,
188 const PasswordFormFillData& fill_data); 195 const PasswordFormFillData& fill_data);
189 196
190 // Invoked when the passed frame is closing. Gives us a chance to clear any 197 // Invoked when the passed frame is closing. Gives us a chance to clear any
191 // reference we may have to elements in that frame. 198 // reference we may have to elements in that frame.
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 bool did_stop_loading_; 252 bool did_stop_loading_;
246 253
247 base::WeakPtrFactory<PasswordAutofillAgent> weak_ptr_factory_; 254 base::WeakPtrFactory<PasswordAutofillAgent> weak_ptr_factory_;
248 255
249 DISALLOW_COPY_AND_ASSIGN(PasswordAutofillAgent); 256 DISALLOW_COPY_AND_ASSIGN(PasswordAutofillAgent);
250 }; 257 };
251 258
252 } // namespace autofill 259 } // namespace autofill
253 260
254 #endif // COMPONENTS_AUTOFILL_CONTENT_RENDERER_PASSWORD_AUTOFILL_AGENT_H_ 261 #endif // COMPONENTS_AUTOFILL_CONTENT_RENDERER_PASSWORD_AUTOFILL_AGENT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698