| 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 |