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

Unified Diff: chrome/browser/ui/browser_navigator_browsertest.cc

Issue 7014032: Reload a crashed singleton tab when trying to navigate to it. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add a browser test Created 9 years, 7 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
« no previous file with comments | « chrome/browser/ui/browser_navigator.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/browser_navigator_browsertest.cc
diff --git a/chrome/browser/ui/browser_navigator_browsertest.cc b/chrome/browser/ui/browser_navigator_browsertest.cc
index 156db2de6faa8c8c498b5db8a52eec394db1b26b..bd717ed49fd430856a06389df2ab1edc6cbdfbff 100644
--- a/chrome/browser/ui/browser_navigator_browsertest.cc
+++ b/chrome/browser/ui/browser_navigator_browsertest.cc
@@ -834,4 +834,33 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
browser()->GetSelectedTabContents()->GetURL());
}
+// This test makes sure a crashed singleton tab reloads from a new navigation.
+IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
+ NavigateToCrashedSingletonTab) {
+ GURL singleton_url("chrome://settings/advanced");
+ TabContentsWrapper* wrapper =
+ browser()->AddSelectedTabWithURL(singleton_url, PageTransition::LINK);
+ TabContents* tab_contents = wrapper->tab_contents();
+
+ // We should have one browser with 2 tabs, the 2nd selected.
+ EXPECT_EQ(1u, BrowserList::size());
+ EXPECT_EQ(2, browser()->tab_count());
+ EXPECT_EQ(1, browser()->active_index());
+
+ // Kill the singleton tab.
+ tab_contents->SetIsCrashed(base::TERMINATION_STATUS_PROCESS_CRASHED, -1);
+ EXPECT_TRUE(tab_contents->is_crashed());
+
+ browser::NavigateParams p(MakeNavigateParams());
+ p.disposition = SINGLETON_TAB;
+ p.url = singleton_url;
+ p.window_action = browser::NavigateParams::SHOW_WINDOW;
+ p.path_behavior = browser::NavigateParams::IGNORE_AND_NAVIGATE;
+ browser::Navigate(&p);
+ ui_test_utils::WaitForNavigationInCurrentTab(browser());
+
+ // The tab should not be sad anymore.
+ EXPECT_FALSE(tab_contents->is_crashed());
+}
+
} // namespace
« no previous file with comments | « chrome/browser/ui/browser_navigator.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698