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

Unified Diff: chrome/renderer/autofill/password_autofill_agent_browsertest.cc

Issue 563313004: [Password Manager] Unfriend PasswordAutofillAgentTest from PasswordAutofillAgent (clean-up). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Incorporated review comments. 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 side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/autofill/password_autofill_agent_browsertest.cc
diff --git a/chrome/renderer/autofill/password_autofill_agent_browsertest.cc b/chrome/renderer/autofill/password_autofill_agent_browsertest.cc
index f17aeb63127b985df577ec84794cf32e049e6e99..2168e4b08bfb2069bd0cd1e67c32383354a67d1c 100644
--- a/chrome/renderer/autofill/password_autofill_agent_browsertest.cc
+++ b/chrome/renderer/autofill/password_autofill_agent_browsertest.cc
@@ -177,12 +177,13 @@ class PasswordAutofillAgentTest : public ChromeRenderViewTest {
void SimulateOnFillPasswordForm(
const PasswordFormFillData& fill_data) {
AutofillMsg_FillPasswordForm msg(0, fill_data);
- password_autofill_->OnMessageReceived(msg);
+ static_cast<content::RenderViewObserver*>(password_autofill_agent_)
+ ->OnMessageReceived(msg);
}
void SendVisiblePasswordForms() {
- password_autofill_->SendPasswordForms(GetMainFrame(),
- true /* only_visible */);
+ static_cast<content::RenderViewObserver*>(password_autofill_agent_)
+ ->DidFinishLoad(GetMainFrame());
}
virtual void SetUp() {
@@ -262,7 +263,8 @@ class PasswordAutofillAgentTest : public ChromeRenderViewTest {
}
void SimulateDidEndEditing(WebFrame* input_frame, WebInputElement& input) {
- autofill_agent_->textFieldDidEndEditing(input);
+ static_cast<blink::WebAutofillClient*>(autofill_agent_)
+ ->textFieldDidEndEditing(input);
}
void SimulateInputChangeForElement(const std::string& new_value,
@@ -278,8 +280,9 @@ class PasswordAutofillAgentTest : public ChromeRenderViewTest {
if (move_caret_to_end)
input.setSelectionRange(new_value.length(), new_value.length());
if (is_user_input)
- password_autofill_agent()->FirstUserGestureObserved();
- autofill_agent_->textFieldDidChange(input);
+ password_autofill_agent_->FirstUserGestureObserved();
+ static_cast<blink::WebAutofillClient*>(autofill_agent_)
+ ->textFieldDidChange(input);
// Processing is delayed because of a Blink bug:
// https://bugs.webkit.org/show_bug.cgi?id=16976
// See PasswordAutofillAgent::TextDidChangeInTextField() for details.
@@ -294,17 +297,18 @@ class PasswordAutofillAgentTest : public ChromeRenderViewTest {
}
void SimulateSuggestionChoice(WebInputElement& username_input) {
- blink::WebString blink_username =
- blink::WebString::fromUTF8(kAliceUsername);
- blink::WebString blink_password =
- blink::WebString::fromUTF8(kAlicePassword);
+ base::string16 username(base::ASCIIToUTF16(kAliceUsername));
+ base::string16 password(base::ASCIIToUTF16(kAlicePassword));
// This call is necessary to setup the autofill agent appropriate for the
// user selection; simulates the menu actually popping up.
render_thread_->sink().ClearMessages();
- autofill_agent_->FormControlElementClicked(username_input, false);
+ static_cast<autofill::PageClickListener*>(autofill_agent_)
+ ->FormControlElementClicked(username_input, false);
- autofill_agent_->OnFillPasswordSuggestion(blink_username, blink_password);
+ AutofillMsg_FillPasswordSuggestion msg(0, username, password);
+ static_cast<content::RenderViewObserver*>(autofill_agent_)
+ ->OnMessageReceived(msg);
}
void LayoutMainFrame() {
@@ -345,7 +349,7 @@ class PasswordAutofillAgentTest : public ChromeRenderViewTest {
// permanently ignored.
if (!ShouldIgnoreAutocompleteOffForPasswordFields()) {
EXPECT_TRUE(
- password_autofill_agent()->ShowSuggestions(username_element_, false));
+ password_autofill_agent_->ShowSuggestions(username_element_, false));
EXPECT_FALSE(render_thread_->sink().GetFirstMessageMatching(
AutofillHostMsg_ShowPasswordSuggestions::ID));
@@ -356,7 +360,8 @@ class PasswordAutofillAgentTest : public ChromeRenderViewTest {
ui::KeyboardCode key_code) {
blink::WebKeyboardEvent key_event;
key_event.windowsKeyCode = key_code;
- autofill_agent_->textFieldDidReceiveKeyDown(element, key_event);
+ static_cast<blink::WebAutofillClient*>(autofill_agent_)
+ ->textFieldDidReceiveKeyDown(element, key_event);
}
void CheckTextFieldsStateForElements(const WebInputElement& username_element,
@@ -457,10 +462,6 @@ class PasswordAutofillAgentTest : public ChromeRenderViewTest {
render_thread_->sink().ClearMessages();
}
- PasswordAutofillAgent* password_autofill_agent() {
- return autofill_agent_->password_autofill_agent_;
- }
-
void ExpectFormSubmittedWithPasswords(const std::string& password_value,
const std::string& new_password_value) {
const IPC::Message* message =
@@ -725,16 +726,20 @@ TEST_F(PasswordAutofillAgentTest, WaitUsername) {
// Autocomplete should happen only when the username textfield is blurred with
// a full match.
username_element_.setValue("a");
- autofill_agent_->textFieldDidEndEditing(username_element_);
+ static_cast<blink::WebAutofillClient*>(autofill_agent_)
+ ->textFieldDidEndEditing(username_element_);
CheckTextFieldsState("a", false, std::string(), false);
username_element_.setValue("al");
- autofill_agent_->textFieldDidEndEditing(username_element_);
+ static_cast<blink::WebAutofillClient*>(autofill_agent_)
+ ->textFieldDidEndEditing(username_element_);
CheckTextFieldsState("al", false, std::string(), false);
username_element_.setValue("alices");
- autofill_agent_->textFieldDidEndEditing(username_element_);
+ static_cast<blink::WebAutofillClient*>(autofill_agent_)
+ ->textFieldDidEndEditing(username_element_);
CheckTextFieldsState("alices", false, std::string(), false);
username_element_.setValue(ASCIIToUTF16(kAliceUsername));
- autofill_agent_->textFieldDidEndEditing(username_element_);
+ static_cast<blink::WebAutofillClient*>(autofill_agent_)
+ ->textFieldDidEndEditing(username_element_);
CheckTextFieldsState(kAliceUsername, true, kAlicePassword, true);
}
@@ -1005,7 +1010,7 @@ TEST_F(PasswordAutofillAgentTest, SelectUsernameWithPasswordAutofillOff) {
password_element_.setAttribute(WebString::fromUTF8("autocomplete"),
WebString::fromUTF8("off"));
- // Simulate the user changing the username to some known username.
+ // Simulate the user changing the username to some known username.
SimulateUsernameChange(kAliceUsername, true);
ExpectNoSuggestionsPopup();
@@ -1132,13 +1137,13 @@ TEST_F(PasswordAutofillAgentTest, FillSuggestion) {
// If the password field is not autocompletable, it should not be affected.
SetElementReadOnly(password_element_, true);
- EXPECT_FALSE(password_autofill_->FillSuggestion(
+ EXPECT_FALSE(password_autofill_agent_->FillSuggestion(
username_element_, kAliceUsername, kAlicePassword));
CheckTextFieldsDOMState(std::string(), false, std::string(), false);
SetElementReadOnly(password_element_, false);
// After filling with the suggestion, both fields should be autocompleted.
- EXPECT_TRUE(password_autofill_->FillSuggestion(
+ EXPECT_TRUE(password_autofill_agent_->FillSuggestion(
username_element_, kAliceUsername, kAlicePassword));
CheckTextFieldsDOMState(kAliceUsername, true, kAlicePassword, true);
int username_length = strlen(kAliceUsername);
@@ -1146,7 +1151,7 @@ TEST_F(PasswordAutofillAgentTest, FillSuggestion) {
// Try Filling with a suggestion with password different from the one that was
// initially sent to the renderer.
- EXPECT_TRUE(password_autofill_->FillSuggestion(
+ EXPECT_TRUE(password_autofill_agent_->FillSuggestion(
username_element_, kBobUsername, kCarolPassword));
CheckTextFieldsDOMState(kBobUsername, true, kCarolPassword, true);
username_length = strlen(kBobUsername);
@@ -1165,7 +1170,7 @@ TEST_F(PasswordAutofillAgentTest, PreviewSuggestion) {
// If the password field is not autocompletable, it should not be affected.
SetElementReadOnly(password_element_, true);
- EXPECT_FALSE(password_autofill_->PreviewSuggestion(
+ EXPECT_FALSE(password_autofill_agent_->PreviewSuggestion(
username_element_, kAliceUsername, kAlicePassword));
EXPECT_EQ(std::string(), username_element_.suggestedValue().utf8());
EXPECT_FALSE(username_element_.isAutofilled());
@@ -1175,7 +1180,7 @@ TEST_F(PasswordAutofillAgentTest, PreviewSuggestion) {
// After selecting the suggestion, both fields should be previewed
// with suggested values.
- EXPECT_TRUE(password_autofill_->PreviewSuggestion(
+ EXPECT_TRUE(password_autofill_agent_->PreviewSuggestion(
username_element_, kAliceUsername, kAlicePassword));
EXPECT_EQ(
kAliceUsername,
@@ -1190,7 +1195,7 @@ TEST_F(PasswordAutofillAgentTest, PreviewSuggestion) {
// Try previewing with a password different from the one that was initially
// sent to the renderer.
- EXPECT_TRUE(password_autofill_->PreviewSuggestion(
+ EXPECT_TRUE(password_autofill_agent_->PreviewSuggestion(
username_element_, kBobUsername, kCarolPassword));
EXPECT_EQ(
kBobUsername,
@@ -1217,7 +1222,7 @@ TEST_F(PasswordAutofillAgentTest, PreviewSuggestionSelectionRange) {
fill_data_.wait_for_username = true;
SimulateOnFillPasswordForm(fill_data_);
- EXPECT_TRUE(password_autofill_->PreviewSuggestion(
+ EXPECT_TRUE(password_autofill_agent_->PreviewSuggestion(
username_element_, kAliceUsername, kAlicePassword));
EXPECT_EQ(
kAliceUsername,
@@ -1244,11 +1249,11 @@ TEST_F(PasswordAutofillAgentTest, ClearPreviewWithPasswordAutofilled) {
CheckTextFieldsDOMState(std::string(), false, "sec", true);
- EXPECT_TRUE(password_autofill_->PreviewSuggestion(
+ EXPECT_TRUE(password_autofill_agent_->PreviewSuggestion(
username_element_, kAliceUsername, kAlicePassword));
- EXPECT_TRUE(password_autofill_->DidClearAutofillSelection(
- username_element_));
+ EXPECT_TRUE(
+ password_autofill_agent_->DidClearAutofillSelection(username_element_));
EXPECT_TRUE(username_element_.value().isEmpty());
EXPECT_TRUE(username_element_.suggestedValue().isEmpty());
@@ -1273,11 +1278,11 @@ TEST_F(PasswordAutofillAgentTest, ClearPreviewWithUsernameAutofilled) {
CheckTextFieldsDOMState("ali", true, std::string(), false);
- EXPECT_TRUE(password_autofill_->PreviewSuggestion(
+ EXPECT_TRUE(password_autofill_agent_->PreviewSuggestion(
username_element_, kAliceUsername, kAlicePassword));
- EXPECT_TRUE(password_autofill_->DidClearAutofillSelection(
- username_element_));
+ EXPECT_TRUE(
+ password_autofill_agent_->DidClearAutofillSelection(username_element_));
EXPECT_EQ(ASCIIToUTF16("ali"), username_element_.value());
EXPECT_TRUE(username_element_.suggestedValue().isEmpty());
@@ -1305,11 +1310,11 @@ TEST_F(PasswordAutofillAgentTest,
CheckTextFieldsDOMState("ali", true, "sec", true);
- EXPECT_TRUE(password_autofill_->PreviewSuggestion(
+ EXPECT_TRUE(password_autofill_agent_->PreviewSuggestion(
username_element_, kAliceUsername, kAlicePassword));
- EXPECT_TRUE(password_autofill_->DidClearAutofillSelection(
- username_element_));
+ EXPECT_TRUE(
+ password_autofill_agent_->DidClearAutofillSelection(username_element_));
EXPECT_EQ(ASCIIToUTF16("ali"), username_element_.value());
EXPECT_TRUE(username_element_.suggestedValue().isEmpty());
@@ -1331,11 +1336,11 @@ TEST_F(PasswordAutofillAgentTest,
CheckTextFieldsDOMState(std::string(), false, std::string(), false);
- EXPECT_TRUE(password_autofill_->PreviewSuggestion(
+ EXPECT_TRUE(password_autofill_agent_->PreviewSuggestion(
username_element_, kAliceUsername, kAlicePassword));
- EXPECT_TRUE(password_autofill_->DidClearAutofillSelection(
- username_element_));
+ EXPECT_TRUE(
+ password_autofill_agent_->DidClearAutofillSelection(username_element_));
EXPECT_TRUE(username_element_.value().isEmpty());
EXPECT_TRUE(username_element_.suggestedValue().isEmpty());
@@ -1363,7 +1368,7 @@ TEST_F(PasswordAutofillAgentTest, ClearPreviewWithInlineAutocompletedUsername) {
// The selection should have been set to 'lice', the last 4 letters.
CheckUsernameSelection(1, 5);
- EXPECT_TRUE(password_autofill_->PreviewSuggestion(
+ EXPECT_TRUE(password_autofill_agent_->PreviewSuggestion(
username_element_, "alicia", "secret"));
EXPECT_EQ(
"alicia",
@@ -1375,8 +1380,8 @@ TEST_F(PasswordAutofillAgentTest, ClearPreviewWithInlineAutocompletedUsername) {
EXPECT_TRUE(password_element_.isAutofilled());
CheckUsernameSelection(1, 6);
- EXPECT_TRUE(password_autofill_->DidClearAutofillSelection(
- username_element_));
+ EXPECT_TRUE(
+ password_autofill_agent_->DidClearAutofillSelection(username_element_));
EXPECT_EQ(kAliceUsername, username_element_.value().utf8());
EXPECT_TRUE(username_element_.suggestedValue().isEmpty());
@@ -1401,7 +1406,7 @@ TEST_F(PasswordAutofillAgentTest, OnChangeLoggingState_Activated) {
// Turn the logging on.
AutofillMsg_SetLoggingState msg_activate(0, true);
// Up-cast to access OnMessageReceived, which is private in the agent.
- EXPECT_TRUE(static_cast<IPC::Listener*>(password_autofill_)
+ EXPECT_TRUE(static_cast<IPC::Listener*>(password_autofill_agent_)
->OnMessageReceived(msg_activate));
render_thread_->sink().ClearMessages();
@@ -1416,10 +1421,10 @@ TEST_F(PasswordAutofillAgentTest, OnChangeLoggingState_Deactivated) {
// Turn the logging on and then off.
AutofillMsg_SetLoggingState msg_activate(0, /*active=*/true);
// Up-cast to access OnMessageReceived, which is private in the agent.
- EXPECT_TRUE(static_cast<IPC::Listener*>(password_autofill_)
+ EXPECT_TRUE(static_cast<IPC::Listener*>(password_autofill_agent_)
->OnMessageReceived(msg_activate));
AutofillMsg_SetLoggingState msg_deactivate(0, /*active=*/false);
- EXPECT_TRUE(static_cast<IPC::Listener*>(password_autofill_)
+ EXPECT_TRUE(static_cast<IPC::Listener*>(password_autofill_agent_)
->OnMessageReceived(msg_deactivate));
render_thread_->sink().ClearMessages();
@@ -1474,7 +1479,8 @@ TEST_F(PasswordAutofillAgentTest, CredentialsOnClick) {
// Simulate a user clicking on the username element. This should produce a
// message with all the usernames.
render_thread_->sink().ClearMessages();
- autofill_agent_->FormControlElementClicked(username_element_, false);
+ static_cast<PageClickListener*>(autofill_agent_)
+ ->FormControlElementClicked(username_element_, false);
ExpectAllCredentials();
// Now simulate a user typing in an unrecognized username and then
@@ -1482,7 +1488,8 @@ TEST_F(PasswordAutofillAgentTest, CredentialsOnClick) {
// all the usernames.
SimulateUsernameChange("baz", true);
render_thread_->sink().ClearMessages();
- autofill_agent_->FormControlElementClicked(username_element_, true);
+ static_cast<PageClickListener*>(autofill_agent_)
+ ->FormControlElementClicked(username_element_, true);
ExpectAllCredentials();
// Now simulate a user typing in the first letter of the username and then
@@ -1491,7 +1498,8 @@ TEST_F(PasswordAutofillAgentTest, CredentialsOnClick) {
// suggestion list.
SimulateUsernameChange("a", true);
render_thread_->sink().ClearMessages();
- autofill_agent_->FormControlElementClicked(username_element_, true);
+ static_cast<PageClickListener*>(autofill_agent_)
+ ->FormControlElementClicked(username_element_, true);
ExpectAllCredentials();
}
@@ -1508,7 +1516,7 @@ TEST_F(PasswordAutofillAgentTest,
// Simulate that the password value was cleared by the site's JavaScript
// before submit.
password_element_.setValue(WebString());
- static_cast<content::RenderViewObserver*>(password_autofill_agent())
+ static_cast<content::RenderViewObserver*>(password_autofill_agent_)
->WillSubmitForm(GetMainFrame(), username_element_.form());
// Observe that the PasswordAutofillAgent still remembered the last non-empty
@@ -1529,7 +1537,7 @@ TEST_F(PasswordAutofillAgentTest,
// Simulate that the user actually cleared the password again.
SimulateInputChangeForElement(
"", true, GetMainFrame(), password_element_, true);
- static_cast<content::RenderViewObserver*>(password_autofill_agent())
+ static_cast<content::RenderViewObserver*>(password_autofill_agent_)
->WillSubmitForm(GetMainFrame(), username_element_.form());
// Observe that the PasswordAutofillAgent respects the user having cleared the
@@ -1558,7 +1566,7 @@ TEST_F(PasswordAutofillAgentTest,
// Simulate that the password value was cleared by the site's JavaScript
// before submit.
password_element_.setValue(WebString());
- static_cast<content::RenderViewObserver*>(password_autofill_agent())
+ static_cast<content::RenderViewObserver*>(password_autofill_agent_)
->WillSubmitForm(GetMainFrame(), username_element_.form());
// Observe that the PasswordAutofillAgent still remembered the last non-empty
« no previous file with comments | « chrome/renderer/autofill/autofill_renderer_browsertest.cc ('k') | chrome/test/base/chrome_render_view_test.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698