OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/login/login_prompt.h" | 12 #include "chrome/browser/ui/login/login_prompt.h" |
13 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" | 13 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" |
14 #include "chrome/common/chrome_notification_types.h" | 14 #include "chrome/common/chrome_notification_types.h" |
15 #include "chrome/test/base/in_process_browser_test.h" | 15 #include "chrome/test/base/in_process_browser_test.h" |
16 #include "chrome/test/base/ui_test_utils.h" | 16 #include "chrome/test/base/ui_test_utils.h" |
17 #include "content/browser/renderer_host/resource_dispatcher_host.h" | 17 #include "content/browser/renderer_host/resource_dispatcher_host.h" |
| 18 #include "content/browser/tab_contents/tab_contents.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/test/test_browser_thread.h" | 21 #include "content/test/test_browser_thread.h" |
21 #include "net/base/auth.h" | 22 #include "net/base/auth.h" |
22 #include "net/base/mock_host_resolver.h" | 23 #include "net/base/mock_host_resolver.h" |
23 | 24 |
24 namespace { | 25 namespace { |
25 | 26 |
26 class LoginPromptBrowserTest : public InProcessBrowserTest { | 27 class LoginPromptBrowserTest : public InProcessBrowserTest { |
27 public: | 28 public: |
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
233 prerender::PrerenderManager::SetMode(old_mode_); | 234 prerender::PrerenderManager::SetMode(old_mode_); |
234 } | 235 } |
235 private: | 236 private: |
236 bool old_prefetch_state_; | 237 bool old_prefetch_state_; |
237 prerender::PrerenderManager::PrerenderManagerMode old_mode_; | 238 prerender::PrerenderManager::PrerenderManagerMode old_mode_; |
238 } set_prefetch_for_test(true); | 239 } set_prefetch_for_test(true); |
239 | 240 |
240 TabContentsWrapper* contents = | 241 TabContentsWrapper* contents = |
241 browser()->GetSelectedTabContentsWrapper(); | 242 browser()->GetSelectedTabContentsWrapper(); |
242 ASSERT_TRUE(contents); | 243 ASSERT_TRUE(contents); |
243 NavigationController* controller = &contents->controller(); | 244 NavigationController* controller = &contents->tab_contents()->controller(); |
244 LoginPromptBrowserTestObserver observer; | 245 LoginPromptBrowserTestObserver observer; |
245 | 246 |
246 observer.Register(content::Source<NavigationController>(controller)); | 247 observer.Register(content::Source<NavigationController>(controller)); |
247 | 248 |
248 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 249 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
249 browser()->OpenURL( | 250 browser()->OpenURL( |
250 test_page, GURL(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED); | 251 test_page, GURL(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED); |
251 | 252 |
252 load_stop_waiter.Wait(); | 253 load_stop_waiter.Wait(); |
253 EXPECT_TRUE(observer.handlers_.empty()); | 254 EXPECT_TRUE(observer.handlers_.empty()); |
254 EXPECT_TRUE(test_server()->Stop()); | 255 EXPECT_TRUE(test_server()->Stop()); |
255 } | 256 } |
256 | 257 |
257 // Test login prompt cancellation. | 258 // Test login prompt cancellation. |
258 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestCancelAuth) { | 259 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestCancelAuth) { |
259 ASSERT_TRUE(test_server()->Start()); | 260 ASSERT_TRUE(test_server()->Start()); |
260 GURL auth_page = test_server()->GetURL(kAuthBasicPage); | 261 GURL auth_page = test_server()->GetURL(kAuthBasicPage); |
261 GURL no_auth_page_1 = test_server()->GetURL("a"); | 262 GURL no_auth_page_1 = test_server()->GetURL("a"); |
262 GURL no_auth_page_2 = test_server()->GetURL("b"); | 263 GURL no_auth_page_2 = test_server()->GetURL("b"); |
263 GURL no_auth_page_3 = test_server()->GetURL("c"); | 264 GURL no_auth_page_3 = test_server()->GetURL("c"); |
264 | 265 |
265 TabContentsWrapper* contents = | 266 TabContentsWrapper* contents = |
266 browser()->GetSelectedTabContentsWrapper(); | 267 browser()->GetSelectedTabContentsWrapper(); |
267 ASSERT_TRUE(contents); | 268 ASSERT_TRUE(contents); |
268 | 269 |
269 NavigationController* controller = &contents->controller(); | 270 NavigationController* controller = &contents->tab_contents()->controller(); |
270 | 271 |
271 LoginPromptBrowserTestObserver observer; | 272 LoginPromptBrowserTestObserver observer; |
272 observer.Register(content::Source<NavigationController>(controller)); | 273 observer.Register(content::Source<NavigationController>(controller)); |
273 | 274 |
274 // First navigate to an unauthenticated page so we have something to | 275 // First navigate to an unauthenticated page so we have something to |
275 // go back to. | 276 // go back to. |
276 ui_test_utils::NavigateToURL(browser(), no_auth_page_1); | 277 ui_test_utils::NavigateToURL(browser(), no_auth_page_1); |
277 | 278 |
278 // Navigating while auth is requested is the same as cancelling. | 279 // Navigating while auth is requested is the same as cancelling. |
279 { | 280 { |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
354 // displaying the page. First we check whether cancelling works as | 355 // displaying the page. First we check whether cancelling works as |
355 // expected. | 356 // expected. |
356 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, MultipleRealmCancellation) { | 357 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, MultipleRealmCancellation) { |
357 ASSERT_TRUE(test_server()->Start()); | 358 ASSERT_TRUE(test_server()->Start()); |
358 GURL test_page = test_server()->GetURL(kMultiRealmTestPage); | 359 GURL test_page = test_server()->GetURL(kMultiRealmTestPage); |
359 | 360 |
360 TabContentsWrapper* contents = | 361 TabContentsWrapper* contents = |
361 browser()->GetSelectedTabContentsWrapper(); | 362 browser()->GetSelectedTabContentsWrapper(); |
362 ASSERT_TRUE(contents); | 363 ASSERT_TRUE(contents); |
363 | 364 |
364 NavigationController* controller = &contents->controller(); | 365 NavigationController* controller = &contents->tab_contents()->controller(); |
365 LoginPromptBrowserTestObserver observer; | 366 LoginPromptBrowserTestObserver observer; |
366 | 367 |
367 observer.Register(content::Source<NavigationController>(controller)); | 368 observer.Register(content::Source<NavigationController>(controller)); |
368 | 369 |
369 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 370 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
370 | 371 |
371 { | 372 { |
372 WindowedAuthNeededObserver auth_needed_waiter(controller); | 373 WindowedAuthNeededObserver auth_needed_waiter(controller); |
373 browser()->OpenURL( | 374 browser()->OpenURL( |
374 test_page, GURL(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED); | 375 test_page, GURL(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
406 // Similar to the MultipleRealmCancellation test above, but tests | 407 // Similar to the MultipleRealmCancellation test above, but tests |
407 // whether supplying credentials work as exepcted. | 408 // whether supplying credentials work as exepcted. |
408 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, MultipleRealmConfirmation) { | 409 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, MultipleRealmConfirmation) { |
409 ASSERT_TRUE(test_server()->Start()); | 410 ASSERT_TRUE(test_server()->Start()); |
410 GURL test_page = test_server()->GetURL(kMultiRealmTestPage); | 411 GURL test_page = test_server()->GetURL(kMultiRealmTestPage); |
411 | 412 |
412 TabContentsWrapper* contents = | 413 TabContentsWrapper* contents = |
413 browser()->GetSelectedTabContentsWrapper(); | 414 browser()->GetSelectedTabContentsWrapper(); |
414 ASSERT_TRUE(contents); | 415 ASSERT_TRUE(contents); |
415 | 416 |
416 NavigationController* controller = &contents->controller(); | 417 NavigationController* controller = &contents->tab_contents()->controller(); |
417 LoginPromptBrowserTestObserver observer; | 418 LoginPromptBrowserTestObserver observer; |
418 | 419 |
419 observer.Register(content::Source<NavigationController>(controller)); | 420 observer.Register(content::Source<NavigationController>(controller)); |
420 | 421 |
421 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 422 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
422 int n_handlers = 0; | 423 int n_handlers = 0; |
423 | 424 |
424 { | 425 { |
425 WindowedAuthNeededObserver auth_needed_waiter(controller); | 426 WindowedAuthNeededObserver auth_needed_waiter(controller); |
426 | 427 |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
458 // Testing for recovery from an incorrect password for the case where | 459 // Testing for recovery from an incorrect password for the case where |
459 // there are multiple authenticated resources. | 460 // there are multiple authenticated resources. |
460 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, IncorrectConfirmation) { | 461 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, IncorrectConfirmation) { |
461 ASSERT_TRUE(test_server()->Start()); | 462 ASSERT_TRUE(test_server()->Start()); |
462 GURL test_page = test_server()->GetURL(kSingleRealmTestPage); | 463 GURL test_page = test_server()->GetURL(kSingleRealmTestPage); |
463 | 464 |
464 TabContentsWrapper* contents = | 465 TabContentsWrapper* contents = |
465 browser()->GetSelectedTabContentsWrapper(); | 466 browser()->GetSelectedTabContentsWrapper(); |
466 ASSERT_TRUE(contents); | 467 ASSERT_TRUE(contents); |
467 | 468 |
468 NavigationController* controller = &contents->controller(); | 469 NavigationController* controller = &contents->tab_contents()->controller(); |
469 LoginPromptBrowserTestObserver observer; | 470 LoginPromptBrowserTestObserver observer; |
470 | 471 |
471 observer.Register(content::Source<NavigationController>(controller)); | 472 observer.Register(content::Source<NavigationController>(controller)); |
472 | 473 |
473 { | 474 { |
474 WindowedAuthNeededObserver auth_needed_waiter(controller); | 475 WindowedAuthNeededObserver auth_needed_waiter(controller); |
475 browser()->OpenURL( | 476 browser()->OpenURL( |
476 test_page, GURL(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED); | 477 test_page, GURL(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED); |
477 auth_needed_waiter.Wait(); | 478 auth_needed_waiter.Wait(); |
478 } | 479 } |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
529 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, NoLoginPromptForFavicon) { | 530 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, NoLoginPromptForFavicon) { |
530 const char* kFaviconTestPage = "files/login/has_favicon.html"; | 531 const char* kFaviconTestPage = "files/login/has_favicon.html"; |
531 const char* kFaviconResource = "auth-basic/favicon.gif"; | 532 const char* kFaviconResource = "auth-basic/favicon.gif"; |
532 | 533 |
533 ASSERT_TRUE(test_server()->Start()); | 534 ASSERT_TRUE(test_server()->Start()); |
534 | 535 |
535 TabContentsWrapper* contents = | 536 TabContentsWrapper* contents = |
536 browser()->GetSelectedTabContentsWrapper(); | 537 browser()->GetSelectedTabContentsWrapper(); |
537 ASSERT_TRUE(contents); | 538 ASSERT_TRUE(contents); |
538 | 539 |
539 NavigationController* controller = &contents->controller(); | 540 NavigationController* controller = &contents->tab_contents()->controller(); |
540 LoginPromptBrowserTestObserver observer; | 541 LoginPromptBrowserTestObserver observer; |
541 | 542 |
542 observer.Register(content::Source<NavigationController>(controller)); | 543 observer.Register(content::Source<NavigationController>(controller)); |
543 | 544 |
544 // First load a page that has a favicon that requires | 545 // First load a page that has a favicon that requires |
545 // authentication. There should be no login prompt. | 546 // authentication. There should be no login prompt. |
546 { | 547 { |
547 GURL test_page = test_server()->GetURL(kFaviconTestPage); | 548 GURL test_page = test_server()->GetURL(kFaviconTestPage); |
548 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 549 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
549 browser()->OpenURL( | 550 browser()->OpenURL( |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
584 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, BlockCrossdomainPrompt) { | 585 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, BlockCrossdomainPrompt) { |
585 const char* kTestPage = "files/login/load_img_from_b.html"; | 586 const char* kTestPage = "files/login/load_img_from_b.html"; |
586 | 587 |
587 host_resolver()->AddRule("www.a.com", "127.0.0.1"); | 588 host_resolver()->AddRule("www.a.com", "127.0.0.1"); |
588 host_resolver()->AddRule("www.b.com", "127.0.0.1"); | 589 host_resolver()->AddRule("www.b.com", "127.0.0.1"); |
589 ASSERT_TRUE(test_server()->Start()); | 590 ASSERT_TRUE(test_server()->Start()); |
590 | 591 |
591 TabContentsWrapper* contents = browser()->GetSelectedTabContentsWrapper(); | 592 TabContentsWrapper* contents = browser()->GetSelectedTabContentsWrapper(); |
592 ASSERT_TRUE(contents); | 593 ASSERT_TRUE(contents); |
593 | 594 |
594 NavigationController* controller = &contents->controller(); | 595 NavigationController* controller = &contents->tab_contents()->controller(); |
595 LoginPromptBrowserTestObserver observer; | 596 LoginPromptBrowserTestObserver observer; |
596 observer.Register(content::Source<NavigationController>(controller)); | 597 observer.Register(content::Source<NavigationController>(controller)); |
597 | 598 |
598 // Load a page that has a cross-domain sub-resource authentication. | 599 // Load a page that has a cross-domain sub-resource authentication. |
599 // There should be no login prompt. | 600 // There should be no login prompt. |
600 { | 601 { |
601 GURL test_page = test_server()->GetURL(kTestPage); | 602 GURL test_page = test_server()->GetURL(kTestPage); |
602 ASSERT_EQ("127.0.0.1", test_page.host()); | 603 ASSERT_EQ("127.0.0.1", test_page.host()); |
603 | 604 |
604 // Change the host from 127.0.0.1 to www.a.com so that when the | 605 // Change the host from 127.0.0.1 to www.a.com so that when the |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
649 EXPECT_TRUE(test_server()->Stop()); | 650 EXPECT_TRUE(test_server()->Stop()); |
650 } | 651 } |
651 | 652 |
652 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, SupplyRedundantAuths) { | 653 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, SupplyRedundantAuths) { |
653 ASSERT_TRUE(test_server()->Start()); | 654 ASSERT_TRUE(test_server()->Start()); |
654 | 655 |
655 // Get NavigationController for tab 1. | 656 // Get NavigationController for tab 1. |
656 TabContentsWrapper* contents_1 = | 657 TabContentsWrapper* contents_1 = |
657 browser()->GetSelectedTabContentsWrapper(); | 658 browser()->GetSelectedTabContentsWrapper(); |
658 ASSERT_TRUE(contents_1); | 659 ASSERT_TRUE(contents_1); |
659 NavigationController* controller_1 = &contents_1->controller(); | 660 NavigationController* controller_1 = |
| 661 &contents_1->tab_contents()->controller(); |
660 | 662 |
661 // Open a new tab. | 663 // Open a new tab. |
662 ui_test_utils::NavigateToURLWithDisposition( | 664 ui_test_utils::NavigateToURLWithDisposition( |
663 browser(), | 665 browser(), |
664 GURL("about:blank"), | 666 GURL("about:blank"), |
665 NEW_FOREGROUND_TAB, | 667 NEW_FOREGROUND_TAB, |
666 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); | 668 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); |
667 | 669 |
668 // Get NavigationController for tab 2. | 670 // Get NavigationController for tab 2. |
669 TabContentsWrapper* contents_2 = | 671 TabContentsWrapper* contents_2 = |
670 browser()->GetSelectedTabContentsWrapper(); | 672 browser()->GetSelectedTabContentsWrapper(); |
671 ASSERT_TRUE(contents_2); | 673 ASSERT_TRUE(contents_2); |
672 ASSERT_NE(contents_1, contents_2); | 674 ASSERT_NE(contents_1, contents_2); |
673 NavigationController* controller_2 = &contents_2->controller(); | 675 NavigationController* controller_2 = |
| 676 &contents_2->tab_contents()->controller(); |
674 | 677 |
675 LoginPromptBrowserTestObserver observer; | 678 LoginPromptBrowserTestObserver observer; |
676 observer.Register(content::Source<NavigationController>(controller_1)); | 679 observer.Register(content::Source<NavigationController>(controller_1)); |
677 observer.Register(content::Source<NavigationController>(controller_2)); | 680 observer.Register(content::Source<NavigationController>(controller_2)); |
678 | 681 |
679 { | 682 { |
680 // Open different auth urls in each tab. | 683 // Open different auth urls in each tab. |
681 WindowedAuthNeededObserver auth_needed_waiter_1(controller_1); | 684 WindowedAuthNeededObserver auth_needed_waiter_1(controller_1); |
682 WindowedAuthNeededObserver auth_needed_waiter_2(controller_2); | 685 WindowedAuthNeededObserver auth_needed_waiter_2(controller_2); |
683 contents_1->tab_contents()->OpenURL(OpenURLParams( | 686 contents_1->tab_contents()->OpenURL(OpenURLParams( |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
715 EXPECT_TRUE(test_server()->Stop()); | 718 EXPECT_TRUE(test_server()->Stop()); |
716 } | 719 } |
717 | 720 |
718 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, CancelRedundantAuths) { | 721 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, CancelRedundantAuths) { |
719 ASSERT_TRUE(test_server()->Start()); | 722 ASSERT_TRUE(test_server()->Start()); |
720 | 723 |
721 // Get NavigationController for tab 1. | 724 // Get NavigationController for tab 1. |
722 TabContentsWrapper* contents_1 = | 725 TabContentsWrapper* contents_1 = |
723 browser()->GetSelectedTabContentsWrapper(); | 726 browser()->GetSelectedTabContentsWrapper(); |
724 ASSERT_TRUE(contents_1); | 727 ASSERT_TRUE(contents_1); |
725 NavigationController* controller_1 = &contents_1->controller(); | 728 NavigationController* controller_1 = |
| 729 &contents_1->tab_contents()->controller(); |
726 | 730 |
727 // Open a new tab. | 731 // Open a new tab. |
728 ui_test_utils::NavigateToURLWithDisposition( | 732 ui_test_utils::NavigateToURLWithDisposition( |
729 browser(), | 733 browser(), |
730 GURL("about:blank"), | 734 GURL("about:blank"), |
731 NEW_FOREGROUND_TAB, | 735 NEW_FOREGROUND_TAB, |
732 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); | 736 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); |
733 | 737 |
734 // Get NavigationController for tab 2. | 738 // Get NavigationController for tab 2. |
735 TabContentsWrapper* contents_2 = | 739 TabContentsWrapper* contents_2 = |
736 browser()->GetSelectedTabContentsWrapper(); | 740 browser()->GetSelectedTabContentsWrapper(); |
737 ASSERT_TRUE(contents_2); | 741 ASSERT_TRUE(contents_2); |
738 ASSERT_NE(contents_1, contents_2); | 742 ASSERT_NE(contents_1, contents_2); |
739 NavigationController* controller_2 = &contents_2->controller(); | 743 NavigationController* controller_2 = |
| 744 &contents_2->tab_contents()->controller(); |
740 | 745 |
741 LoginPromptBrowserTestObserver observer; | 746 LoginPromptBrowserTestObserver observer; |
742 observer.Register(content::Source<NavigationController>(controller_1)); | 747 observer.Register(content::Source<NavigationController>(controller_1)); |
743 observer.Register(content::Source<NavigationController>(controller_2)); | 748 observer.Register(content::Source<NavigationController>(controller_2)); |
744 | 749 |
745 { | 750 { |
746 // Open different auth urls in each tab. | 751 // Open different auth urls in each tab. |
747 WindowedAuthNeededObserver auth_needed_waiter_1(controller_1); | 752 WindowedAuthNeededObserver auth_needed_waiter_1(controller_1); |
748 WindowedAuthNeededObserver auth_needed_waiter_2(controller_2); | 753 WindowedAuthNeededObserver auth_needed_waiter_2(controller_2); |
749 contents_1->tab_contents()->OpenURL(OpenURLParams( | 754 contents_1->tab_contents()->OpenURL(OpenURLParams( |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
782 } | 787 } |
783 | 788 |
784 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, | 789 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, |
785 SupplyRedundantAuthsMultiProfile) { | 790 SupplyRedundantAuthsMultiProfile) { |
786 ASSERT_TRUE(test_server()->Start()); | 791 ASSERT_TRUE(test_server()->Start()); |
787 | 792 |
788 // Get NavigationController for regular tab. | 793 // Get NavigationController for regular tab. |
789 TabContentsWrapper* contents = | 794 TabContentsWrapper* contents = |
790 browser()->GetSelectedTabContentsWrapper(); | 795 browser()->GetSelectedTabContentsWrapper(); |
791 ASSERT_TRUE(contents); | 796 ASSERT_TRUE(contents); |
792 NavigationController* controller = &contents->controller(); | 797 NavigationController* controller = &contents->tab_contents()->controller(); |
793 | 798 |
794 // Open an incognito window. | 799 // Open an incognito window. |
795 Browser* browser_incognito = CreateIncognitoBrowser(); | 800 Browser* browser_incognito = CreateIncognitoBrowser(); |
796 | 801 |
797 // Get NavigationController for incognito tab. | 802 // Get NavigationController for incognito tab. |
798 TabContentsWrapper* contents_incognito = | 803 TabContentsWrapper* contents_incognito = |
799 browser_incognito->GetSelectedTabContentsWrapper(); | 804 browser_incognito->GetSelectedTabContentsWrapper(); |
800 ASSERT_TRUE(contents_incognito); | 805 ASSERT_TRUE(contents_incognito); |
801 ASSERT_NE(contents, contents_incognito); | 806 ASSERT_NE(contents, contents_incognito); |
802 NavigationController* controller_incognito = | 807 NavigationController* controller_incognito = |
803 &contents_incognito->controller(); | 808 &contents_incognito->tab_contents()->controller(); |
804 | 809 |
805 LoginPromptBrowserTestObserver observer; | 810 LoginPromptBrowserTestObserver observer; |
806 observer.Register(content::Source<NavigationController>(controller)); | 811 observer.Register(content::Source<NavigationController>(controller)); |
807 LoginPromptBrowserTestObserver observer_incognito; | 812 LoginPromptBrowserTestObserver observer_incognito; |
808 observer_incognito.Register( | 813 observer_incognito.Register( |
809 content::Source<NavigationController>(controller_incognito)); | 814 content::Source<NavigationController>(controller_incognito)); |
810 | 815 |
811 { | 816 { |
812 // Open an auth url in each window. | 817 // Open an auth url in each window. |
813 WindowedAuthNeededObserver auth_needed_waiter(controller); | 818 WindowedAuthNeededObserver auth_needed_waiter(controller); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
850 EXPECT_EQ(1, observer.auth_needed_count_); | 855 EXPECT_EQ(1, observer.auth_needed_count_); |
851 EXPECT_EQ(1, observer.auth_supplied_count_); | 856 EXPECT_EQ(1, observer.auth_supplied_count_); |
852 EXPECT_EQ(0, observer.auth_cancelled_count_); | 857 EXPECT_EQ(0, observer.auth_cancelled_count_); |
853 EXPECT_EQ(1, observer_incognito.auth_needed_count_); | 858 EXPECT_EQ(1, observer_incognito.auth_needed_count_); |
854 EXPECT_EQ(0, observer_incognito.auth_supplied_count_); | 859 EXPECT_EQ(0, observer_incognito.auth_supplied_count_); |
855 EXPECT_EQ(0, observer_incognito.auth_cancelled_count_); | 860 EXPECT_EQ(0, observer_incognito.auth_cancelled_count_); |
856 EXPECT_TRUE(test_server()->Stop()); | 861 EXPECT_TRUE(test_server()->Stop()); |
857 } | 862 } |
858 | 863 |
859 } // namespace | 864 } // namespace |
OLD | NEW |