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

Unified Diff: chrome/browser/ui/login/login_handler_browsertest.cc

Issue 2244643002: Split LoginPromptBrowserTest.TestCancelAuth (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/login/login_handler_browsertest.cc
diff --git a/chrome/browser/ui/login/login_handler_browsertest.cc b/chrome/browser/ui/login/login_handler_browsertest.cc
index 321c7c7a7c44ed1dba0b1bbd4565d65935ce86bb..b98ab6428ce6c115b9ab44c51d67bb8978781bc3 100644
--- a/chrome/browser/ui/login/login_handler_browsertest.cc
+++ b/chrome/browser/ui/login/login_handler_browsertest.cc
@@ -317,98 +317,134 @@ IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestTwoAuths) {
EXPECT_EQ(expected_title2, title_watcher2.WaitAndGetTitle());
}
-// Test login prompt cancellation.
-// Flaky on Mac crbug.com/636875
-IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, DISABLED_TestCancelAuth) {
+// Test manual login prompt cancellation.
+IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestCancelAuth_Manual) {
ASSERT_TRUE(embedded_test_server()->Start());
- GURL auth_page = embedded_test_server()->GetURL(kAuthBasicPage);
- GURL no_auth_page_1 = embedded_test_server()->GetURL("/a");
- GURL no_auth_page_2 = embedded_test_server()->GetURL("/b");
- GURL no_auth_page_3 = embedded_test_server()->GetURL("/c");
+ const GURL auth_page = embedded_test_server()->GetURL(kAuthBasicPage);
- content::WebContents* contents =
- browser()->tab_strip_model()->GetActiveWebContents();
- NavigationController* controller = &contents->GetController();
+ NavigationController* controller =
+ &browser()->tab_strip_model()->GetActiveWebContents()->GetController();
LoginPromptBrowserTestObserver observer;
observer.Register(content::Source<NavigationController>(controller));
- // First navigate to an unauthenticated page so we have something to
- // go back to.
- ui_test_utils::NavigateToURL(browser(), no_auth_page_1);
-
- // Navigating while auth is requested is the same as cancelling.
{
meacer 2016/08/12 17:45:06 No need for braces anymore.
vabr (Chromium) 2016/08/12 19:39:37 Done.
- // We need to wait for two LOAD_STOP events. One for auth_page and one for
- // no_auth_page_2.
- WindowedLoadStopObserver load_stop_waiter(controller, 2);
+ WindowedLoadStopObserver load_stop_waiter(controller, 1);
WindowedAuthNeededObserver auth_needed_waiter(controller);
- browser()->OpenURL(OpenURLParams(
- auth_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED,
- false));
+ browser()->OpenURL(OpenURLParams(auth_page, Referrer(), CURRENT_TAB,
+ ui::PAGE_TRANSITION_TYPED, false));
auth_needed_waiter.Wait();
WindowedAuthCancelledObserver auth_cancelled_waiter(controller);
- browser()->OpenURL(OpenURLParams(
- no_auth_page_2, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED,
- false));
+ LoginHandler* handler = *observer.handlers().begin();
+ ASSERT_TRUE(handler);
+ handler->CancelAuth();
auth_cancelled_waiter.Wait();
load_stop_waiter.Wait();
EXPECT_TRUE(observer.handlers().empty());
}
+}
+
+// Test login prompt cancellation on navigation to a new page.
+IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestCancelAuth_OnNavigation) {
+ ASSERT_TRUE(embedded_test_server()->Start());
+ const GURL auth_page = embedded_test_server()->GetURL(kAuthBasicPage);
+ const GURL no_auth_page = embedded_test_server()->GetURL("/b");
meacer 2016/08/12 17:45:05 You might want to use kNoAuthPage here too, instea
vabr (Chromium) 2016/08/12 19:39:37 Done.
- // Try navigating backwards.
+ NavigationController* controller =
+ &browser()->tab_strip_model()->GetActiveWebContents()->GetController();
+
+ LoginPromptBrowserTestObserver observer;
+ observer.Register(content::Source<NavigationController>(controller));
+
+ // Navigating while auth is requested is the same as cancelling.
{
meacer 2016/08/12 17:45:06 No need for braces.
vabr (Chromium) 2016/08/12 19:39:37 Done. Also, I moved the comment from line 359 near
- // As above, we wait for two LOAD_STOP events; one for each navigation.
- WindowedLoadStopObserver load_stop_waiter(controller, 2);
+ // One LOAD_STOP event for auth_page and one for no_auth_page.
+ const int kLoadStopEvents = 2;
+ WindowedLoadStopObserver load_stop_waiter(controller, kLoadStopEvents);
WindowedAuthNeededObserver auth_needed_waiter(controller);
- browser()->OpenURL(OpenURLParams(
- auth_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED,
- false));
+ browser()->OpenURL(OpenURLParams(auth_page, Referrer(), CURRENT_TAB,
+ ui::PAGE_TRANSITION_TYPED, false));
auth_needed_waiter.Wait();
WindowedAuthCancelledObserver auth_cancelled_waiter(controller);
- ASSERT_TRUE(chrome::CanGoBack(browser()));
- chrome::GoBack(browser(), CURRENT_TAB);
+ browser()->OpenURL(OpenURLParams(no_auth_page, Referrer(), CURRENT_TAB,
+ ui::PAGE_TRANSITION_TYPED, false));
auth_cancelled_waiter.Wait();
load_stop_waiter.Wait();
EXPECT_TRUE(observer.handlers().empty());
}
+}
- // Now add a page and go back, so we have something to go forward to.
- ui_test_utils::NavigateToURL(browser(), no_auth_page_3);
- {
- WindowedLoadStopObserver load_stop_waiter(controller, 1);
- chrome::GoBack(browser(), CURRENT_TAB); // Should take us to page 1
- load_stop_waiter.Wait();
- }
+// Test login prompt cancellation on navigation to back.
+IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestCancelAuth_OnBack) {
+ ASSERT_TRUE(embedded_test_server()->Start());
+ const GURL auth_page = embedded_test_server()->GetURL(kAuthBasicPage);
+ const GURL no_auth_page = embedded_test_server()->GetURL("/a");
meacer 2016/08/12 17:45:05 Same here (kNoAuthPage)
vabr (Chromium) 2016/08/12 19:39:37 Done.
+
+ NavigationController* controller =
+ &browser()->tab_strip_model()->GetActiveWebContents()->GetController();
+
+ LoginPromptBrowserTestObserver observer;
+ observer.Register(content::Source<NavigationController>(controller));
+
+ // First navigate to an unauthenticated page so we have something to
+ // go back to.
+ ui_test_utils::NavigateToURL(browser(), no_auth_page);
+ // Navigating back while auth is requested is the same as cancelling.
meacer 2016/08/12 17:45:06 nit: No braces
vabr (Chromium) 2016/08/12 19:39:37 Done.
{
- // We wait for two LOAD_STOP events; one for each navigation.
- WindowedLoadStopObserver load_stop_waiter(controller, 2);
+ // One LOAD_STOP event for auth_page and one for no_auth_page.
+ const int kLoadStopEvents = 2;
+ WindowedLoadStopObserver load_stop_waiter(controller, kLoadStopEvents);
WindowedAuthNeededObserver auth_needed_waiter(controller);
- browser()->OpenURL(OpenURLParams(
- auth_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED,
- false));
+ browser()->OpenURL(OpenURLParams(auth_page, Referrer(), CURRENT_TAB,
+ ui::PAGE_TRANSITION_TYPED, false));
auth_needed_waiter.Wait();
WindowedAuthCancelledObserver auth_cancelled_waiter(controller);
- ASSERT_TRUE(chrome::CanGoForward(browser()));
- chrome::GoForward(browser(), CURRENT_TAB); // Should take us to page 3
+ ASSERT_TRUE(controller->CanGoBack());
+ controller->GoBack();
auth_cancelled_waiter.Wait();
load_stop_waiter.Wait();
EXPECT_TRUE(observer.handlers().empty());
}
+}
+
+// Test login prompt cancellation on navigation to forward.
+// TODO(crbug.com/636875) Flaky on Mac and Linux at least.
+IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest,
+ DISABLED_TestCancelAuth_OnForward) {
+ ASSERT_TRUE(embedded_test_server()->Start());
+ const GURL auth_page = embedded_test_server()->GetURL(kAuthBasicPage);
+ const GURL no_auth_page_1 = embedded_test_server()->GetURL("/a");
meacer 2016/08/12 17:45:06 nit: Seems like these could be named kNoAuthURL1 a
vabr (Chromium) 2016/08/12 19:39:37 Done.
+ const GURL no_auth_page_2 = embedded_test_server()->GetURL("/c");
meacer 2016/08/12 17:45:06 And here.
vabr (Chromium) 2016/08/12 19:39:37 Done.
+
+ NavigationController* controller =
+ &browser()->tab_strip_model()->GetActiveWebContents()->GetController();
- // Now test that cancelling works as expected.
+ LoginPromptBrowserTestObserver observer;
+ observer.Register(content::Source<NavigationController>(controller));
+
+ ui_test_utils::NavigateToURL(browser(), no_auth_page_1);
+
+ // Now add a page and go back, so we have something to go forward to.
+ ui_test_utils::NavigateToURL(browser(), no_auth_page_2);
{
WindowedLoadStopObserver load_stop_waiter(controller, 1);
+ ASSERT_TRUE(controller->CanGoBack());
+ controller->GoBack();
+ load_stop_waiter.Wait();
+ }
+
+ {
+ // One LOAD_STOP event for auth_page and one for no_auth_page.
+ const int kLoadStopEvents = 2;
+ WindowedLoadStopObserver load_stop_waiter(controller, kLoadStopEvents);
WindowedAuthNeededObserver auth_needed_waiter(controller);
- browser()->OpenURL(OpenURLParams(
- auth_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED,
- false));
+ browser()->OpenURL(OpenURLParams(auth_page, Referrer(), CURRENT_TAB,
+ ui::PAGE_TRANSITION_TYPED, false));
auth_needed_waiter.Wait();
WindowedAuthCancelledObserver auth_cancelled_waiter(controller);
- LoginHandler* handler = *observer.handlers().begin();
- ASSERT_TRUE(handler);
- handler->CancelAuth();
+ ASSERT_TRUE(controller->CanGoForward());
+ controller->GoForward();
auth_cancelled_waiter.Wait();
load_stop_waiter.Wait();
EXPECT_TRUE(observer.handlers().empty());
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698