Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 #include <string> | 5 #include <string> |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/metrics/histogram_samples.h" | 8 #include "base/metrics/histogram_samples.h" |
| 9 #include "base/metrics/statistics_recorder.h" | 9 #include "base/metrics/statistics_recorder.h" |
| 10 #include "chrome/browser/chrome_notification_types.h" | 10 #include "chrome/browser/chrome_notification_types.h" |
| (...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 293 NavigationObserver observer(WebContents()); | 293 NavigationObserver observer(WebContents()); |
| 294 std::string fill_and_submit = | 294 std::string fill_and_submit = |
| 295 "document.getElementById('username_field').value = 'temp';" | 295 "document.getElementById('username_field').value = 'temp';" |
| 296 "document.getElementById('password_field').value = 'random';" | 296 "document.getElementById('password_field').value = 'random';" |
| 297 "document.getElementById('submit_button').click()"; | 297 "document.getElementById('submit_button').click()"; |
| 298 ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), fill_and_submit)); | 298 ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), fill_and_submit)); |
| 299 observer.Wait(); | 299 observer.Wait(); |
| 300 EXPECT_TRUE(observer.infobar_shown()); | 300 EXPECT_TRUE(observer.infobar_shown()); |
| 301 } | 301 } |
| 302 | 302 |
| 303 IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTest, NoPromptForOtherXHR) { | 303 IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTest, |
| 304 PromptForXHRWithoutOnSubmit) { | |
| 304 NavigateToFile("/password/password_xhr_submit.html"); | 305 NavigateToFile("/password/password_xhr_submit.html"); |
| 305 | 306 |
| 306 // Verify that if random XHR navigation occurs, we don't try and save the | 307 // Verify that if XHR navigation and the form is properly filled out, we |
|
vabr (Chromium)
2014/01/16 09:22:10
nit: The sentence "if XHR navigation" seems to lac
Garrett Casto
2014/01/16 22:23:59
Done.
| |
| 307 // password. | 308 // try and save the password even though onsubmit hasn't been called. |
| 308 // | |
| 309 // We may want to change this functionality in the future to account for | |
| 310 // cases where the element that users click on isn't a submit button. | |
| 311 NavigationObserver observer(WebContents()); | 309 NavigationObserver observer(WebContents()); |
| 312 std::string fill_and_navigate = | 310 std::string fill_and_navigate = |
| 313 "document.getElementById('username_field').value = 'temp';" | 311 "document.getElementById('username_field').value = 'temp';" |
| 314 "document.getElementById('password_field').value = 'random';" | 312 "document.getElementById('password_field').value = 'random';" |
| 315 "send_xhr()"; | 313 "send_xhr()"; |
| 316 ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), fill_and_navigate)); | 314 ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), fill_and_navigate)); |
| 317 observer.Wait(); | 315 observer.Wait(); |
| 318 EXPECT_FALSE(observer.infobar_shown()); | 316 EXPECT_TRUE(observer.infobar_shown()); |
| 319 } | 317 } |
| 320 | 318 |
| 321 IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTest, | 319 IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTest, |
| 320 NoPromptIfLinkClicked) { | |
| 321 NavigateToFile("/password/password_form.html"); | |
| 322 | |
| 323 std::string fill_and_click_link = | |
| 324 "document.getElementById('username_field').value = 'temp';" | |
| 325 "document.getElementById('password_field').value = 'random';" | |
| 326 "document.getElementById('link').click();"; | |
| 327 | |
| 328 } | |
|
vabr (Chromium)
2014/01/16 09:22:10
Did you forget to check that the prompt does not s
Garrett Casto
2014/01/16 22:23:59
Whoops, fixed.
| |
| 329 | |
| 330 IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTest, | |
| 322 VerifyPasswordGenerationUpload) { | 331 VerifyPasswordGenerationUpload) { |
| 323 // Prevent Autofill requests from actually going over the wire. | 332 // Prevent Autofill requests from actually going over the wire. |
| 324 net::TestURLFetcherFactory factory; | 333 net::TestURLFetcherFactory factory; |
| 325 // Disable Autofill requesting access to AddressBook data. This causes | 334 // Disable Autofill requesting access to AddressBook data. This causes |
| 326 // the test to hang on Mac. | 335 // the test to hang on Mac. |
| 327 autofill::test::DisableSystemServices(browser()->profile()); | 336 autofill::test::DisableSystemServices(browser()->profile()); |
| 328 | 337 |
| 329 // Visit a signup form. | 338 // Visit a signup form. |
| 330 NavigateToFile("/password/signup_form.html"); | 339 NavigateToFile("/password/signup_form.html"); |
| 331 | 340 |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 469 "document.getElementById('username_field').value = 'temp';" | 478 "document.getElementById('username_field').value = 'temp';" |
| 470 "document.getElementById('password_field').value = 'random';" | 479 "document.getElementById('password_field').value = 'random';" |
| 471 "document.getElementById('input_submit_button').click();" | 480 "document.getElementById('input_submit_button').click();" |
| 472 "window.location.href = 'done.html';"; | 481 "window.location.href = 'done.html';"; |
| 473 | 482 |
| 474 ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), save_and_remove)); | 483 ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), save_and_remove)); |
| 475 ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), navigate_frame)); | 484 ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), navigate_frame)); |
| 476 observer.Wait(); | 485 observer.Wait(); |
| 477 // The only thing we check here is that there is no use-after-free reported. | 486 // The only thing we check here is that there is no use-after-free reported. |
| 478 } | 487 } |
| OLD | NEW |