OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <algorithm> | 5 #include <algorithm> |
6 #include <list> | 6 #include <list> |
7 #include <map> | 7 #include <map> |
8 | 8 |
9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
10 #include "chrome/browser/prerender/prerender_manager.h" | 10 #include "chrome/browser/prerender/prerender_manager.h" |
11 #include "chrome/browser/ui/browser.h" | 11 #include "chrome/browser/ui/browser.h" |
12 #include "chrome/browser/ui/browser_commands.h" | 12 #include "chrome/browser/ui/browser_commands.h" |
| 13 #include "chrome/browser/ui/browser_tabstrip.h" |
13 #include "chrome/browser/ui/login/login_prompt.h" | 14 #include "chrome/browser/ui/login/login_prompt.h" |
14 #include "chrome/browser/ui/tab_contents/tab_contents.h" | 15 #include "chrome/browser/ui/tab_contents/tab_contents.h" |
15 #include "chrome/common/chrome_notification_types.h" | 16 #include "chrome/common/chrome_notification_types.h" |
16 #include "chrome/test/base/in_process_browser_test.h" | 17 #include "chrome/test/base/in_process_browser_test.h" |
17 #include "chrome/test/base/ui_test_utils.h" | 18 #include "chrome/test/base/ui_test_utils.h" |
18 #include "content/public/browser/notification_details.h" | 19 #include "content/public/browser/notification_details.h" |
19 #include "content/public/browser/notification_source.h" | 20 #include "content/public/browser/notification_source.h" |
20 #include "content/public/browser/web_contents.h" | 21 #include "content/public/browser/web_contents.h" |
21 #include "content/public/test/test_browser_thread.h" | 22 #include "content/public/test/test_browser_thread.h" |
22 #include "net/base/auth.h" | 23 #include "net/base/auth.h" |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
247 | 248 |
248 ~SetPrefetchForTest() { | 249 ~SetPrefetchForTest() { |
249 prerender::PrerenderManager::SetIsPrefetchEnabled(old_prefetch_state_); | 250 prerender::PrerenderManager::SetIsPrefetchEnabled(old_prefetch_state_); |
250 prerender::PrerenderManager::SetMode(old_mode_); | 251 prerender::PrerenderManager::SetMode(old_mode_); |
251 } | 252 } |
252 private: | 253 private: |
253 bool old_prefetch_state_; | 254 bool old_prefetch_state_; |
254 prerender::PrerenderManager::PrerenderManagerMode old_mode_; | 255 prerender::PrerenderManager::PrerenderManagerMode old_mode_; |
255 } set_prefetch_for_test(true); | 256 } set_prefetch_for_test(true); |
256 | 257 |
257 content::WebContents* contents = browser()->GetActiveWebContents(); | 258 content::WebContents* contents = chrome::GetActiveWebContents(browser()); |
258 NavigationController* controller = &contents->GetController(); | 259 NavigationController* controller = &contents->GetController(); |
259 LoginPromptBrowserTestObserver observer; | 260 LoginPromptBrowserTestObserver observer; |
260 | 261 |
261 observer.Register(content::Source<NavigationController>(controller)); | 262 observer.Register(content::Source<NavigationController>(controller)); |
262 | 263 |
263 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 264 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
264 browser()->OpenURL(OpenURLParams( | 265 browser()->OpenURL(OpenURLParams( |
265 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 266 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, |
266 false)); | 267 false)); |
267 | 268 |
268 load_stop_waiter.Wait(); | 269 load_stop_waiter.Wait(); |
269 EXPECT_TRUE(observer.handlers_.empty()); | 270 EXPECT_TRUE(observer.handlers_.empty()); |
270 EXPECT_TRUE(test_server()->Stop()); | 271 EXPECT_TRUE(test_server()->Stop()); |
271 } | 272 } |
272 | 273 |
273 // Test that "Basic" HTTP authentication works. | 274 // Test that "Basic" HTTP authentication works. |
274 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestBasicAuth) { | 275 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestBasicAuth) { |
275 ASSERT_TRUE(test_server()->Start()); | 276 ASSERT_TRUE(test_server()->Start()); |
276 GURL test_page = test_server()->GetURL(kAuthBasicPage); | 277 GURL test_page = test_server()->GetURL(kAuthBasicPage); |
277 | 278 |
278 content::WebContents* contents = browser()->GetActiveWebContents(); | 279 content::WebContents* contents = chrome::GetActiveWebContents(browser()); |
279 NavigationController* controller = &contents->GetController(); | 280 NavigationController* controller = &contents->GetController(); |
280 LoginPromptBrowserTestObserver observer; | 281 LoginPromptBrowserTestObserver observer; |
281 | 282 |
282 observer.Register(content::Source<NavigationController>(controller)); | 283 observer.Register(content::Source<NavigationController>(controller)); |
283 | 284 |
284 { | 285 { |
285 WindowedAuthNeededObserver auth_needed_waiter(controller); | 286 WindowedAuthNeededObserver auth_needed_waiter(controller); |
286 browser()->OpenURL(OpenURLParams( | 287 browser()->OpenURL(OpenURLParams( |
287 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 288 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, |
288 false)); | 289 false)); |
(...skipping 26 matching lines...) Expand all Loading... |
315 ExpectedTitleFromAuth(ASCIIToUTF16("basicuser"), ASCIIToUTF16("secret")); | 316 ExpectedTitleFromAuth(ASCIIToUTF16("basicuser"), ASCIIToUTF16("secret")); |
316 ui_test_utils::TitleWatcher title_watcher(contents, expected_title); | 317 ui_test_utils::TitleWatcher title_watcher(contents, expected_title); |
317 EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle()); | 318 EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle()); |
318 } | 319 } |
319 | 320 |
320 // Test that "Digest" HTTP authentication works. | 321 // Test that "Digest" HTTP authentication works. |
321 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestDigestAuth) { | 322 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestDigestAuth) { |
322 ASSERT_TRUE(test_server()->Start()); | 323 ASSERT_TRUE(test_server()->Start()); |
323 GURL test_page = test_server()->GetURL(kAuthDigestPage); | 324 GURL test_page = test_server()->GetURL(kAuthDigestPage); |
324 | 325 |
325 content::WebContents* contents = browser()->GetActiveWebContents(); | 326 content::WebContents* contents = chrome::GetActiveWebContents(browser()); |
326 NavigationController* controller = &contents->GetController(); | 327 NavigationController* controller = &contents->GetController(); |
327 LoginPromptBrowserTestObserver observer; | 328 LoginPromptBrowserTestObserver observer; |
328 | 329 |
329 observer.Register(content::Source<NavigationController>(controller)); | 330 observer.Register(content::Source<NavigationController>(controller)); |
330 | 331 |
331 { | 332 { |
332 WindowedAuthNeededObserver auth_needed_waiter(controller); | 333 WindowedAuthNeededObserver auth_needed_waiter(controller); |
333 browser()->OpenURL(OpenURLParams( | 334 browser()->OpenURL(OpenURLParams( |
334 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 335 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, |
335 false)); | 336 false)); |
(...skipping 26 matching lines...) Expand all Loading... |
362 auth_supplied_waiter.Wait(); | 363 auth_supplied_waiter.Wait(); |
363 | 364 |
364 string16 expected_title = ExpectedTitleFromAuth(username, password); | 365 string16 expected_title = ExpectedTitleFromAuth(username, password); |
365 ui_test_utils::TitleWatcher title_watcher(contents, expected_title); | 366 ui_test_utils::TitleWatcher title_watcher(contents, expected_title); |
366 EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle()); | 367 EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle()); |
367 } | 368 } |
368 | 369 |
369 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestTwoAuths) { | 370 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestTwoAuths) { |
370 ASSERT_TRUE(test_server()->Start()); | 371 ASSERT_TRUE(test_server()->Start()); |
371 | 372 |
372 content::WebContents* contents1 = browser()->GetActiveWebContents(); | 373 content::WebContents* contents1 = chrome::GetActiveWebContents(browser()); |
373 NavigationController* controller1 = &contents1->GetController(); | 374 NavigationController* controller1 = &contents1->GetController(); |
374 LoginPromptBrowserTestObserver observer; | 375 LoginPromptBrowserTestObserver observer; |
375 | 376 |
376 observer.Register(content::Source<NavigationController>(controller1)); | 377 observer.Register(content::Source<NavigationController>(controller1)); |
377 | 378 |
378 // Open a new tab. | 379 // Open a new tab. |
379 ui_test_utils::NavigateToURLWithDisposition( | 380 ui_test_utils::NavigateToURLWithDisposition( |
380 browser(), | 381 browser(), |
381 GURL("about:blank"), | 382 GURL("about:blank"), |
382 NEW_FOREGROUND_TAB, | 383 NEW_FOREGROUND_TAB, |
383 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); | 384 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); |
384 | 385 |
385 content::WebContents* contents2 = browser()->GetActiveWebContents(); | 386 content::WebContents* contents2 = chrome::GetActiveWebContents(browser()); |
386 ASSERT_NE(contents1, contents2); | 387 ASSERT_NE(contents1, contents2); |
387 NavigationController* controller2 = &contents2->GetController(); | 388 NavigationController* controller2 = &contents2->GetController(); |
388 observer.Register(content::Source<NavigationController>(controller2)); | 389 observer.Register(content::Source<NavigationController>(controller2)); |
389 | 390 |
390 { | 391 { |
391 WindowedAuthNeededObserver auth_needed_waiter(controller1); | 392 WindowedAuthNeededObserver auth_needed_waiter(controller1); |
392 contents1->OpenURL(OpenURLParams( | 393 contents1->OpenURL(OpenURLParams( |
393 test_server()->GetURL(kAuthBasicPage), Referrer(), | 394 test_server()->GetURL(kAuthBasicPage), Referrer(), |
394 CURRENT_TAB, content::PAGE_TRANSITION_TYPED, false)); | 395 CURRENT_TAB, content::PAGE_TRANSITION_TYPED, false)); |
395 auth_needed_waiter.Wait(); | 396 auth_needed_waiter.Wait(); |
(...skipping 27 matching lines...) Expand all Loading... |
423 } | 424 } |
424 | 425 |
425 // Test login prompt cancellation. | 426 // Test login prompt cancellation. |
426 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestCancelAuth) { | 427 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestCancelAuth) { |
427 ASSERT_TRUE(test_server()->Start()); | 428 ASSERT_TRUE(test_server()->Start()); |
428 GURL auth_page = test_server()->GetURL(kAuthBasicPage); | 429 GURL auth_page = test_server()->GetURL(kAuthBasicPage); |
429 GURL no_auth_page_1 = test_server()->GetURL("a"); | 430 GURL no_auth_page_1 = test_server()->GetURL("a"); |
430 GURL no_auth_page_2 = test_server()->GetURL("b"); | 431 GURL no_auth_page_2 = test_server()->GetURL("b"); |
431 GURL no_auth_page_3 = test_server()->GetURL("c"); | 432 GURL no_auth_page_3 = test_server()->GetURL("c"); |
432 | 433 |
433 content::WebContents* contents = browser()->GetActiveWebContents(); | 434 content::WebContents* contents = chrome::GetActiveWebContents(browser()); |
434 NavigationController* controller = &contents->GetController(); | 435 NavigationController* controller = &contents->GetController(); |
435 | 436 |
436 LoginPromptBrowserTestObserver observer; | 437 LoginPromptBrowserTestObserver observer; |
437 observer.Register(content::Source<NavigationController>(controller)); | 438 observer.Register(content::Source<NavigationController>(controller)); |
438 | 439 |
439 // First navigate to an unauthenticated page so we have something to | 440 // First navigate to an unauthenticated page so we have something to |
440 // go back to. | 441 // go back to. |
441 ui_test_utils::NavigateToURL(browser(), no_auth_page_1); | 442 ui_test_utils::NavigateToURL(browser(), no_auth_page_1); |
442 | 443 |
443 // Navigating while auth is requested is the same as cancelling. | 444 // Navigating while auth is requested is the same as cancelling. |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
519 | 520 |
520 // Test handling of resources that require authentication even though | 521 // Test handling of resources that require authentication even though |
521 // the page they are included on doesn't. In this case we should only | 522 // the page they are included on doesn't. In this case we should only |
522 // present the minimal number of prompts necessary for successfully | 523 // present the minimal number of prompts necessary for successfully |
523 // displaying the page. First we check whether cancelling works as | 524 // displaying the page. First we check whether cancelling works as |
524 // expected. | 525 // expected. |
525 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, MultipleRealmCancellation) { | 526 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, MultipleRealmCancellation) { |
526 ASSERT_TRUE(test_server()->Start()); | 527 ASSERT_TRUE(test_server()->Start()); |
527 GURL test_page = test_server()->GetURL(kMultiRealmTestPage); | 528 GURL test_page = test_server()->GetURL(kMultiRealmTestPage); |
528 | 529 |
529 content::WebContents* contents = browser()->GetActiveWebContents(); | 530 content::WebContents* contents = chrome::GetActiveWebContents(browser()); |
530 NavigationController* controller = &contents->GetController(); | 531 NavigationController* controller = &contents->GetController(); |
531 LoginPromptBrowserTestObserver observer; | 532 LoginPromptBrowserTestObserver observer; |
532 | 533 |
533 observer.Register(content::Source<NavigationController>(controller)); | 534 observer.Register(content::Source<NavigationController>(controller)); |
534 | 535 |
535 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 536 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
536 | 537 |
537 { | 538 { |
538 WindowedAuthNeededObserver auth_needed_waiter(controller); | 539 WindowedAuthNeededObserver auth_needed_waiter(controller); |
539 browser()->OpenURL(OpenURLParams( | 540 browser()->OpenURL(OpenURLParams( |
(...skipping 29 matching lines...) Expand all Loading... |
569 EXPECT_LT(0, observer.auth_cancelled_count_); | 570 EXPECT_LT(0, observer.auth_cancelled_count_); |
570 EXPECT_TRUE(test_server()->Stop()); | 571 EXPECT_TRUE(test_server()->Stop()); |
571 } | 572 } |
572 | 573 |
573 // Similar to the MultipleRealmCancellation test above, but tests | 574 // Similar to the MultipleRealmCancellation test above, but tests |
574 // whether supplying credentials work as exepcted. | 575 // whether supplying credentials work as exepcted. |
575 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, MultipleRealmConfirmation) { | 576 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, MultipleRealmConfirmation) { |
576 ASSERT_TRUE(test_server()->Start()); | 577 ASSERT_TRUE(test_server()->Start()); |
577 GURL test_page = test_server()->GetURL(kMultiRealmTestPage); | 578 GURL test_page = test_server()->GetURL(kMultiRealmTestPage); |
578 | 579 |
579 content::WebContents* contents = browser()->GetActiveWebContents(); | 580 content::WebContents* contents = chrome::GetActiveWebContents(browser()); |
580 NavigationController* controller = &contents->GetController(); | 581 NavigationController* controller = &contents->GetController(); |
581 LoginPromptBrowserTestObserver observer; | 582 LoginPromptBrowserTestObserver observer; |
582 | 583 |
583 observer.Register(content::Source<NavigationController>(controller)); | 584 observer.Register(content::Source<NavigationController>(controller)); |
584 | 585 |
585 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 586 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
586 int n_handlers = 0; | 587 int n_handlers = 0; |
587 | 588 |
588 { | 589 { |
589 WindowedAuthNeededObserver auth_needed_waiter(controller); | 590 WindowedAuthNeededObserver auth_needed_waiter(controller); |
(...skipping 29 matching lines...) Expand all Loading... |
619 EXPECT_EQ(0, observer.auth_cancelled_count_); | 620 EXPECT_EQ(0, observer.auth_cancelled_count_); |
620 EXPECT_TRUE(test_server()->Stop()); | 621 EXPECT_TRUE(test_server()->Stop()); |
621 } | 622 } |
622 | 623 |
623 // Testing for recovery from an incorrect password for the case where | 624 // Testing for recovery from an incorrect password for the case where |
624 // there are multiple authenticated resources. | 625 // there are multiple authenticated resources. |
625 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, IncorrectConfirmation) { | 626 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, IncorrectConfirmation) { |
626 ASSERT_TRUE(test_server()->Start()); | 627 ASSERT_TRUE(test_server()->Start()); |
627 GURL test_page = test_server()->GetURL(kSingleRealmTestPage); | 628 GURL test_page = test_server()->GetURL(kSingleRealmTestPage); |
628 | 629 |
629 content::WebContents* contents = browser()->GetActiveWebContents(); | 630 content::WebContents* contents = chrome::GetActiveWebContents(browser()); |
630 NavigationController* controller = &contents->GetController(); | 631 NavigationController* controller = &contents->GetController(); |
631 LoginPromptBrowserTestObserver observer; | 632 LoginPromptBrowserTestObserver observer; |
632 | 633 |
633 observer.Register(content::Source<NavigationController>(controller)); | 634 observer.Register(content::Source<NavigationController>(controller)); |
634 | 635 |
635 { | 636 { |
636 WindowedAuthNeededObserver auth_needed_waiter(controller); | 637 WindowedAuthNeededObserver auth_needed_waiter(controller); |
637 browser()->OpenURL(OpenURLParams( | 638 browser()->OpenURL(OpenURLParams( |
638 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 639 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, |
639 false)); | 640 false)); |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
688 | 689 |
689 // If the favicon is an authenticated resource, we shouldn't prompt | 690 // If the favicon is an authenticated resource, we shouldn't prompt |
690 // for credentials. The same URL, if requested elsewhere should | 691 // for credentials. The same URL, if requested elsewhere should |
691 // prompt for credentials. | 692 // prompt for credentials. |
692 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, NoLoginPromptForFavicon) { | 693 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, NoLoginPromptForFavicon) { |
693 const char* kFaviconTestPage = "files/login/has_favicon.html"; | 694 const char* kFaviconTestPage = "files/login/has_favicon.html"; |
694 const char* kFaviconResource = "auth-basic/favicon.gif"; | 695 const char* kFaviconResource = "auth-basic/favicon.gif"; |
695 | 696 |
696 ASSERT_TRUE(test_server()->Start()); | 697 ASSERT_TRUE(test_server()->Start()); |
697 | 698 |
698 content::WebContents* contents = browser()->GetActiveWebContents(); | 699 content::WebContents* contents = chrome::GetActiveWebContents(browser()); |
699 NavigationController* controller = &contents->GetController(); | 700 NavigationController* controller = &contents->GetController(); |
700 LoginPromptBrowserTestObserver observer; | 701 LoginPromptBrowserTestObserver observer; |
701 | 702 |
702 observer.Register(content::Source<NavigationController>(controller)); | 703 observer.Register(content::Source<NavigationController>(controller)); |
703 | 704 |
704 // First load a page that has a favicon that requires | 705 // First load a page that has a favicon that requires |
705 // authentication. There should be no login prompt. | 706 // authentication. There should be no login prompt. |
706 { | 707 { |
707 GURL test_page = test_server()->GetURL(kFaviconTestPage); | 708 GURL test_page = test_server()->GetURL(kFaviconTestPage); |
708 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 709 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
743 } | 744 } |
744 | 745 |
745 // Block crossdomain subresource login prompting as a phishing defense. | 746 // Block crossdomain subresource login prompting as a phishing defense. |
746 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, BlockCrossdomainPrompt) { | 747 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, BlockCrossdomainPrompt) { |
747 const char* kTestPage = "files/login/load_img_from_b.html"; | 748 const char* kTestPage = "files/login/load_img_from_b.html"; |
748 | 749 |
749 host_resolver()->AddRule("www.a.com", "127.0.0.1"); | 750 host_resolver()->AddRule("www.a.com", "127.0.0.1"); |
750 host_resolver()->AddRule("www.b.com", "127.0.0.1"); | 751 host_resolver()->AddRule("www.b.com", "127.0.0.1"); |
751 ASSERT_TRUE(test_server()->Start()); | 752 ASSERT_TRUE(test_server()->Start()); |
752 | 753 |
753 content::WebContents* contents = browser()->GetActiveWebContents(); | 754 content::WebContents* contents = chrome::GetActiveWebContents(browser()); |
754 NavigationController* controller = &contents->GetController(); | 755 NavigationController* controller = &contents->GetController(); |
755 LoginPromptBrowserTestObserver observer; | 756 LoginPromptBrowserTestObserver observer; |
756 observer.Register(content::Source<NavigationController>(controller)); | 757 observer.Register(content::Source<NavigationController>(controller)); |
757 | 758 |
758 // Load a page that has a cross-domain sub-resource authentication. | 759 // Load a page that has a cross-domain sub-resource authentication. |
759 // There should be no login prompt. | 760 // There should be no login prompt. |
760 { | 761 { |
761 GURL test_page = test_server()->GetURL(kTestPage); | 762 GURL test_page = test_server()->GetURL(kTestPage); |
762 ASSERT_EQ("127.0.0.1", test_page.host()); | 763 ASSERT_EQ("127.0.0.1", test_page.host()); |
763 | 764 |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
808 } | 809 } |
809 | 810 |
810 EXPECT_EQ(1, observer.auth_needed_count_); | 811 EXPECT_EQ(1, observer.auth_needed_count_); |
811 EXPECT_TRUE(test_server()->Stop()); | 812 EXPECT_TRUE(test_server()->Stop()); |
812 } | 813 } |
813 | 814 |
814 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, SupplyRedundantAuths) { | 815 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, SupplyRedundantAuths) { |
815 ASSERT_TRUE(test_server()->Start()); | 816 ASSERT_TRUE(test_server()->Start()); |
816 | 817 |
817 // Get NavigationController for tab 1. | 818 // Get NavigationController for tab 1. |
818 content::WebContents* contents_1 = browser()->GetActiveWebContents(); | 819 content::WebContents* contents_1 = chrome::GetActiveWebContents(browser()); |
819 NavigationController* controller_1 = &contents_1->GetController(); | 820 NavigationController* controller_1 = &contents_1->GetController(); |
820 | 821 |
821 // Open a new tab. | 822 // Open a new tab. |
822 ui_test_utils::NavigateToURLWithDisposition( | 823 ui_test_utils::NavigateToURLWithDisposition( |
823 browser(), | 824 browser(), |
824 GURL("about:blank"), | 825 GURL("about:blank"), |
825 NEW_FOREGROUND_TAB, | 826 NEW_FOREGROUND_TAB, |
826 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); | 827 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); |
827 | 828 |
828 // Get NavigationController for tab 2. | 829 // Get NavigationController for tab 2. |
829 content::WebContents* contents_2 = browser()->GetActiveWebContents(); | 830 content::WebContents* contents_2 = chrome::GetActiveWebContents(browser()); |
830 ASSERT_NE(contents_1, contents_2); | 831 ASSERT_NE(contents_1, contents_2); |
831 NavigationController* controller_2 = &contents_2->GetController(); | 832 NavigationController* controller_2 = &contents_2->GetController(); |
832 | 833 |
833 LoginPromptBrowserTestObserver observer; | 834 LoginPromptBrowserTestObserver observer; |
834 observer.Register(content::Source<NavigationController>(controller_1)); | 835 observer.Register(content::Source<NavigationController>(controller_1)); |
835 observer.Register(content::Source<NavigationController>(controller_2)); | 836 observer.Register(content::Source<NavigationController>(controller_2)); |
836 | 837 |
837 { | 838 { |
838 // Open different auth urls in each tab. | 839 // Open different auth urls in each tab. |
839 WindowedAuthNeededObserver auth_needed_waiter_1(controller_1); | 840 WindowedAuthNeededObserver auth_needed_waiter_1(controller_1); |
(...skipping 30 matching lines...) Expand all Loading... |
870 EXPECT_EQ(2, observer.auth_needed_count_); | 871 EXPECT_EQ(2, observer.auth_needed_count_); |
871 EXPECT_EQ(2, observer.auth_supplied_count_); | 872 EXPECT_EQ(2, observer.auth_supplied_count_); |
872 EXPECT_EQ(0, observer.auth_cancelled_count_); | 873 EXPECT_EQ(0, observer.auth_cancelled_count_); |
873 EXPECT_TRUE(test_server()->Stop()); | 874 EXPECT_TRUE(test_server()->Stop()); |
874 } | 875 } |
875 | 876 |
876 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, CancelRedundantAuths) { | 877 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, CancelRedundantAuths) { |
877 ASSERT_TRUE(test_server()->Start()); | 878 ASSERT_TRUE(test_server()->Start()); |
878 | 879 |
879 // Get NavigationController for tab 1. | 880 // Get NavigationController for tab 1. |
880 content::WebContents* contents_1 = browser()->GetActiveWebContents(); | 881 content::WebContents* contents_1 = chrome::GetActiveWebContents(browser()); |
881 NavigationController* controller_1 = &contents_1->GetController(); | 882 NavigationController* controller_1 = &contents_1->GetController(); |
882 | 883 |
883 // Open a new tab. | 884 // Open a new tab. |
884 ui_test_utils::NavigateToURLWithDisposition( | 885 ui_test_utils::NavigateToURLWithDisposition( |
885 browser(), | 886 browser(), |
886 GURL("about:blank"), | 887 GURL("about:blank"), |
887 NEW_FOREGROUND_TAB, | 888 NEW_FOREGROUND_TAB, |
888 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); | 889 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); |
889 | 890 |
890 // Get NavigationController for tab 2. | 891 // Get NavigationController for tab 2. |
891 content::WebContents* contents_2 = browser()->GetActiveWebContents(); | 892 content::WebContents* contents_2 = chrome::GetActiveWebContents(browser()); |
892 ASSERT_NE(contents_1, contents_2); | 893 ASSERT_NE(contents_1, contents_2); |
893 NavigationController* controller_2 = &contents_2->GetController(); | 894 NavigationController* controller_2 = &contents_2->GetController(); |
894 | 895 |
895 LoginPromptBrowserTestObserver observer; | 896 LoginPromptBrowserTestObserver observer; |
896 observer.Register(content::Source<NavigationController>(controller_1)); | 897 observer.Register(content::Source<NavigationController>(controller_1)); |
897 observer.Register(content::Source<NavigationController>(controller_2)); | 898 observer.Register(content::Source<NavigationController>(controller_2)); |
898 | 899 |
899 { | 900 { |
900 // Open different auth urls in each tab. | 901 // Open different auth urls in each tab. |
901 WindowedAuthNeededObserver auth_needed_waiter_1(controller_1); | 902 WindowedAuthNeededObserver auth_needed_waiter_1(controller_1); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
933 EXPECT_EQ(0, observer.auth_supplied_count_); | 934 EXPECT_EQ(0, observer.auth_supplied_count_); |
934 EXPECT_EQ(2, observer.auth_cancelled_count_); | 935 EXPECT_EQ(2, observer.auth_cancelled_count_); |
935 EXPECT_TRUE(test_server()->Stop()); | 936 EXPECT_TRUE(test_server()->Stop()); |
936 } | 937 } |
937 | 938 |
938 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, | 939 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, |
939 SupplyRedundantAuthsMultiProfile) { | 940 SupplyRedundantAuthsMultiProfile) { |
940 ASSERT_TRUE(test_server()->Start()); | 941 ASSERT_TRUE(test_server()->Start()); |
941 | 942 |
942 // Get NavigationController for regular tab. | 943 // Get NavigationController for regular tab. |
943 content::WebContents* contents = browser()->GetActiveWebContents(); | 944 content::WebContents* contents = chrome::GetActiveWebContents(browser()); |
944 NavigationController* controller = &contents->GetController(); | 945 NavigationController* controller = &contents->GetController(); |
945 | 946 |
946 // Open an incognito window. | 947 // Open an incognito window. |
947 Browser* browser_incognito = CreateIncognitoBrowser(); | 948 Browser* browser_incognito = CreateIncognitoBrowser(); |
948 | 949 |
949 // Get NavigationController for incognito tab. | 950 // Get NavigationController for incognito tab. |
950 content::WebContents* contents_incognito = | 951 content::WebContents* contents_incognito = |
951 browser_incognito->GetActiveWebContents(); | 952 chrome::GetActiveWebContents(browser_incognito); |
952 ASSERT_NE(contents, contents_incognito); | 953 ASSERT_NE(contents, contents_incognito); |
953 NavigationController* controller_incognito = | 954 NavigationController* controller_incognito = |
954 &contents_incognito->GetController(); | 955 &contents_incognito->GetController(); |
955 | 956 |
956 LoginPromptBrowserTestObserver observer; | 957 LoginPromptBrowserTestObserver observer; |
957 observer.Register(content::Source<NavigationController>(controller)); | 958 observer.Register(content::Source<NavigationController>(controller)); |
958 LoginPromptBrowserTestObserver observer_incognito; | 959 LoginPromptBrowserTestObserver observer_incognito; |
959 observer_incognito.Register( | 960 observer_incognito.Register( |
960 content::Source<NavigationController>(controller_incognito)); | 961 content::Source<NavigationController>(controller_incognito)); |
961 | 962 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1001 EXPECT_EQ(1, observer.auth_needed_count_); | 1002 EXPECT_EQ(1, observer.auth_needed_count_); |
1002 EXPECT_EQ(1, observer.auth_supplied_count_); | 1003 EXPECT_EQ(1, observer.auth_supplied_count_); |
1003 EXPECT_EQ(0, observer.auth_cancelled_count_); | 1004 EXPECT_EQ(0, observer.auth_cancelled_count_); |
1004 EXPECT_EQ(1, observer_incognito.auth_needed_count_); | 1005 EXPECT_EQ(1, observer_incognito.auth_needed_count_); |
1005 EXPECT_EQ(0, observer_incognito.auth_supplied_count_); | 1006 EXPECT_EQ(0, observer_incognito.auth_supplied_count_); |
1006 EXPECT_EQ(0, observer_incognito.auth_cancelled_count_); | 1007 EXPECT_EQ(0, observer_incognito.auth_cancelled_count_); |
1007 EXPECT_TRUE(test_server()->Stop()); | 1008 EXPECT_TRUE(test_server()->Stop()); |
1008 } | 1009 } |
1009 | 1010 |
1010 } // namespace | 1011 } // namespace |
OLD | NEW |