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 "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
(...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
480 ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), navigate_frame)); | 480 ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), navigate_frame)); |
481 ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), fill_and_submit)); | 481 ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), fill_and_submit)); |
482 observer.Wait(); | 482 observer.Wait(); |
483 if (ChromePasswordManagerClient::IsTheHotNewBubbleUIEnabled()) { | 483 if (ChromePasswordManagerClient::IsTheHotNewBubbleUIEnabled()) { |
484 EXPECT_TRUE(controller()->PasswordPendingUserDecision()); | 484 EXPECT_TRUE(controller()->PasswordPendingUserDecision()); |
485 } else { | 485 } else { |
486 EXPECT_TRUE(observer.infobar_shown()); | 486 EXPECT_TRUE(observer.infobar_shown()); |
487 } | 487 } |
488 } | 488 } |
489 | 489 |
| 490 IN_PROC_BROWSER_TEST_F( |
| 491 PasswordManagerBrowserTest, |
| 492 NoPromptForFailedLoginFromMainFrameWithMultiFramesInPage) { |
| 493 NavigateToFile("/password/multi_frames.html"); |
| 494 |
| 495 // Make sure that we don't prompt to save the password for a failed login |
| 496 // from the main frame with multiple frames in the same page. |
| 497 NavigationObserver observer(WebContents()); |
| 498 std::string fill_and_submit = |
| 499 "document.getElementById('username_failed').value = 'temp';" |
| 500 "document.getElementById('password_failed').value = 'random';" |
| 501 "document.getElementById('submit_failed').click();"; |
| 502 |
| 503 ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), fill_and_submit)); |
| 504 observer.Wait(); |
| 505 EXPECT_FALSE(observer.infobar_shown()); |
| 506 } |
| 507 |
| 508 IN_PROC_BROWSER_TEST_F( |
| 509 PasswordManagerBrowserTest, |
| 510 NoPromptForFailedLoginFromSubFrameWithMultiFramesInPage) { |
| 511 NavigateToFile("/password/multi_frames.html"); |
| 512 |
| 513 // Make sure that we don't prompt to save the password for a failed login |
| 514 // from a sub-frame with multiple frames in the same page. |
| 515 NavigationObserver observer(WebContents()); |
| 516 std::string fill_and_submit = |
| 517 "var first_frame = document.getElementById('first_frame');" |
| 518 "var frame_doc = first_frame.contentDocument;" |
| 519 "frame_doc.getElementById('username_failed').value = 'temp';" |
| 520 "frame_doc.getElementById('password_failed').value = 'random';" |
| 521 "frame_doc.getElementById('submit_failed').click();" |
| 522 "window.parent.location.href = 'multi_frames.html';"; |
| 523 |
| 524 ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), fill_and_submit)); |
| 525 observer.Wait(); |
| 526 EXPECT_FALSE(observer.infobar_shown()); |
| 527 } |
| 528 |
490 IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTest, | 529 IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTest, |
491 PromptForXHRSubmit) { | 530 PromptForXHRSubmit) { |
492 #if defined(OS_WIN) && defined(USE_ASH) | 531 #if defined(OS_WIN) && defined(USE_ASH) |
493 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 532 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
494 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) | 533 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) |
495 return; | 534 return; |
496 #endif | 535 #endif |
497 NavigateToFile("/password/password_xhr_submit.html"); | 536 NavigateToFile("/password/password_xhr_submit.html"); |
498 | 537 |
499 // Verify that we show the save password prompt if a form returns false | 538 // Verify that we show the save password prompt if a form returns false |
(...skipping 418 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
918 chrome::NavigateParams params(browser(), url, | 957 chrome::NavigateParams params(browser(), url, |
919 content::PAGE_TRANSITION_RELOAD); | 958 content::PAGE_TRANSITION_RELOAD); |
920 ui_test_utils::NavigateToURL(¶ms); | 959 ui_test_utils::NavigateToURL(¶ms); |
921 observer.Wait(); | 960 observer.Wait(); |
922 if (ChromePasswordManagerClient::IsTheHotNewBubbleUIEnabled()) { | 961 if (ChromePasswordManagerClient::IsTheHotNewBubbleUIEnabled()) { |
923 EXPECT_FALSE(controller()->PasswordPendingUserDecision()); | 962 EXPECT_FALSE(controller()->PasswordPendingUserDecision()); |
924 } else { | 963 } else { |
925 EXPECT_FALSE(observer.infobar_shown()); | 964 EXPECT_FALSE(observer.infobar_shown()); |
926 } | 965 } |
927 } | 966 } |
OLD | NEW |