| Index: chrome/browser/password_manager/password_manager_browsertest.cc | 
| diff --git a/chrome/browser/password_manager/password_manager_browsertest.cc b/chrome/browser/password_manager/password_manager_browsertest.cc | 
| index 56df5ad7d902fd05cb7c0de4fc8c220375c27f73..7e378892be743824d2d968bb6967ffbaba526fa2 100644 | 
| --- a/chrome/browser/password_manager/password_manager_browsertest.cc | 
| +++ b/chrome/browser/password_manager/password_manager_browsertest.cc | 
| @@ -487,6 +487,45 @@ IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTest, | 
| } | 
| } | 
|  | 
| +IN_PROC_BROWSER_TEST_F( | 
| +    PasswordManagerBrowserTest, | 
| +    NoPromptForFailedLoginFromMainFrameWithMultiFramesInPage) { | 
| +  NavigateToFile("/password/multi_frames.html"); | 
| + | 
| +  // Make sure that we don't prompt to save the password for a failed login | 
| +  // from the main frame with multiple frames in the same page. | 
| +  NavigationObserver observer(WebContents()); | 
| +  std::string fill_and_submit = | 
| +      "document.getElementById('username_failed').value = 'temp';" | 
| +      "document.getElementById('password_failed').value = 'random';" | 
| +      "document.getElementById('submit_failed').click();"; | 
| + | 
| +  ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), fill_and_submit)); | 
| +  observer.Wait(); | 
| +  EXPECT_FALSE(observer.infobar_shown()); | 
| +} | 
| + | 
| +IN_PROC_BROWSER_TEST_F( | 
| +    PasswordManagerBrowserTest, | 
| +    NoPromptForFailedLoginFromSubFrameWithMultiFramesInPage) { | 
| +  NavigateToFile("/password/multi_frames.html"); | 
| + | 
| +  // Make sure that we don't prompt to save the password for a failed login | 
| +  // from a sub-frame with multiple frames in the same page. | 
| +  NavigationObserver observer(WebContents()); | 
| +  std::string fill_and_submit = | 
| +      "var first_frame = document.getElementById('first_frame');" | 
| +      "var frame_doc = first_frame.contentDocument;" | 
| +      "frame_doc.getElementById('username_failed').value = 'temp';" | 
| +      "frame_doc.getElementById('password_failed').value = 'random';" | 
| +      "frame_doc.getElementById('submit_failed').click();" | 
| +      "window.parent.location.href = 'multi_frames.html';"; | 
| + | 
| +  ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), fill_and_submit)); | 
| +  observer.Wait(); | 
| +  EXPECT_FALSE(observer.infobar_shown()); | 
| +} | 
| + | 
| IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTest, | 
| PromptForXHRSubmit) { | 
| #if defined(OS_WIN) && defined(USE_ASH) | 
|  |