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

Side by Side Diff: chrome/browser/ui/login/login_prompt_browsertest.cc

Issue 8983012: Get rid of content::NavigationController in cc file and use "using" instead. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/ui/login/login_prompt.cc ('k') | chrome/browser/ui/pdf/pdf_browsertest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/browser/tab_contents/tab_contents.h"
19 #include "content/public/browser/notification_details.h" 19 #include "content/public/browser/notification_details.h"
20 #include "content/public/browser/notification_source.h" 20 #include "content/public/browser/notification_source.h"
21 #include "content/test/test_browser_thread.h" 21 #include "content/test/test_browser_thread.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
25 using content::NavigationController;
25 using content::OpenURLParams; 26 using content::OpenURLParams;
26 using content::Referrer; 27 using content::Referrer;
27 28
28 namespace { 29 namespace {
29 30
30 class LoginPromptBrowserTest : public InProcessBrowserTest { 31 class LoginPromptBrowserTest : public InProcessBrowserTest {
31 public: 32 public:
32 LoginPromptBrowserTest() 33 LoginPromptBrowserTest()
33 : bad_password_("incorrect"), bad_username_("nouser") { 34 : bad_password_("incorrect"), bad_username_("nouser") {
34 set_show_window(true); 35 set_show_window(true);
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 const content::NotificationSource& source) { 152 const content::NotificationSource& source) {
152 registrar_.Add(this, chrome::NOTIFICATION_AUTH_NEEDED, source); 153 registrar_.Add(this, chrome::NOTIFICATION_AUTH_NEEDED, source);
153 registrar_.Add(this, chrome::NOTIFICATION_AUTH_SUPPLIED, source); 154 registrar_.Add(this, chrome::NOTIFICATION_AUTH_SUPPLIED, source);
154 registrar_.Add(this, chrome::NOTIFICATION_AUTH_CANCELLED, source); 155 registrar_.Add(this, chrome::NOTIFICATION_AUTH_CANCELLED, source);
155 } 156 }
156 157
157 template <int T> 158 template <int T>
158 class WindowedNavigationObserver 159 class WindowedNavigationObserver
159 : public ui_test_utils::WindowedNotificationObserver { 160 : public ui_test_utils::WindowedNotificationObserver {
160 public: 161 public:
161 explicit WindowedNavigationObserver(content::NavigationController* controller) 162 explicit WindowedNavigationObserver(NavigationController* controller)
162 : ui_test_utils::WindowedNotificationObserver( 163 : ui_test_utils::WindowedNotificationObserver(
163 T, content::Source<content::NavigationController>(controller)) {} 164 T, content::Source<NavigationController>(controller)) {}
164 }; 165 };
165 166
166 // LOAD_STOP observer is special since we want to be able to wait for 167 // LOAD_STOP observer is special since we want to be able to wait for
167 // multiple LOAD_STOP events. 168 // multiple LOAD_STOP events.
168 class WindowedLoadStopObserver 169 class WindowedLoadStopObserver
169 : public WindowedNavigationObserver<content::NOTIFICATION_LOAD_STOP> { 170 : public WindowedNavigationObserver<content::NOTIFICATION_LOAD_STOP> {
170 public: 171 public:
171 WindowedLoadStopObserver(content::NavigationController* controller, 172 WindowedLoadStopObserver(NavigationController* controller,
172 int notification_count) 173 int notification_count)
173 : WindowedNavigationObserver<content::NOTIFICATION_LOAD_STOP>(controller), 174 : WindowedNavigationObserver<content::NOTIFICATION_LOAD_STOP>(controller),
174 remaining_notification_count_(notification_count) {} 175 remaining_notification_count_(notification_count) {}
175 protected: 176 protected:
176 virtual void Observe(int type, 177 virtual void Observe(int type,
177 const content::NotificationSource& source, 178 const content::NotificationSource& source,
178 const content::NotificationDetails& details) OVERRIDE; 179 const content::NotificationDetails& details) OVERRIDE;
179 private: 180 private:
180 int remaining_notification_count_; // Number of notifications remaining. 181 int remaining_notification_count_; // Number of notifications remaining.
181 }; 182 };
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 prerender::PrerenderManager::SetMode(old_mode_); 238 prerender::PrerenderManager::SetMode(old_mode_);
238 } 239 }
239 private: 240 private:
240 bool old_prefetch_state_; 241 bool old_prefetch_state_;
241 prerender::PrerenderManager::PrerenderManagerMode old_mode_; 242 prerender::PrerenderManager::PrerenderManagerMode old_mode_;
242 } set_prefetch_for_test(true); 243 } set_prefetch_for_test(true);
243 244
244 TabContentsWrapper* contents = 245 TabContentsWrapper* contents =
245 browser()->GetSelectedTabContentsWrapper(); 246 browser()->GetSelectedTabContentsWrapper();
246 ASSERT_TRUE(contents); 247 ASSERT_TRUE(contents);
247 content::NavigationController* controller = 248 NavigationController* controller = &contents->web_contents()->GetController();
248 &contents->web_contents()->GetController();
249 LoginPromptBrowserTestObserver observer; 249 LoginPromptBrowserTestObserver observer;
250 250
251 observer.Register(content::Source<content::NavigationController>(controller)); 251 observer.Register(content::Source<NavigationController>(controller));
252 252
253 WindowedLoadStopObserver load_stop_waiter(controller, 1); 253 WindowedLoadStopObserver load_stop_waiter(controller, 1);
254 browser()->OpenURL(OpenURLParams( 254 browser()->OpenURL(OpenURLParams(
255 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, 255 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED,
256 false)); 256 false));
257 257
258 load_stop_waiter.Wait(); 258 load_stop_waiter.Wait();
259 EXPECT_TRUE(observer.handlers_.empty()); 259 EXPECT_TRUE(observer.handlers_.empty());
260 EXPECT_TRUE(test_server()->Stop()); 260 EXPECT_TRUE(test_server()->Stop());
261 } 261 }
262 262
263 // Test login prompt cancellation. 263 // Test login prompt cancellation.
264 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestCancelAuth) { 264 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestCancelAuth) {
265 ASSERT_TRUE(test_server()->Start()); 265 ASSERT_TRUE(test_server()->Start());
266 GURL auth_page = test_server()->GetURL(kAuthBasicPage); 266 GURL auth_page = test_server()->GetURL(kAuthBasicPage);
267 GURL no_auth_page_1 = test_server()->GetURL("a"); 267 GURL no_auth_page_1 = test_server()->GetURL("a");
268 GURL no_auth_page_2 = test_server()->GetURL("b"); 268 GURL no_auth_page_2 = test_server()->GetURL("b");
269 GURL no_auth_page_3 = test_server()->GetURL("c"); 269 GURL no_auth_page_3 = test_server()->GetURL("c");
270 270
271 TabContentsWrapper* contents = 271 TabContentsWrapper* contents =
272 browser()->GetSelectedTabContentsWrapper(); 272 browser()->GetSelectedTabContentsWrapper();
273 ASSERT_TRUE(contents); 273 ASSERT_TRUE(contents);
274 274
275 content::NavigationController* controller = 275 NavigationController* controller = &contents->web_contents()->GetController();
276 &contents->web_contents()->GetController();
277 276
278 LoginPromptBrowserTestObserver observer; 277 LoginPromptBrowserTestObserver observer;
279 observer.Register(content::Source<content::NavigationController>(controller)); 278 observer.Register(content::Source<NavigationController>(controller));
280 279
281 // First navigate to an unauthenticated page so we have something to 280 // First navigate to an unauthenticated page so we have something to
282 // go back to. 281 // go back to.
283 ui_test_utils::NavigateToURL(browser(), no_auth_page_1); 282 ui_test_utils::NavigateToURL(browser(), no_auth_page_1);
284 283
285 // Navigating while auth is requested is the same as cancelling. 284 // Navigating while auth is requested is the same as cancelling.
286 { 285 {
287 // We need to wait for two LOAD_STOP events. One for auth_page and one for 286 // We need to wait for two LOAD_STOP events. One for auth_page and one for
288 // no_auth_page_2. 287 // no_auth_page_2.
289 WindowedLoadStopObserver load_stop_waiter(controller, 2); 288 WindowedLoadStopObserver load_stop_waiter(controller, 2);
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 // displaying the page. First we check whether cancelling works as 364 // displaying the page. First we check whether cancelling works as
366 // expected. 365 // expected.
367 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, MultipleRealmCancellation) { 366 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, MultipleRealmCancellation) {
368 ASSERT_TRUE(test_server()->Start()); 367 ASSERT_TRUE(test_server()->Start());
369 GURL test_page = test_server()->GetURL(kMultiRealmTestPage); 368 GURL test_page = test_server()->GetURL(kMultiRealmTestPage);
370 369
371 TabContentsWrapper* contents = 370 TabContentsWrapper* contents =
372 browser()->GetSelectedTabContentsWrapper(); 371 browser()->GetSelectedTabContentsWrapper();
373 ASSERT_TRUE(contents); 372 ASSERT_TRUE(contents);
374 373
375 content::NavigationController* controller = 374 NavigationController* controller = &contents->web_contents()->GetController();
376 &contents->web_contents()->GetController();
377 LoginPromptBrowserTestObserver observer; 375 LoginPromptBrowserTestObserver observer;
378 376
379 observer.Register(content::Source<content::NavigationController>(controller)); 377 observer.Register(content::Source<NavigationController>(controller));
380 378
381 WindowedLoadStopObserver load_stop_waiter(controller, 1); 379 WindowedLoadStopObserver load_stop_waiter(controller, 1);
382 380
383 { 381 {
384 WindowedAuthNeededObserver auth_needed_waiter(controller); 382 WindowedAuthNeededObserver auth_needed_waiter(controller);
385 browser()->OpenURL(OpenURLParams( 383 browser()->OpenURL(OpenURLParams(
386 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, 384 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED,
387 false)); 385 false));
388 auth_needed_waiter.Wait(); 386 auth_needed_waiter.Wait();
389 } 387 }
(...skipping 29 matching lines...) Expand all
419 // Similar to the MultipleRealmCancellation test above, but tests 417 // Similar to the MultipleRealmCancellation test above, but tests
420 // whether supplying credentials work as exepcted. 418 // whether supplying credentials work as exepcted.
421 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, MultipleRealmConfirmation) { 419 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, MultipleRealmConfirmation) {
422 ASSERT_TRUE(test_server()->Start()); 420 ASSERT_TRUE(test_server()->Start());
423 GURL test_page = test_server()->GetURL(kMultiRealmTestPage); 421 GURL test_page = test_server()->GetURL(kMultiRealmTestPage);
424 422
425 TabContentsWrapper* contents = 423 TabContentsWrapper* contents =
426 browser()->GetSelectedTabContentsWrapper(); 424 browser()->GetSelectedTabContentsWrapper();
427 ASSERT_TRUE(contents); 425 ASSERT_TRUE(contents);
428 426
429 content::NavigationController* controller = 427 NavigationController* controller = &contents->web_contents()->GetController();
430 &contents->web_contents()->GetController();
431 LoginPromptBrowserTestObserver observer; 428 LoginPromptBrowserTestObserver observer;
432 429
433 observer.Register(content::Source<content::NavigationController>(controller)); 430 observer.Register(content::Source<NavigationController>(controller));
434 431
435 WindowedLoadStopObserver load_stop_waiter(controller, 1); 432 WindowedLoadStopObserver load_stop_waiter(controller, 1);
436 int n_handlers = 0; 433 int n_handlers = 0;
437 434
438 { 435 {
439 WindowedAuthNeededObserver auth_needed_waiter(controller); 436 WindowedAuthNeededObserver auth_needed_waiter(controller);
440 437
441 browser()->OpenURL(OpenURLParams( 438 browser()->OpenURL(OpenURLParams(
442 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, 439 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED,
443 false)); 440 false));
(...skipping 29 matching lines...) Expand all
473 // Testing for recovery from an incorrect password for the case where 470 // Testing for recovery from an incorrect password for the case where
474 // there are multiple authenticated resources. 471 // there are multiple authenticated resources.
475 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, IncorrectConfirmation) { 472 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, IncorrectConfirmation) {
476 ASSERT_TRUE(test_server()->Start()); 473 ASSERT_TRUE(test_server()->Start());
477 GURL test_page = test_server()->GetURL(kSingleRealmTestPage); 474 GURL test_page = test_server()->GetURL(kSingleRealmTestPage);
478 475
479 TabContentsWrapper* contents = 476 TabContentsWrapper* contents =
480 browser()->GetSelectedTabContentsWrapper(); 477 browser()->GetSelectedTabContentsWrapper();
481 ASSERT_TRUE(contents); 478 ASSERT_TRUE(contents);
482 479
483 content::NavigationController* controller = 480 NavigationController* controller = &contents->web_contents()->GetController();
484 &contents->web_contents()->GetController();
485 LoginPromptBrowserTestObserver observer; 481 LoginPromptBrowserTestObserver observer;
486 482
487 observer.Register(content::Source<content::NavigationController>(controller)); 483 observer.Register(content::Source<NavigationController>(controller));
488 484
489 { 485 {
490 WindowedAuthNeededObserver auth_needed_waiter(controller); 486 WindowedAuthNeededObserver auth_needed_waiter(controller);
491 browser()->OpenURL(OpenURLParams( 487 browser()->OpenURL(OpenURLParams(
492 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, 488 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED,
493 false)); 489 false));
494 auth_needed_waiter.Wait(); 490 auth_needed_waiter.Wait();
495 } 491 }
496 492
497 EXPECT_FALSE(observer.handlers_.empty()); 493 EXPECT_FALSE(observer.handlers_.empty());
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
546 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, NoLoginPromptForFavicon) { 542 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, NoLoginPromptForFavicon) {
547 const char* kFaviconTestPage = "files/login/has_favicon.html"; 543 const char* kFaviconTestPage = "files/login/has_favicon.html";
548 const char* kFaviconResource = "auth-basic/favicon.gif"; 544 const char* kFaviconResource = "auth-basic/favicon.gif";
549 545
550 ASSERT_TRUE(test_server()->Start()); 546 ASSERT_TRUE(test_server()->Start());
551 547
552 TabContentsWrapper* contents = 548 TabContentsWrapper* contents =
553 browser()->GetSelectedTabContentsWrapper(); 549 browser()->GetSelectedTabContentsWrapper();
554 ASSERT_TRUE(contents); 550 ASSERT_TRUE(contents);
555 551
556 content::NavigationController* controller = 552 NavigationController* controller = &contents->web_contents()->GetController();
557 &contents->web_contents()->GetController();
558 LoginPromptBrowserTestObserver observer; 553 LoginPromptBrowserTestObserver observer;
559 554
560 observer.Register(content::Source<content::NavigationController>(controller)); 555 observer.Register(content::Source<NavigationController>(controller));
561 556
562 // First load a page that has a favicon that requires 557 // First load a page that has a favicon that requires
563 // authentication. There should be no login prompt. 558 // authentication. There should be no login prompt.
564 { 559 {
565 GURL test_page = test_server()->GetURL(kFaviconTestPage); 560 GURL test_page = test_server()->GetURL(kFaviconTestPage);
566 WindowedLoadStopObserver load_stop_waiter(controller, 1); 561 WindowedLoadStopObserver load_stop_waiter(controller, 1);
567 browser()->OpenURL(OpenURLParams( 562 browser()->OpenURL(OpenURLParams(
568 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, 563 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED,
569 false)); 564 false));
570 load_stop_waiter.Wait(); 565 load_stop_waiter.Wait();
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
604 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, BlockCrossdomainPrompt) { 599 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, BlockCrossdomainPrompt) {
605 const char* kTestPage = "files/login/load_img_from_b.html"; 600 const char* kTestPage = "files/login/load_img_from_b.html";
606 601
607 host_resolver()->AddRule("www.a.com", "127.0.0.1"); 602 host_resolver()->AddRule("www.a.com", "127.0.0.1");
608 host_resolver()->AddRule("www.b.com", "127.0.0.1"); 603 host_resolver()->AddRule("www.b.com", "127.0.0.1");
609 ASSERT_TRUE(test_server()->Start()); 604 ASSERT_TRUE(test_server()->Start());
610 605
611 TabContentsWrapper* contents = browser()->GetSelectedTabContentsWrapper(); 606 TabContentsWrapper* contents = browser()->GetSelectedTabContentsWrapper();
612 ASSERT_TRUE(contents); 607 ASSERT_TRUE(contents);
613 608
614 content::NavigationController* controller = 609 NavigationController* controller = &contents->web_contents()->GetController();
615 &contents->web_contents()->GetController();
616 LoginPromptBrowserTestObserver observer; 610 LoginPromptBrowserTestObserver observer;
617 observer.Register(content::Source<content::NavigationController>(controller)); 611 observer.Register(content::Source<NavigationController>(controller));
618 612
619 // Load a page that has a cross-domain sub-resource authentication. 613 // Load a page that has a cross-domain sub-resource authentication.
620 // There should be no login prompt. 614 // There should be no login prompt.
621 { 615 {
622 GURL test_page = test_server()->GetURL(kTestPage); 616 GURL test_page = test_server()->GetURL(kTestPage);
623 ASSERT_EQ("127.0.0.1", test_page.host()); 617 ASSERT_EQ("127.0.0.1", test_page.host());
624 618
625 // Change the host from 127.0.0.1 to www.a.com so that when the 619 // Change the host from 127.0.0.1 to www.a.com so that when the
626 // page tries to load from b, it will be cross-origin. 620 // page tries to load from b, it will be cross-origin.
627 std::string new_host("www.a.com"); 621 std::string new_host("www.a.com");
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
672 EXPECT_TRUE(test_server()->Stop()); 666 EXPECT_TRUE(test_server()->Stop());
673 } 667 }
674 668
675 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, SupplyRedundantAuths) { 669 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, SupplyRedundantAuths) {
676 ASSERT_TRUE(test_server()->Start()); 670 ASSERT_TRUE(test_server()->Start());
677 671
678 // Get NavigationController for tab 1. 672 // Get NavigationController for tab 1.
679 TabContentsWrapper* contents_1 = 673 TabContentsWrapper* contents_1 =
680 browser()->GetSelectedTabContentsWrapper(); 674 browser()->GetSelectedTabContentsWrapper();
681 ASSERT_TRUE(contents_1); 675 ASSERT_TRUE(contents_1);
682 content::NavigationController* controller_1 = 676 NavigationController* controller_1 =
683 &contents_1->web_contents()->GetController(); 677 &contents_1->web_contents()->GetController();
684 678
685 // Open a new tab. 679 // Open a new tab.
686 ui_test_utils::NavigateToURLWithDisposition( 680 ui_test_utils::NavigateToURLWithDisposition(
687 browser(), 681 browser(),
688 GURL("about:blank"), 682 GURL("about:blank"),
689 NEW_FOREGROUND_TAB, 683 NEW_FOREGROUND_TAB,
690 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); 684 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB);
691 685
692 // Get NavigationController for tab 2. 686 // Get NavigationController for tab 2.
693 TabContentsWrapper* contents_2 = 687 TabContentsWrapper* contents_2 =
694 browser()->GetSelectedTabContentsWrapper(); 688 browser()->GetSelectedTabContentsWrapper();
695 ASSERT_TRUE(contents_2); 689 ASSERT_TRUE(contents_2);
696 ASSERT_NE(contents_1, contents_2); 690 ASSERT_NE(contents_1, contents_2);
697 content::NavigationController* controller_2 = 691 NavigationController* controller_2 =
698 &contents_2->web_contents()->GetController(); 692 &contents_2->web_contents()->GetController();
699 693
700 LoginPromptBrowserTestObserver observer; 694 LoginPromptBrowserTestObserver observer;
701 observer.Register(content::Source<content::NavigationController>( 695 observer.Register(content::Source<NavigationController>(controller_1));
702 controller_1)); 696 observer.Register(content::Source<NavigationController>(controller_2));
703 observer.Register(content::Source<content::NavigationController>(
704 controller_2));
705 697
706 { 698 {
707 // Open different auth urls in each tab. 699 // Open different auth urls in each tab.
708 WindowedAuthNeededObserver auth_needed_waiter_1(controller_1); 700 WindowedAuthNeededObserver auth_needed_waiter_1(controller_1);
709 WindowedAuthNeededObserver auth_needed_waiter_2(controller_2); 701 WindowedAuthNeededObserver auth_needed_waiter_2(controller_2);
710 contents_1->tab_contents()->OpenURL(OpenURLParams( 702 contents_1->tab_contents()->OpenURL(OpenURLParams(
711 test_server()->GetURL("auth-basic/1"), 703 test_server()->GetURL("auth-basic/1"),
712 content::Referrer(), 704 content::Referrer(),
713 CURRENT_TAB, 705 CURRENT_TAB,
714 content::PAGE_TRANSITION_TYPED, 706 content::PAGE_TRANSITION_TYPED,
(...skipping 27 matching lines...) Expand all
742 EXPECT_TRUE(test_server()->Stop()); 734 EXPECT_TRUE(test_server()->Stop());
743 } 735 }
744 736
745 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, CancelRedundantAuths) { 737 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, CancelRedundantAuths) {
746 ASSERT_TRUE(test_server()->Start()); 738 ASSERT_TRUE(test_server()->Start());
747 739
748 // Get NavigationController for tab 1. 740 // Get NavigationController for tab 1.
749 TabContentsWrapper* contents_1 = 741 TabContentsWrapper* contents_1 =
750 browser()->GetSelectedTabContentsWrapper(); 742 browser()->GetSelectedTabContentsWrapper();
751 ASSERT_TRUE(contents_1); 743 ASSERT_TRUE(contents_1);
752 content::NavigationController* controller_1 = 744 NavigationController* controller_1 =
753 &contents_1->web_contents()->GetController(); 745 &contents_1->web_contents()->GetController();
754 746
755 // Open a new tab. 747 // Open a new tab.
756 ui_test_utils::NavigateToURLWithDisposition( 748 ui_test_utils::NavigateToURLWithDisposition(
757 browser(), 749 browser(),
758 GURL("about:blank"), 750 GURL("about:blank"),
759 NEW_FOREGROUND_TAB, 751 NEW_FOREGROUND_TAB,
760 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); 752 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB);
761 753
762 // Get NavigationController for tab 2. 754 // Get NavigationController for tab 2.
763 TabContentsWrapper* contents_2 = 755 TabContentsWrapper* contents_2 =
764 browser()->GetSelectedTabContentsWrapper(); 756 browser()->GetSelectedTabContentsWrapper();
765 ASSERT_TRUE(contents_2); 757 ASSERT_TRUE(contents_2);
766 ASSERT_NE(contents_1, contents_2); 758 ASSERT_NE(contents_1, contents_2);
767 content::NavigationController* controller_2 = 759 NavigationController* controller_2 =
768 &contents_2->web_contents()->GetController(); 760 &contents_2->web_contents()->GetController();
769 761
770 LoginPromptBrowserTestObserver observer; 762 LoginPromptBrowserTestObserver observer;
771 observer.Register(content::Source<content::NavigationController>( 763 observer.Register(content::Source<NavigationController>(controller_1));
772 controller_1)); 764 observer.Register(content::Source<NavigationController>(controller_2));
773 observer.Register(content::Source<content::NavigationController>(
774 controller_2));
775 765
776 { 766 {
777 // Open different auth urls in each tab. 767 // Open different auth urls in each tab.
778 WindowedAuthNeededObserver auth_needed_waiter_1(controller_1); 768 WindowedAuthNeededObserver auth_needed_waiter_1(controller_1);
779 WindowedAuthNeededObserver auth_needed_waiter_2(controller_2); 769 WindowedAuthNeededObserver auth_needed_waiter_2(controller_2);
780 contents_1->tab_contents()->OpenURL(OpenURLParams( 770 contents_1->tab_contents()->OpenURL(OpenURLParams(
781 test_server()->GetURL("auth-basic/1"), 771 test_server()->GetURL("auth-basic/1"),
782 content::Referrer(), 772 content::Referrer(),
783 CURRENT_TAB, 773 CURRENT_TAB,
784 content::PAGE_TRANSITION_TYPED, 774 content::PAGE_TRANSITION_TYPED,
(...skipping 28 matching lines...) Expand all
813 } 803 }
814 804
815 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, 805 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest,
816 SupplyRedundantAuthsMultiProfile) { 806 SupplyRedundantAuthsMultiProfile) {
817 ASSERT_TRUE(test_server()->Start()); 807 ASSERT_TRUE(test_server()->Start());
818 808
819 // Get NavigationController for regular tab. 809 // Get NavigationController for regular tab.
820 TabContentsWrapper* contents = 810 TabContentsWrapper* contents =
821 browser()->GetSelectedTabContentsWrapper(); 811 browser()->GetSelectedTabContentsWrapper();
822 ASSERT_TRUE(contents); 812 ASSERT_TRUE(contents);
823 content::NavigationController* controller = 813 NavigationController* controller = &contents->web_contents()->GetController();
824 &contents->web_contents()->GetController();
825 814
826 // Open an incognito window. 815 // Open an incognito window.
827 Browser* browser_incognito = CreateIncognitoBrowser(); 816 Browser* browser_incognito = CreateIncognitoBrowser();
828 817
829 // Get NavigationController for incognito tab. 818 // Get NavigationController for incognito tab.
830 TabContentsWrapper* contents_incognito = 819 TabContentsWrapper* contents_incognito =
831 browser_incognito->GetSelectedTabContentsWrapper(); 820 browser_incognito->GetSelectedTabContentsWrapper();
832 ASSERT_TRUE(contents_incognito); 821 ASSERT_TRUE(contents_incognito);
833 ASSERT_NE(contents, contents_incognito); 822 ASSERT_NE(contents, contents_incognito);
834 content::NavigationController* controller_incognito = 823 NavigationController* controller_incognito =
835 &contents_incognito->web_contents()->GetController(); 824 &contents_incognito->web_contents()->GetController();
836 825
837 LoginPromptBrowserTestObserver observer; 826 LoginPromptBrowserTestObserver observer;
838 observer.Register(content::Source<content::NavigationController>(controller)); 827 observer.Register(content::Source<NavigationController>(controller));
839 LoginPromptBrowserTestObserver observer_incognito; 828 LoginPromptBrowserTestObserver observer_incognito;
840 observer_incognito.Register( 829 observer_incognito.Register(
841 content::Source<content::NavigationController>(controller_incognito)); 830 content::Source<NavigationController>(controller_incognito));
842 831
843 { 832 {
844 // Open an auth url in each window. 833 // Open an auth url in each window.
845 WindowedAuthNeededObserver auth_needed_waiter(controller); 834 WindowedAuthNeededObserver auth_needed_waiter(controller);
846 WindowedAuthNeededObserver auth_needed_waiter_incognito( 835 WindowedAuthNeededObserver auth_needed_waiter_incognito(
847 controller_incognito); 836 controller_incognito);
848 contents->tab_contents()->OpenURL(OpenURLParams( 837 contents->tab_contents()->OpenURL(OpenURLParams(
849 test_server()->GetURL("auth-basic/1"), 838 test_server()->GetURL("auth-basic/1"),
850 content::Referrer(), 839 content::Referrer(),
851 CURRENT_TAB, 840 CURRENT_TAB,
(...skipping 30 matching lines...) Expand all
882 EXPECT_EQ(1, observer.auth_needed_count_); 871 EXPECT_EQ(1, observer.auth_needed_count_);
883 EXPECT_EQ(1, observer.auth_supplied_count_); 872 EXPECT_EQ(1, observer.auth_supplied_count_);
884 EXPECT_EQ(0, observer.auth_cancelled_count_); 873 EXPECT_EQ(0, observer.auth_cancelled_count_);
885 EXPECT_EQ(1, observer_incognito.auth_needed_count_); 874 EXPECT_EQ(1, observer_incognito.auth_needed_count_);
886 EXPECT_EQ(0, observer_incognito.auth_supplied_count_); 875 EXPECT_EQ(0, observer_incognito.auth_supplied_count_);
887 EXPECT_EQ(0, observer_incognito.auth_cancelled_count_); 876 EXPECT_EQ(0, observer_incognito.auth_cancelled_count_);
888 EXPECT_TRUE(test_server()->Stop()); 877 EXPECT_TRUE(test_server()->Stop());
889 } 878 }
890 879
891 } // namespace 880 } // namespace
OLDNEW
« no previous file with comments | « chrome/browser/ui/login/login_prompt.cc ('k') | chrome/browser/ui/pdf/pdf_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698