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

Side by Side Diff: chrome/renderer/autofill/password_autofill_agent_browsertest.cc

Issue 686653003: Don't use FormFieldData only as a key in a map (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "base/strings/string_util.h" 5 #include "base/strings/string_util.h"
6 #include "base/strings/utf_string_conversions.h" 6 #include "base/strings/utf_string_conversions.h"
7 #include "chrome/test/base/chrome_render_view_test.h" 7 #include "chrome/test/base/chrome_render_view_test.h"
8 #include "components/autofill/content/common/autofill_messages.h" 8 #include "components/autofill/content/common/autofill_messages.h"
9 #include "components/autofill/content/renderer/autofill_agent.h" 9 #include "components/autofill/content/renderer/autofill_agent.h"
10 #include "components/autofill/content/renderer/form_autofill_util.h" 10 #include "components/autofill/content/renderer/form_autofill_util.h"
(...skipping 19 matching lines...) Expand all
30 using base::UTF16ToUTF8; 30 using base::UTF16ToUTF8;
31 using blink::WebDocument; 31 using blink::WebDocument;
32 using blink::WebElement; 32 using blink::WebElement;
33 using blink::WebFrame; 33 using blink::WebFrame;
34 using blink::WebInputElement; 34 using blink::WebInputElement;
35 using blink::WebString; 35 using blink::WebString;
36 using blink::WebView; 36 using blink::WebView;
37 37
38 namespace { 38 namespace {
39 39
40 const int kPasswordFillFormDataId = 1234;
41
40 // The name of the username/password element in the form. 42 // The name of the username/password element in the form.
41 const char kUsernameName[] = "username"; 43 const char kUsernameName[] = "username";
42 const char kPasswordName[] = "password"; 44 const char kPasswordName[] = "password";
43 45
44 const char kAliceUsername[] = "alice"; 46 const char kAliceUsername[] = "alice";
45 const char kAlicePassword[] = "password"; 47 const char kAlicePassword[] = "password";
46 const char kBobUsername[] = "bob"; 48 const char kBobUsername[] = "bob";
47 const char kBobPassword[] = "secret"; 49 const char kBobPassword[] = "secret";
48 const char kCarolUsername[] = "Carol"; 50 const char kCarolUsername[] = "Carol";
49 const char kCarolPassword[] = "test"; 51 const char kCarolPassword[] = "test";
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 class PasswordAutofillAgentTest : public ChromeRenderViewTest { 171 class PasswordAutofillAgentTest : public ChromeRenderViewTest {
170 public: 172 public:
171 PasswordAutofillAgentTest() { 173 PasswordAutofillAgentTest() {
172 } 174 }
173 175
174 // Simulates the fill password form message being sent to the renderer. 176 // Simulates the fill password form message being sent to the renderer.
175 // We use that so we don't have to make RenderView::OnFillPasswordForm() 177 // We use that so we don't have to make RenderView::OnFillPasswordForm()
176 // protected. 178 // protected.
177 void SimulateOnFillPasswordForm( 179 void SimulateOnFillPasswordForm(
178 const PasswordFormFillData& fill_data) { 180 const PasswordFormFillData& fill_data) {
179 AutofillMsg_FillPasswordForm msg(0, fill_data); 181 AutofillMsg_FillPasswordForm msg(0, kPasswordFillFormDataId, fill_data);
180 static_cast<content::RenderViewObserver*>(password_autofill_agent_) 182 static_cast<content::RenderViewObserver*>(password_autofill_agent_)
181 ->OnMessageReceived(msg); 183 ->OnMessageReceived(msg);
182 } 184 }
183 185
184 void SendVisiblePasswordForms() { 186 void SendVisiblePasswordForms() {
185 static_cast<content::RenderViewObserver*>(password_autofill_agent_) 187 static_cast<content::RenderViewObserver*>(password_autofill_agent_)
186 ->DidFinishLoad(GetMainFrame()); 188 ->DidFinishLoad(GetMainFrame());
187 } 189 }
188 190
189 void SetUp() override { 191 void SetUp() override {
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
419 421
420 // Checks the message sent to PasswordAutofillManager to build the suggestion 422 // Checks the message sent to PasswordAutofillManager to build the suggestion
421 // list. |username| is the expected username field value, and |show_all| is 423 // list. |username| is the expected username field value, and |show_all| is
422 // the expected flag for the PasswordAutofillManager, whether to show all 424 // the expected flag for the PasswordAutofillManager, whether to show all
423 // suggestions, or only those starting with |username|. 425 // suggestions, or only those starting with |username|.
424 void CheckSuggestions(const std::string& username, bool show_all) { 426 void CheckSuggestions(const std::string& username, bool show_all) {
425 const IPC::Message* message = 427 const IPC::Message* message =
426 render_thread_->sink().GetFirstMessageMatching( 428 render_thread_->sink().GetFirstMessageMatching(
427 AutofillHostMsg_ShowPasswordSuggestions::ID); 429 AutofillHostMsg_ShowPasswordSuggestions::ID);
428 EXPECT_TRUE(message); 430 EXPECT_TRUE(message);
429 Tuple4<autofill::FormFieldData, base::string16, bool, gfx::RectF> args; 431 Tuple5<int, base::i18n::TextDirection, base::string16, bool, gfx::RectF>
432 args;
430 AutofillHostMsg_ShowPasswordSuggestions::Read(message, &args); 433 AutofillHostMsg_ShowPasswordSuggestions::Read(message, &args);
431 EXPECT_EQ(2u, fill_data_.basic_data.fields.size()); 434 EXPECT_EQ(2u, fill_data_.basic_data.fields.size());
432 EXPECT_EQ(fill_data_.basic_data.fields[0].name, args.a.name); 435 EXPECT_EQ(kPasswordFillFormDataId, args.a);
433 EXPECT_EQ(ASCIIToUTF16(username), args.a.value); 436 EXPECT_EQ(ASCIIToUTF16(username), args.c);
434 EXPECT_EQ(ASCIIToUTF16(username), args.b); 437 EXPECT_EQ(show_all, args.d);
435 EXPECT_EQ(show_all, args.c);
436 438
437 render_thread_->sink().ClearMessages(); 439 render_thread_->sink().ClearMessages();
438 } 440 }
439 441
440 void ExpectFormSubmittedWithPasswords(const std::string& password_value, 442 void ExpectFormSubmittedWithPasswords(const std::string& password_value,
441 const std::string& new_password_value) { 443 const std::string& new_password_value) {
442 const IPC::Message* message = 444 const IPC::Message* message =
443 render_thread_->sink().GetFirstMessageMatching( 445 render_thread_->sink().GetFirstMessageMatching(
444 AutofillHostMsg_PasswordFormSubmitted::ID); 446 AutofillHostMsg_PasswordFormSubmitted::ID);
445 ASSERT_TRUE(message); 447 ASSERT_TRUE(message);
(...skipping 1155 matching lines...) Expand 10 before | Expand all | Expand 10 after
1601 password_element_, 1603 password_element_,
1602 /*is_user_input=*/true); 1604 /*is_user_input=*/true);
1603 1605
1604 // Simulate the user typing a stored username. 1606 // Simulate the user typing a stored username.
1605 SimulateUsernameChange(kAliceUsername, true); 1607 SimulateUsernameChange(kAliceUsername, true);
1606 // The autofileld password should replace the typed one. 1608 // The autofileld password should replace the typed one.
1607 CheckTextFieldsDOMState(kAliceUsername, true, kAlicePassword, true); 1609 CheckTextFieldsDOMState(kAliceUsername, true, kAlicePassword, true);
1608 } 1610 }
1609 1611
1610 } // namespace autofill 1612 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698