Chromium Code Reviews| Index: chrome/browser/ui/views/constrained_window_views_browsertest.cc |
| diff --git a/chrome/browser/ui/views/constrained_window_views_browsertest.cc b/chrome/browser/ui/views/constrained_window_views_browsertest.cc |
| index b842745b5914734ad94eba229f87be018a43124c..dbcd30e6c0d639897401199ec163cd8b84ff12b4 100644 |
| --- a/chrome/browser/ui/views/constrained_window_views_browsertest.cc |
| +++ b/chrome/browser/ui/views/constrained_window_views_browsertest.cc |
| @@ -168,6 +168,52 @@ IN_PROC_BROWSER_TEST_F(ConstrainedWindowViewTest, TabMoveTest) { |
| EXPECT_EQ(NULL, dialog->GetWidget()); |
| } |
| +// Tests that the web contents navigates when backspace is pressed. |
| +IN_PROC_BROWSER_TEST_F(ConstrainedWindowViewTest, NavigationOnBackspace) { |
| + content::WebContents* web_contents = |
| + browser()->tab_strip_model()->GetActiveWebContents(); |
| + content::WaitForLoadStop(web_contents); |
| + const GURL original_url = web_contents->GetURL(); |
| + EXPECT_NE(GURL(chrome::kChromeUIVersionURL), original_url); |
| + ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIVersionURL)); |
| + content::WaitForLoadStop(web_contents); |
| + EXPECT_EQ(GURL(chrome::kChromeUIVersionURL), web_contents->GetURL()); |
| + |
| + std::unique_ptr<TestDialog> dialog = ShowModalDialog(web_contents); |
| + |
| + views::Widget* widget = dialog->GetWidget(); |
| + |
| + EXPECT_TRUE(widget->IsVisible()); |
| + EXPECT_EQ(dialog->GetContentsView(), |
| + widget->GetFocusManager()->GetFocusedView()); |
| + |
| + // Pressing backspace should not navigate back and close the dialog. |
|
Peter Kasting
2016/05/19 09:28:30
Nit: "... with the Finch flag disabled"?
ojan
2016/05/20 16:33:48
done
|
| + EXPECT_TRUE(chrome::CanGoBack(browser())); |
| + EXPECT_TRUE(ui_test_utils::SendKeyPressSync(browser(), ui::VKEY_BACK, |
| + false, false, false, false)); |
| + content::RunAllPendingInMessageLoop(); |
| + content::WaitForLoadStop(web_contents); |
| + |
| + EXPECT_EQ(widget, dialog->GetWidget()); |
| + EXPECT_EQ(GURL(chrome::kChromeUIVersionURL), web_contents->GetURL()); |
| + |
| + base::FeatureList::ClearInstanceForTesting(); |
| + std::unique_ptr<base::FeatureList> feature_list(new base::FeatureList); |
| + feature_list->InitializeFromCommandLine("BackspaceGoesBack", std::string()); |
| + base::FeatureList::SetInstance(std::move(feature_list)); |
| + |
| + // Pressing backspace should navigate back and close the dialog with the |
|
Peter Kasting
2016/05/19 09:28:30
Nit: I'd move this comment up above the previous b
ojan
2016/05/20 16:33:48
done
|
| + // finch flag enabled. |
| + EXPECT_TRUE(chrome::CanGoBack(browser())); |
| + EXPECT_TRUE(ui_test_utils::SendKeyPressSync(browser(), ui::VKEY_BACK, |
| + false, false, false, false)); |
| + content::RunAllPendingInMessageLoop(); |
| + content::WaitForLoadStop(web_contents); |
| + |
| + EXPECT_EQ(NULL, dialog->GetWidget()); |
|
Peter Kasting
2016/05/19 09:28:30
Nit: nullptr
ojan
2016/05/20 16:33:48
done
|
| + EXPECT_EQ(original_url, web_contents->GetURL()); |
| +} |
| + |
| // Tests that the dialog closes when the escape key is pressed. |
| IN_PROC_BROWSER_TEST_F(ConstrainedWindowViewTest, ClosesOnEscape) { |
| #if defined(OS_WIN) |