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" | |
14 #include "chrome/browser/ui/login/login_prompt.h" | 13 #include "chrome/browser/ui/login/login_prompt.h" |
| 14 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
15 #include "chrome/common/chrome_notification_types.h" | 15 #include "chrome/common/chrome_notification_types.h" |
16 #include "chrome/test/base/in_process_browser_test.h" | 16 #include "chrome/test/base/in_process_browser_test.h" |
17 #include "chrome/test/base/ui_test_utils.h" | 17 #include "chrome/test/base/ui_test_utils.h" |
18 #include "content/public/browser/notification_details.h" | 18 #include "content/public/browser/notification_details.h" |
19 #include "content/public/browser/notification_source.h" | 19 #include "content/public/browser/notification_source.h" |
20 #include "content/public/browser/web_contents.h" | 20 #include "content/public/browser/web_contents.h" |
21 #include "content/public/test/browser_test_utils.h" | 21 #include "content/public/test/browser_test_utils.h" |
22 #include "net/base/auth.h" | 22 #include "net/base/auth.h" |
23 #include "net/base/mock_host_resolver.h" | 23 #include "net/base/mock_host_resolver.h" |
24 | 24 |
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
247 | 247 |
248 ~SetPrefetchForTest() { | 248 ~SetPrefetchForTest() { |
249 prerender::PrerenderManager::SetIsPrefetchEnabled(old_prefetch_state_); | 249 prerender::PrerenderManager::SetIsPrefetchEnabled(old_prefetch_state_); |
250 prerender::PrerenderManager::SetMode(old_mode_); | 250 prerender::PrerenderManager::SetMode(old_mode_); |
251 } | 251 } |
252 private: | 252 private: |
253 bool old_prefetch_state_; | 253 bool old_prefetch_state_; |
254 prerender::PrerenderManager::PrerenderManagerMode old_mode_; | 254 prerender::PrerenderManager::PrerenderManagerMode old_mode_; |
255 } set_prefetch_for_test(true); | 255 } set_prefetch_for_test(true); |
256 | 256 |
257 content::WebContents* contents = chrome::GetActiveWebContents(browser()); | 257 content::WebContents* contents = |
| 258 browser()->tab_strip_model()->GetActiveWebContents(); |
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 = chrome::GetActiveWebContents(browser()); | 279 content::WebContents* contents = |
| 280 browser()->tab_strip_model()->GetActiveWebContents(); |
279 NavigationController* controller = &contents->GetController(); | 281 NavigationController* controller = &contents->GetController(); |
280 LoginPromptBrowserTestObserver observer; | 282 LoginPromptBrowserTestObserver observer; |
281 | 283 |
282 observer.Register(content::Source<NavigationController>(controller)); | 284 observer.Register(content::Source<NavigationController>(controller)); |
283 | 285 |
284 { | 286 { |
285 WindowedAuthNeededObserver auth_needed_waiter(controller); | 287 WindowedAuthNeededObserver auth_needed_waiter(controller); |
286 browser()->OpenURL(OpenURLParams( | 288 browser()->OpenURL(OpenURLParams( |
287 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 289 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, |
288 false)); | 290 false)); |
(...skipping 26 matching lines...) Expand all Loading... |
315 ExpectedTitleFromAuth(ASCIIToUTF16("basicuser"), ASCIIToUTF16("secret")); | 317 ExpectedTitleFromAuth(ASCIIToUTF16("basicuser"), ASCIIToUTF16("secret")); |
316 content::TitleWatcher title_watcher(contents, expected_title); | 318 content::TitleWatcher title_watcher(contents, expected_title); |
317 EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle()); | 319 EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle()); |
318 } | 320 } |
319 | 321 |
320 // Test that "Digest" HTTP authentication works. | 322 // Test that "Digest" HTTP authentication works. |
321 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestDigestAuth) { | 323 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestDigestAuth) { |
322 ASSERT_TRUE(test_server()->Start()); | 324 ASSERT_TRUE(test_server()->Start()); |
323 GURL test_page = test_server()->GetURL(kAuthDigestPage); | 325 GURL test_page = test_server()->GetURL(kAuthDigestPage); |
324 | 326 |
325 content::WebContents* contents = chrome::GetActiveWebContents(browser()); | 327 content::WebContents* contents = |
| 328 browser()->tab_strip_model()->GetActiveWebContents(); |
326 NavigationController* controller = &contents->GetController(); | 329 NavigationController* controller = &contents->GetController(); |
327 LoginPromptBrowserTestObserver observer; | 330 LoginPromptBrowserTestObserver observer; |
328 | 331 |
329 observer.Register(content::Source<NavigationController>(controller)); | 332 observer.Register(content::Source<NavigationController>(controller)); |
330 | 333 |
331 { | 334 { |
332 WindowedAuthNeededObserver auth_needed_waiter(controller); | 335 WindowedAuthNeededObserver auth_needed_waiter(controller); |
333 browser()->OpenURL(OpenURLParams( | 336 browser()->OpenURL(OpenURLParams( |
334 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 337 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, |
335 false)); | 338 false)); |
(...skipping 26 matching lines...) Expand all Loading... |
362 auth_supplied_waiter.Wait(); | 365 auth_supplied_waiter.Wait(); |
363 | 366 |
364 string16 expected_title = ExpectedTitleFromAuth(username, password); | 367 string16 expected_title = ExpectedTitleFromAuth(username, password); |
365 content::TitleWatcher title_watcher(contents, expected_title); | 368 content::TitleWatcher title_watcher(contents, expected_title); |
366 EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle()); | 369 EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle()); |
367 } | 370 } |
368 | 371 |
369 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestTwoAuths) { | 372 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestTwoAuths) { |
370 ASSERT_TRUE(test_server()->Start()); | 373 ASSERT_TRUE(test_server()->Start()); |
371 | 374 |
372 content::WebContents* contents1 = chrome::GetActiveWebContents(browser()); | 375 content::WebContents* contents1 = |
| 376 browser()->tab_strip_model()->GetActiveWebContents(); |
373 NavigationController* controller1 = &contents1->GetController(); | 377 NavigationController* controller1 = &contents1->GetController(); |
374 LoginPromptBrowserTestObserver observer; | 378 LoginPromptBrowserTestObserver observer; |
375 | 379 |
376 observer.Register(content::Source<NavigationController>(controller1)); | 380 observer.Register(content::Source<NavigationController>(controller1)); |
377 | 381 |
378 // Open a new tab. | 382 // Open a new tab. |
379 ui_test_utils::NavigateToURLWithDisposition( | 383 ui_test_utils::NavigateToURLWithDisposition( |
380 browser(), | 384 browser(), |
381 GURL("about:blank"), | 385 GURL("about:blank"), |
382 NEW_FOREGROUND_TAB, | 386 NEW_FOREGROUND_TAB, |
383 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); | 387 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); |
384 | 388 |
385 content::WebContents* contents2 = chrome::GetActiveWebContents(browser()); | 389 content::WebContents* contents2 = |
| 390 browser()->tab_strip_model()->GetActiveWebContents(); |
386 ASSERT_NE(contents1, contents2); | 391 ASSERT_NE(contents1, contents2); |
387 NavigationController* controller2 = &contents2->GetController(); | 392 NavigationController* controller2 = &contents2->GetController(); |
388 observer.Register(content::Source<NavigationController>(controller2)); | 393 observer.Register(content::Source<NavigationController>(controller2)); |
389 | 394 |
390 { | 395 { |
391 WindowedAuthNeededObserver auth_needed_waiter(controller1); | 396 WindowedAuthNeededObserver auth_needed_waiter(controller1); |
392 contents1->OpenURL(OpenURLParams( | 397 contents1->OpenURL(OpenURLParams( |
393 test_server()->GetURL(kAuthBasicPage), Referrer(), | 398 test_server()->GetURL(kAuthBasicPage), Referrer(), |
394 CURRENT_TAB, content::PAGE_TRANSITION_TYPED, false)); | 399 CURRENT_TAB, content::PAGE_TRANSITION_TYPED, false)); |
395 auth_needed_waiter.Wait(); | 400 auth_needed_waiter.Wait(); |
(...skipping 27 matching lines...) Expand all Loading... |
423 } | 428 } |
424 | 429 |
425 // Test login prompt cancellation. | 430 // Test login prompt cancellation. |
426 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestCancelAuth) { | 431 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestCancelAuth) { |
427 ASSERT_TRUE(test_server()->Start()); | 432 ASSERT_TRUE(test_server()->Start()); |
428 GURL auth_page = test_server()->GetURL(kAuthBasicPage); | 433 GURL auth_page = test_server()->GetURL(kAuthBasicPage); |
429 GURL no_auth_page_1 = test_server()->GetURL("a"); | 434 GURL no_auth_page_1 = test_server()->GetURL("a"); |
430 GURL no_auth_page_2 = test_server()->GetURL("b"); | 435 GURL no_auth_page_2 = test_server()->GetURL("b"); |
431 GURL no_auth_page_3 = test_server()->GetURL("c"); | 436 GURL no_auth_page_3 = test_server()->GetURL("c"); |
432 | 437 |
433 content::WebContents* contents = chrome::GetActiveWebContents(browser()); | 438 content::WebContents* contents = |
| 439 browser()->tab_strip_model()->GetActiveWebContents(); |
434 NavigationController* controller = &contents->GetController(); | 440 NavigationController* controller = &contents->GetController(); |
435 | 441 |
436 LoginPromptBrowserTestObserver observer; | 442 LoginPromptBrowserTestObserver observer; |
437 observer.Register(content::Source<NavigationController>(controller)); | 443 observer.Register(content::Source<NavigationController>(controller)); |
438 | 444 |
439 // First navigate to an unauthenticated page so we have something to | 445 // First navigate to an unauthenticated page so we have something to |
440 // go back to. | 446 // go back to. |
441 ui_test_utils::NavigateToURL(browser(), no_auth_page_1); | 447 ui_test_utils::NavigateToURL(browser(), no_auth_page_1); |
442 | 448 |
443 // Navigating while auth is requested is the same as cancelling. | 449 // Navigating while auth is requested is the same as cancelling. |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
520 | 526 |
521 // Test handling of resources that require authentication even though | 527 // Test handling of resources that require authentication even though |
522 // the page they are included on doesn't. In this case we should only | 528 // the page they are included on doesn't. In this case we should only |
523 // present the minimal number of prompts necessary for successfully | 529 // present the minimal number of prompts necessary for successfully |
524 // displaying the page. First we check whether cancelling works as | 530 // displaying the page. First we check whether cancelling works as |
525 // expected. | 531 // expected. |
526 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, MultipleRealmCancellation) { | 532 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, MultipleRealmCancellation) { |
527 ASSERT_TRUE(test_server()->Start()); | 533 ASSERT_TRUE(test_server()->Start()); |
528 GURL test_page = test_server()->GetURL(kMultiRealmTestPage); | 534 GURL test_page = test_server()->GetURL(kMultiRealmTestPage); |
529 | 535 |
530 content::WebContents* contents = chrome::GetActiveWebContents(browser()); | 536 content::WebContents* contents = |
| 537 browser()->tab_strip_model()->GetActiveWebContents(); |
531 NavigationController* controller = &contents->GetController(); | 538 NavigationController* controller = &contents->GetController(); |
532 LoginPromptBrowserTestObserver observer; | 539 LoginPromptBrowserTestObserver observer; |
533 | 540 |
534 observer.Register(content::Source<NavigationController>(controller)); | 541 observer.Register(content::Source<NavigationController>(controller)); |
535 | 542 |
536 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 543 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
537 | 544 |
538 { | 545 { |
539 WindowedAuthNeededObserver auth_needed_waiter(controller); | 546 WindowedAuthNeededObserver auth_needed_waiter(controller); |
540 browser()->OpenURL(OpenURLParams( | 547 browser()->OpenURL(OpenURLParams( |
(...skipping 29 matching lines...) Expand all Loading... |
570 EXPECT_LT(0, observer.auth_cancelled_count_); | 577 EXPECT_LT(0, observer.auth_cancelled_count_); |
571 EXPECT_TRUE(test_server()->Stop()); | 578 EXPECT_TRUE(test_server()->Stop()); |
572 } | 579 } |
573 | 580 |
574 // Similar to the MultipleRealmCancellation test above, but tests | 581 // Similar to the MultipleRealmCancellation test above, but tests |
575 // whether supplying credentials work as exepcted. | 582 // whether supplying credentials work as exepcted. |
576 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, MultipleRealmConfirmation) { | 583 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, MultipleRealmConfirmation) { |
577 ASSERT_TRUE(test_server()->Start()); | 584 ASSERT_TRUE(test_server()->Start()); |
578 GURL test_page = test_server()->GetURL(kMultiRealmTestPage); | 585 GURL test_page = test_server()->GetURL(kMultiRealmTestPage); |
579 | 586 |
580 content::WebContents* contents = chrome::GetActiveWebContents(browser()); | 587 content::WebContents* contents = |
| 588 browser()->tab_strip_model()->GetActiveWebContents(); |
581 NavigationController* controller = &contents->GetController(); | 589 NavigationController* controller = &contents->GetController(); |
582 LoginPromptBrowserTestObserver observer; | 590 LoginPromptBrowserTestObserver observer; |
583 | 591 |
584 observer.Register(content::Source<NavigationController>(controller)); | 592 observer.Register(content::Source<NavigationController>(controller)); |
585 | 593 |
586 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 594 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
587 int n_handlers = 0; | 595 int n_handlers = 0; |
588 | 596 |
589 { | 597 { |
590 WindowedAuthNeededObserver auth_needed_waiter(controller); | 598 WindowedAuthNeededObserver auth_needed_waiter(controller); |
(...skipping 29 matching lines...) Expand all Loading... |
620 EXPECT_EQ(0, observer.auth_cancelled_count_); | 628 EXPECT_EQ(0, observer.auth_cancelled_count_); |
621 EXPECT_TRUE(test_server()->Stop()); | 629 EXPECT_TRUE(test_server()->Stop()); |
622 } | 630 } |
623 | 631 |
624 // Testing for recovery from an incorrect password for the case where | 632 // Testing for recovery from an incorrect password for the case where |
625 // there are multiple authenticated resources. | 633 // there are multiple authenticated resources. |
626 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, IncorrectConfirmation) { | 634 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, IncorrectConfirmation) { |
627 ASSERT_TRUE(test_server()->Start()); | 635 ASSERT_TRUE(test_server()->Start()); |
628 GURL test_page = test_server()->GetURL(kSingleRealmTestPage); | 636 GURL test_page = test_server()->GetURL(kSingleRealmTestPage); |
629 | 637 |
630 content::WebContents* contents = chrome::GetActiveWebContents(browser()); | 638 content::WebContents* contents = |
| 639 browser()->tab_strip_model()->GetActiveWebContents(); |
631 NavigationController* controller = &contents->GetController(); | 640 NavigationController* controller = &contents->GetController(); |
632 LoginPromptBrowserTestObserver observer; | 641 LoginPromptBrowserTestObserver observer; |
633 | 642 |
634 observer.Register(content::Source<NavigationController>(controller)); | 643 observer.Register(content::Source<NavigationController>(controller)); |
635 | 644 |
636 { | 645 { |
637 WindowedAuthNeededObserver auth_needed_waiter(controller); | 646 WindowedAuthNeededObserver auth_needed_waiter(controller); |
638 browser()->OpenURL(OpenURLParams( | 647 browser()->OpenURL(OpenURLParams( |
639 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 648 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, |
640 false)); | 649 false)); |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
689 | 698 |
690 // If the favicon is an authenticated resource, we shouldn't prompt | 699 // If the favicon is an authenticated resource, we shouldn't prompt |
691 // for credentials. The same URL, if requested elsewhere should | 700 // for credentials. The same URL, if requested elsewhere should |
692 // prompt for credentials. | 701 // prompt for credentials. |
693 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, NoLoginPromptForFavicon) { | 702 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, NoLoginPromptForFavicon) { |
694 const char* kFaviconTestPage = "files/login/has_favicon.html"; | 703 const char* kFaviconTestPage = "files/login/has_favicon.html"; |
695 const char* kFaviconResource = "auth-basic/favicon.gif"; | 704 const char* kFaviconResource = "auth-basic/favicon.gif"; |
696 | 705 |
697 ASSERT_TRUE(test_server()->Start()); | 706 ASSERT_TRUE(test_server()->Start()); |
698 | 707 |
699 content::WebContents* contents = chrome::GetActiveWebContents(browser()); | 708 content::WebContents* contents = |
| 709 browser()->tab_strip_model()->GetActiveWebContents(); |
700 NavigationController* controller = &contents->GetController(); | 710 NavigationController* controller = &contents->GetController(); |
701 LoginPromptBrowserTestObserver observer; | 711 LoginPromptBrowserTestObserver observer; |
702 | 712 |
703 observer.Register(content::Source<NavigationController>(controller)); | 713 observer.Register(content::Source<NavigationController>(controller)); |
704 | 714 |
705 // First load a page that has a favicon that requires | 715 // First load a page that has a favicon that requires |
706 // authentication. There should be no login prompt. | 716 // authentication. There should be no login prompt. |
707 { | 717 { |
708 GURL test_page = test_server()->GetURL(kFaviconTestPage); | 718 GURL test_page = test_server()->GetURL(kFaviconTestPage); |
709 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 719 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
744 } | 754 } |
745 | 755 |
746 // Block crossdomain subresource login prompting as a phishing defense. | 756 // Block crossdomain subresource login prompting as a phishing defense. |
747 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, BlockCrossdomainPrompt) { | 757 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, BlockCrossdomainPrompt) { |
748 const char* kTestPage = "files/login/load_img_from_b.html"; | 758 const char* kTestPage = "files/login/load_img_from_b.html"; |
749 | 759 |
750 host_resolver()->AddRule("www.a.com", "127.0.0.1"); | 760 host_resolver()->AddRule("www.a.com", "127.0.0.1"); |
751 host_resolver()->AddRule("www.b.com", "127.0.0.1"); | 761 host_resolver()->AddRule("www.b.com", "127.0.0.1"); |
752 ASSERT_TRUE(test_server()->Start()); | 762 ASSERT_TRUE(test_server()->Start()); |
753 | 763 |
754 content::WebContents* contents = chrome::GetActiveWebContents(browser()); | 764 content::WebContents* contents = |
| 765 browser()->tab_strip_model()->GetActiveWebContents(); |
755 NavigationController* controller = &contents->GetController(); | 766 NavigationController* controller = &contents->GetController(); |
756 LoginPromptBrowserTestObserver observer; | 767 LoginPromptBrowserTestObserver observer; |
757 observer.Register(content::Source<NavigationController>(controller)); | 768 observer.Register(content::Source<NavigationController>(controller)); |
758 | 769 |
759 // Load a page that has a cross-domain sub-resource authentication. | 770 // Load a page that has a cross-domain sub-resource authentication. |
760 // There should be no login prompt. | 771 // There should be no login prompt. |
761 { | 772 { |
762 GURL test_page = test_server()->GetURL(kTestPage); | 773 GURL test_page = test_server()->GetURL(kTestPage); |
763 ASSERT_EQ("127.0.0.1", test_page.host()); | 774 ASSERT_EQ("127.0.0.1", test_page.host()); |
764 | 775 |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
809 } | 820 } |
810 | 821 |
811 EXPECT_EQ(1, observer.auth_needed_count_); | 822 EXPECT_EQ(1, observer.auth_needed_count_); |
812 EXPECT_TRUE(test_server()->Stop()); | 823 EXPECT_TRUE(test_server()->Stop()); |
813 } | 824 } |
814 | 825 |
815 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, SupplyRedundantAuths) { | 826 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, SupplyRedundantAuths) { |
816 ASSERT_TRUE(test_server()->Start()); | 827 ASSERT_TRUE(test_server()->Start()); |
817 | 828 |
818 // Get NavigationController for tab 1. | 829 // Get NavigationController for tab 1. |
819 content::WebContents* contents_1 = chrome::GetActiveWebContents(browser()); | 830 content::WebContents* contents_1 = |
| 831 browser()->tab_strip_model()->GetActiveWebContents(); |
820 NavigationController* controller_1 = &contents_1->GetController(); | 832 NavigationController* controller_1 = &contents_1->GetController(); |
821 | 833 |
822 // Open a new tab. | 834 // Open a new tab. |
823 ui_test_utils::NavigateToURLWithDisposition( | 835 ui_test_utils::NavigateToURLWithDisposition( |
824 browser(), | 836 browser(), |
825 GURL("about:blank"), | 837 GURL("about:blank"), |
826 NEW_FOREGROUND_TAB, | 838 NEW_FOREGROUND_TAB, |
827 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); | 839 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); |
828 | 840 |
829 // Get NavigationController for tab 2. | 841 // Get NavigationController for tab 2. |
830 content::WebContents* contents_2 = chrome::GetActiveWebContents(browser()); | 842 content::WebContents* contents_2 = |
| 843 browser()->tab_strip_model()->GetActiveWebContents(); |
831 ASSERT_NE(contents_1, contents_2); | 844 ASSERT_NE(contents_1, contents_2); |
832 NavigationController* controller_2 = &contents_2->GetController(); | 845 NavigationController* controller_2 = &contents_2->GetController(); |
833 | 846 |
834 LoginPromptBrowserTestObserver observer; | 847 LoginPromptBrowserTestObserver observer; |
835 observer.Register(content::Source<NavigationController>(controller_1)); | 848 observer.Register(content::Source<NavigationController>(controller_1)); |
836 observer.Register(content::Source<NavigationController>(controller_2)); | 849 observer.Register(content::Source<NavigationController>(controller_2)); |
837 | 850 |
838 { | 851 { |
839 // Open different auth urls in each tab. | 852 // Open different auth urls in each tab. |
840 WindowedAuthNeededObserver auth_needed_waiter_1(controller_1); | 853 WindowedAuthNeededObserver auth_needed_waiter_1(controller_1); |
(...skipping 30 matching lines...) Expand all Loading... |
871 EXPECT_EQ(2, observer.auth_needed_count_); | 884 EXPECT_EQ(2, observer.auth_needed_count_); |
872 EXPECT_EQ(2, observer.auth_supplied_count_); | 885 EXPECT_EQ(2, observer.auth_supplied_count_); |
873 EXPECT_EQ(0, observer.auth_cancelled_count_); | 886 EXPECT_EQ(0, observer.auth_cancelled_count_); |
874 EXPECT_TRUE(test_server()->Stop()); | 887 EXPECT_TRUE(test_server()->Stop()); |
875 } | 888 } |
876 | 889 |
877 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, CancelRedundantAuths) { | 890 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, CancelRedundantAuths) { |
878 ASSERT_TRUE(test_server()->Start()); | 891 ASSERT_TRUE(test_server()->Start()); |
879 | 892 |
880 // Get NavigationController for tab 1. | 893 // Get NavigationController for tab 1. |
881 content::WebContents* contents_1 = chrome::GetActiveWebContents(browser()); | 894 content::WebContents* contents_1 = |
| 895 browser()->tab_strip_model()->GetActiveWebContents(); |
882 NavigationController* controller_1 = &contents_1->GetController(); | 896 NavigationController* controller_1 = &contents_1->GetController(); |
883 | 897 |
884 // Open a new tab. | 898 // Open a new tab. |
885 ui_test_utils::NavigateToURLWithDisposition( | 899 ui_test_utils::NavigateToURLWithDisposition( |
886 browser(), | 900 browser(), |
887 GURL("about:blank"), | 901 GURL("about:blank"), |
888 NEW_FOREGROUND_TAB, | 902 NEW_FOREGROUND_TAB, |
889 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); | 903 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); |
890 | 904 |
891 // Get NavigationController for tab 2. | 905 // Get NavigationController for tab 2. |
892 content::WebContents* contents_2 = chrome::GetActiveWebContents(browser()); | 906 content::WebContents* contents_2 = |
| 907 browser()->tab_strip_model()->GetActiveWebContents(); |
893 ASSERT_NE(contents_1, contents_2); | 908 ASSERT_NE(contents_1, contents_2); |
894 NavigationController* controller_2 = &contents_2->GetController(); | 909 NavigationController* controller_2 = &contents_2->GetController(); |
895 | 910 |
896 LoginPromptBrowserTestObserver observer; | 911 LoginPromptBrowserTestObserver observer; |
897 observer.Register(content::Source<NavigationController>(controller_1)); | 912 observer.Register(content::Source<NavigationController>(controller_1)); |
898 observer.Register(content::Source<NavigationController>(controller_2)); | 913 observer.Register(content::Source<NavigationController>(controller_2)); |
899 | 914 |
900 { | 915 { |
901 // Open different auth urls in each tab. | 916 // Open different auth urls in each tab. |
902 WindowedAuthNeededObserver auth_needed_waiter_1(controller_1); | 917 WindowedAuthNeededObserver auth_needed_waiter_1(controller_1); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
934 EXPECT_EQ(0, observer.auth_supplied_count_); | 949 EXPECT_EQ(0, observer.auth_supplied_count_); |
935 EXPECT_EQ(2, observer.auth_cancelled_count_); | 950 EXPECT_EQ(2, observer.auth_cancelled_count_); |
936 EXPECT_TRUE(test_server()->Stop()); | 951 EXPECT_TRUE(test_server()->Stop()); |
937 } | 952 } |
938 | 953 |
939 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, | 954 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, |
940 SupplyRedundantAuthsMultiProfile) { | 955 SupplyRedundantAuthsMultiProfile) { |
941 ASSERT_TRUE(test_server()->Start()); | 956 ASSERT_TRUE(test_server()->Start()); |
942 | 957 |
943 // Get NavigationController for regular tab. | 958 // Get NavigationController for regular tab. |
944 content::WebContents* contents = chrome::GetActiveWebContents(browser()); | 959 content::WebContents* contents = |
| 960 browser()->tab_strip_model()->GetActiveWebContents(); |
945 NavigationController* controller = &contents->GetController(); | 961 NavigationController* controller = &contents->GetController(); |
946 | 962 |
947 // Open an incognito window. | 963 // Open an incognito window. |
948 Browser* browser_incognito = CreateIncognitoBrowser(); | 964 Browser* browser_incognito = CreateIncognitoBrowser(); |
949 | 965 |
950 // Get NavigationController for incognito tab. | 966 // Get NavigationController for incognito tab. |
951 content::WebContents* contents_incognito = | 967 content::WebContents* contents_incognito = |
952 chrome::GetActiveWebContents(browser_incognito); | 968 browser_incognito->tab_strip_model()->GetActiveWebContents(); |
953 ASSERT_NE(contents, contents_incognito); | 969 ASSERT_NE(contents, contents_incognito); |
954 NavigationController* controller_incognito = | 970 NavigationController* controller_incognito = |
955 &contents_incognito->GetController(); | 971 &contents_incognito->GetController(); |
956 | 972 |
957 LoginPromptBrowserTestObserver observer; | 973 LoginPromptBrowserTestObserver observer; |
958 observer.Register(content::Source<NavigationController>(controller)); | 974 observer.Register(content::Source<NavigationController>(controller)); |
959 LoginPromptBrowserTestObserver observer_incognito; | 975 LoginPromptBrowserTestObserver observer_incognito; |
960 observer_incognito.Register( | 976 observer_incognito.Register( |
961 content::Source<NavigationController>(controller_incognito)); | 977 content::Source<NavigationController>(controller_incognito)); |
962 | 978 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1002 EXPECT_EQ(1, observer.auth_needed_count_); | 1018 EXPECT_EQ(1, observer.auth_needed_count_); |
1003 EXPECT_EQ(1, observer.auth_supplied_count_); | 1019 EXPECT_EQ(1, observer.auth_supplied_count_); |
1004 EXPECT_EQ(0, observer.auth_cancelled_count_); | 1020 EXPECT_EQ(0, observer.auth_cancelled_count_); |
1005 EXPECT_EQ(1, observer_incognito.auth_needed_count_); | 1021 EXPECT_EQ(1, observer_incognito.auth_needed_count_); |
1006 EXPECT_EQ(0, observer_incognito.auth_supplied_count_); | 1022 EXPECT_EQ(0, observer_incognito.auth_supplied_count_); |
1007 EXPECT_EQ(0, observer_incognito.auth_cancelled_count_); | 1023 EXPECT_EQ(0, observer_incognito.auth_cancelled_count_); |
1008 EXPECT_TRUE(test_server()->Stop()); | 1024 EXPECT_TRUE(test_server()->Stop()); |
1009 } | 1025 } |
1010 | 1026 |
1011 } // namespace | 1027 } // namespace |
OLD | NEW |