| 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/metrics/field_trial.h" | 9 #include "base/metrics/field_trial.h" |
| 10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 172 | 172 |
| 173 content::WebContents* contents = | 173 content::WebContents* contents = |
| 174 browser()->tab_strip_model()->GetActiveWebContents(); | 174 browser()->tab_strip_model()->GetActiveWebContents(); |
| 175 NavigationController* controller = &contents->GetController(); | 175 NavigationController* controller = &contents->GetController(); |
| 176 LoginPromptBrowserTestObserver observer; | 176 LoginPromptBrowserTestObserver observer; |
| 177 | 177 |
| 178 observer.Register(content::Source<NavigationController>(controller)); | 178 observer.Register(content::Source<NavigationController>(controller)); |
| 179 | 179 |
| 180 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 180 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
| 181 browser()->OpenURL(OpenURLParams( | 181 browser()->OpenURL(OpenURLParams( |
| 182 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 182 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, |
| 183 false)); | 183 false)); |
| 184 | 184 |
| 185 load_stop_waiter.Wait(); | 185 load_stop_waiter.Wait(); |
| 186 EXPECT_TRUE(observer.handlers().empty()); | 186 EXPECT_TRUE(observer.handlers().empty()); |
| 187 EXPECT_TRUE(test_server()->Stop()); | 187 EXPECT_TRUE(test_server()->Stop()); |
| 188 } | 188 } |
| 189 | 189 |
| 190 // Test that "Basic" HTTP authentication works. | 190 // Test that "Basic" HTTP authentication works. |
| 191 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestBasicAuth) { | 191 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestBasicAuth) { |
| 192 ASSERT_TRUE(test_server()->Start()); | 192 ASSERT_TRUE(test_server()->Start()); |
| 193 GURL test_page = test_server()->GetURL(kAuthBasicPage); | 193 GURL test_page = test_server()->GetURL(kAuthBasicPage); |
| 194 | 194 |
| 195 content::WebContents* contents = | 195 content::WebContents* contents = |
| 196 browser()->tab_strip_model()->GetActiveWebContents(); | 196 browser()->tab_strip_model()->GetActiveWebContents(); |
| 197 NavigationController* controller = &contents->GetController(); | 197 NavigationController* controller = &contents->GetController(); |
| 198 LoginPromptBrowserTestObserver observer; | 198 LoginPromptBrowserTestObserver observer; |
| 199 | 199 |
| 200 observer.Register(content::Source<NavigationController>(controller)); | 200 observer.Register(content::Source<NavigationController>(controller)); |
| 201 | 201 |
| 202 { | 202 { |
| 203 WindowedAuthNeededObserver auth_needed_waiter(controller); | 203 WindowedAuthNeededObserver auth_needed_waiter(controller); |
| 204 browser()->OpenURL(OpenURLParams( | 204 browser()->OpenURL(OpenURLParams( |
| 205 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 205 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, |
| 206 false)); | 206 false)); |
| 207 auth_needed_waiter.Wait(); | 207 auth_needed_waiter.Wait(); |
| 208 } | 208 } |
| 209 | 209 |
| 210 ASSERT_FALSE(observer.handlers().empty()); | 210 ASSERT_FALSE(observer.handlers().empty()); |
| 211 { | 211 { |
| 212 WindowedAuthNeededObserver auth_needed_waiter(controller); | 212 WindowedAuthNeededObserver auth_needed_waiter(controller); |
| 213 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); | 213 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); |
| 214 LoginHandler* handler = *observer.handlers().begin(); | 214 LoginHandler* handler = *observer.handlers().begin(); |
| 215 | 215 |
| (...skipping 29 matching lines...) Expand all Loading... |
| 245 content::WebContents* contents = | 245 content::WebContents* contents = |
| 246 browser()->tab_strip_model()->GetActiveWebContents(); | 246 browser()->tab_strip_model()->GetActiveWebContents(); |
| 247 NavigationController* controller = &contents->GetController(); | 247 NavigationController* controller = &contents->GetController(); |
| 248 LoginPromptBrowserTestObserver observer; | 248 LoginPromptBrowserTestObserver observer; |
| 249 | 249 |
| 250 observer.Register(content::Source<NavigationController>(controller)); | 250 observer.Register(content::Source<NavigationController>(controller)); |
| 251 | 251 |
| 252 { | 252 { |
| 253 WindowedAuthNeededObserver auth_needed_waiter(controller); | 253 WindowedAuthNeededObserver auth_needed_waiter(controller); |
| 254 browser()->OpenURL(OpenURLParams( | 254 browser()->OpenURL(OpenURLParams( |
| 255 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 255 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, |
| 256 false)); | 256 false)); |
| 257 auth_needed_waiter.Wait(); | 257 auth_needed_waiter.Wait(); |
| 258 } | 258 } |
| 259 | 259 |
| 260 ASSERT_FALSE(observer.handlers().empty()); | 260 ASSERT_FALSE(observer.handlers().empty()); |
| 261 { | 261 { |
| 262 WindowedAuthNeededObserver auth_needed_waiter(controller); | 262 WindowedAuthNeededObserver auth_needed_waiter(controller); |
| 263 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); | 263 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); |
| 264 LoginHandler* handler = *observer.handlers().begin(); | 264 LoginHandler* handler = *observer.handlers().begin(); |
| 265 | 265 |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 308 content::WebContents* contents2 = | 308 content::WebContents* contents2 = |
| 309 browser()->tab_strip_model()->GetActiveWebContents(); | 309 browser()->tab_strip_model()->GetActiveWebContents(); |
| 310 ASSERT_NE(contents1, contents2); | 310 ASSERT_NE(contents1, contents2); |
| 311 NavigationController* controller2 = &contents2->GetController(); | 311 NavigationController* controller2 = &contents2->GetController(); |
| 312 observer.Register(content::Source<NavigationController>(controller2)); | 312 observer.Register(content::Source<NavigationController>(controller2)); |
| 313 | 313 |
| 314 { | 314 { |
| 315 WindowedAuthNeededObserver auth_needed_waiter(controller1); | 315 WindowedAuthNeededObserver auth_needed_waiter(controller1); |
| 316 contents1->OpenURL(OpenURLParams( | 316 contents1->OpenURL(OpenURLParams( |
| 317 test_server()->GetURL(kAuthBasicPage), Referrer(), | 317 test_server()->GetURL(kAuthBasicPage), Referrer(), |
| 318 CURRENT_TAB, content::PAGE_TRANSITION_TYPED, false)); | 318 CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, false)); |
| 319 auth_needed_waiter.Wait(); | 319 auth_needed_waiter.Wait(); |
| 320 } | 320 } |
| 321 | 321 |
| 322 { | 322 { |
| 323 WindowedAuthNeededObserver auth_needed_waiter(controller2); | 323 WindowedAuthNeededObserver auth_needed_waiter(controller2); |
| 324 contents2->OpenURL(OpenURLParams( | 324 contents2->OpenURL(OpenURLParams( |
| 325 test_server()->GetURL(kAuthDigestPage), Referrer(), | 325 test_server()->GetURL(kAuthDigestPage), Referrer(), |
| 326 CURRENT_TAB, content::PAGE_TRANSITION_TYPED, false)); | 326 CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, false)); |
| 327 auth_needed_waiter.Wait(); | 327 auth_needed_waiter.Wait(); |
| 328 } | 328 } |
| 329 | 329 |
| 330 ASSERT_EQ(2u, observer.handlers().size()); | 330 ASSERT_EQ(2u, observer.handlers().size()); |
| 331 | 331 |
| 332 LoginHandler* handler1 = *observer.handlers().begin(); | 332 LoginHandler* handler1 = *observer.handlers().begin(); |
| 333 LoginHandler* handler2 = *(++(observer.handlers().begin())); | 333 LoginHandler* handler2 = *(++(observer.handlers().begin())); |
| 334 | 334 |
| 335 base::string16 expected_title1 = ExpectedTitleFromAuth( | 335 base::string16 expected_title1 = ExpectedTitleFromAuth( |
| 336 base::UTF8ToUTF16(username_basic_), base::UTF8ToUTF16(password_)); | 336 base::UTF8ToUTF16(username_basic_), base::UTF8ToUTF16(password_)); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 367 // go back to. | 367 // go back to. |
| 368 ui_test_utils::NavigateToURL(browser(), no_auth_page_1); | 368 ui_test_utils::NavigateToURL(browser(), no_auth_page_1); |
| 369 | 369 |
| 370 // Navigating while auth is requested is the same as cancelling. | 370 // Navigating while auth is requested is the same as cancelling. |
| 371 { | 371 { |
| 372 // We need to wait for two LOAD_STOP events. One for auth_page and one for | 372 // We need to wait for two LOAD_STOP events. One for auth_page and one for |
| 373 // no_auth_page_2. | 373 // no_auth_page_2. |
| 374 WindowedLoadStopObserver load_stop_waiter(controller, 2); | 374 WindowedLoadStopObserver load_stop_waiter(controller, 2); |
| 375 WindowedAuthNeededObserver auth_needed_waiter(controller); | 375 WindowedAuthNeededObserver auth_needed_waiter(controller); |
| 376 browser()->OpenURL(OpenURLParams( | 376 browser()->OpenURL(OpenURLParams( |
| 377 auth_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 377 auth_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, |
| 378 false)); | 378 false)); |
| 379 auth_needed_waiter.Wait(); | 379 auth_needed_waiter.Wait(); |
| 380 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); | 380 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); |
| 381 browser()->OpenURL(OpenURLParams( | 381 browser()->OpenURL(OpenURLParams( |
| 382 no_auth_page_2, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 382 no_auth_page_2, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, |
| 383 false)); | 383 false)); |
| 384 auth_cancelled_waiter.Wait(); | 384 auth_cancelled_waiter.Wait(); |
| 385 load_stop_waiter.Wait(); | 385 load_stop_waiter.Wait(); |
| 386 EXPECT_TRUE(observer.handlers().empty()); | 386 EXPECT_TRUE(observer.handlers().empty()); |
| 387 } | 387 } |
| 388 | 388 |
| 389 // Try navigating backwards. | 389 // Try navigating backwards. |
| 390 { | 390 { |
| 391 // As above, we wait for two LOAD_STOP events; one for each navigation. | 391 // As above, we wait for two LOAD_STOP events; one for each navigation. |
| 392 WindowedLoadStopObserver load_stop_waiter(controller, 2); | 392 WindowedLoadStopObserver load_stop_waiter(controller, 2); |
| 393 WindowedAuthNeededObserver auth_needed_waiter(controller); | 393 WindowedAuthNeededObserver auth_needed_waiter(controller); |
| 394 browser()->OpenURL(OpenURLParams( | 394 browser()->OpenURL(OpenURLParams( |
| 395 auth_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 395 auth_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, |
| 396 false)); | 396 false)); |
| 397 auth_needed_waiter.Wait(); | 397 auth_needed_waiter.Wait(); |
| 398 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); | 398 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); |
| 399 ASSERT_TRUE(chrome::CanGoBack(browser())); | 399 ASSERT_TRUE(chrome::CanGoBack(browser())); |
| 400 chrome::GoBack(browser(), CURRENT_TAB); | 400 chrome::GoBack(browser(), CURRENT_TAB); |
| 401 auth_cancelled_waiter.Wait(); | 401 auth_cancelled_waiter.Wait(); |
| 402 load_stop_waiter.Wait(); | 402 load_stop_waiter.Wait(); |
| 403 EXPECT_TRUE(observer.handlers().empty()); | 403 EXPECT_TRUE(observer.handlers().empty()); |
| 404 } | 404 } |
| 405 | 405 |
| 406 // Now add a page and go back, so we have something to go forward to. | 406 // Now add a page and go back, so we have something to go forward to. |
| 407 ui_test_utils::NavigateToURL(browser(), no_auth_page_3); | 407 ui_test_utils::NavigateToURL(browser(), no_auth_page_3); |
| 408 { | 408 { |
| 409 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 409 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
| 410 chrome::GoBack(browser(), CURRENT_TAB); // Should take us to page 1 | 410 chrome::GoBack(browser(), CURRENT_TAB); // Should take us to page 1 |
| 411 load_stop_waiter.Wait(); | 411 load_stop_waiter.Wait(); |
| 412 } | 412 } |
| 413 | 413 |
| 414 { | 414 { |
| 415 // We wait for two LOAD_STOP events; one for each navigation. | 415 // We wait for two LOAD_STOP events; one for each navigation. |
| 416 WindowedLoadStopObserver load_stop_waiter(controller, 2); | 416 WindowedLoadStopObserver load_stop_waiter(controller, 2); |
| 417 WindowedAuthNeededObserver auth_needed_waiter(controller); | 417 WindowedAuthNeededObserver auth_needed_waiter(controller); |
| 418 browser()->OpenURL(OpenURLParams( | 418 browser()->OpenURL(OpenURLParams( |
| 419 auth_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 419 auth_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, |
| 420 false)); | 420 false)); |
| 421 auth_needed_waiter.Wait(); | 421 auth_needed_waiter.Wait(); |
| 422 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); | 422 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); |
| 423 ASSERT_TRUE(chrome::CanGoForward(browser())); | 423 ASSERT_TRUE(chrome::CanGoForward(browser())); |
| 424 chrome::GoForward(browser(), CURRENT_TAB); // Should take us to page 3 | 424 chrome::GoForward(browser(), CURRENT_TAB); // Should take us to page 3 |
| 425 auth_cancelled_waiter.Wait(); | 425 auth_cancelled_waiter.Wait(); |
| 426 load_stop_waiter.Wait(); | 426 load_stop_waiter.Wait(); |
| 427 EXPECT_TRUE(observer.handlers().empty()); | 427 EXPECT_TRUE(observer.handlers().empty()); |
| 428 } | 428 } |
| 429 | 429 |
| 430 // Now test that cancelling works as expected. | 430 // Now test that cancelling works as expected. |
| 431 { | 431 { |
| 432 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 432 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
| 433 WindowedAuthNeededObserver auth_needed_waiter(controller); | 433 WindowedAuthNeededObserver auth_needed_waiter(controller); |
| 434 browser()->OpenURL(OpenURLParams( | 434 browser()->OpenURL(OpenURLParams( |
| 435 auth_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 435 auth_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, |
| 436 false)); | 436 false)); |
| 437 auth_needed_waiter.Wait(); | 437 auth_needed_waiter.Wait(); |
| 438 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); | 438 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); |
| 439 LoginHandler* handler = *observer.handlers().begin(); | 439 LoginHandler* handler = *observer.handlers().begin(); |
| 440 ASSERT_TRUE(handler); | 440 ASSERT_TRUE(handler); |
| 441 handler->CancelAuth(); | 441 handler->CancelAuth(); |
| 442 auth_cancelled_waiter.Wait(); | 442 auth_cancelled_waiter.Wait(); |
| 443 load_stop_waiter.Wait(); | 443 load_stop_waiter.Wait(); |
| 444 EXPECT_TRUE(observer.handlers().empty()); | 444 EXPECT_TRUE(observer.handlers().empty()); |
| 445 } | 445 } |
| (...skipping 13 matching lines...) Expand all Loading... |
| 459 NavigationController* controller = &contents->GetController(); | 459 NavigationController* controller = &contents->GetController(); |
| 460 LoginPromptBrowserTestObserver observer; | 460 LoginPromptBrowserTestObserver observer; |
| 461 | 461 |
| 462 observer.Register(content::Source<NavigationController>(controller)); | 462 observer.Register(content::Source<NavigationController>(controller)); |
| 463 | 463 |
| 464 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 464 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
| 465 | 465 |
| 466 { | 466 { |
| 467 WindowedAuthNeededObserver auth_needed_waiter(controller); | 467 WindowedAuthNeededObserver auth_needed_waiter(controller); |
| 468 browser()->OpenURL(OpenURLParams( | 468 browser()->OpenURL(OpenURLParams( |
| 469 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 469 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, |
| 470 false)); | 470 false)); |
| 471 auth_needed_waiter.Wait(); | 471 auth_needed_waiter.Wait(); |
| 472 } | 472 } |
| 473 | 473 |
| 474 int n_handlers = 0; | 474 int n_handlers = 0; |
| 475 | 475 |
| 476 while (n_handlers < kMultiRealmTestRealmCount) { | 476 while (n_handlers < kMultiRealmTestRealmCount) { |
| 477 WindowedAuthNeededObserver auth_needed_waiter(controller); | 477 WindowedAuthNeededObserver auth_needed_waiter(controller); |
| 478 | 478 |
| 479 while (!observer.handlers().empty()) { | 479 while (!observer.handlers().empty()) { |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 512 | 512 |
| 513 observer.Register(content::Source<NavigationController>(controller)); | 513 observer.Register(content::Source<NavigationController>(controller)); |
| 514 | 514 |
| 515 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 515 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
| 516 int n_handlers = 0; | 516 int n_handlers = 0; |
| 517 | 517 |
| 518 { | 518 { |
| 519 WindowedAuthNeededObserver auth_needed_waiter(controller); | 519 WindowedAuthNeededObserver auth_needed_waiter(controller); |
| 520 | 520 |
| 521 browser()->OpenURL(OpenURLParams( | 521 browser()->OpenURL(OpenURLParams( |
| 522 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 522 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, |
| 523 false)); | 523 false)); |
| 524 auth_needed_waiter.Wait(); | 524 auth_needed_waiter.Wait(); |
| 525 } | 525 } |
| 526 | 526 |
| 527 while (n_handlers < kMultiRealmTestRealmCount) { | 527 while (n_handlers < kMultiRealmTestRealmCount) { |
| 528 WindowedAuthNeededObserver auth_needed_waiter(controller); | 528 WindowedAuthNeededObserver auth_needed_waiter(controller); |
| 529 | 529 |
| 530 while (!observer.handlers().empty()) { | 530 while (!observer.handlers().empty()) { |
| 531 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); | 531 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); |
| 532 LoginHandler* handler = *observer.handlers().begin(); | 532 LoginHandler* handler = *observer.handlers().begin(); |
| (...skipping 26 matching lines...) Expand all Loading... |
| 559 content::WebContents* contents = | 559 content::WebContents* contents = |
| 560 browser()->tab_strip_model()->GetActiveWebContents(); | 560 browser()->tab_strip_model()->GetActiveWebContents(); |
| 561 NavigationController* controller = &contents->GetController(); | 561 NavigationController* controller = &contents->GetController(); |
| 562 LoginPromptBrowserTestObserver observer; | 562 LoginPromptBrowserTestObserver observer; |
| 563 | 563 |
| 564 observer.Register(content::Source<NavigationController>(controller)); | 564 observer.Register(content::Source<NavigationController>(controller)); |
| 565 | 565 |
| 566 { | 566 { |
| 567 WindowedAuthNeededObserver auth_needed_waiter(controller); | 567 WindowedAuthNeededObserver auth_needed_waiter(controller); |
| 568 browser()->OpenURL(OpenURLParams( | 568 browser()->OpenURL(OpenURLParams( |
| 569 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 569 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, |
| 570 false)); | 570 false)); |
| 571 auth_needed_waiter.Wait(); | 571 auth_needed_waiter.Wait(); |
| 572 } | 572 } |
| 573 | 573 |
| 574 EXPECT_FALSE(observer.handlers().empty()); | 574 EXPECT_FALSE(observer.handlers().empty()); |
| 575 | 575 |
| 576 if (!observer.handlers().empty()) { | 576 if (!observer.handlers().empty()) { |
| 577 WindowedAuthNeededObserver auth_needed_waiter(controller); | 577 WindowedAuthNeededObserver auth_needed_waiter(controller); |
| 578 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); | 578 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); |
| 579 LoginHandler* handler = *observer.handlers().begin(); | 579 LoginHandler* handler = *observer.handlers().begin(); |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 632 LoginPromptBrowserTestObserver observer; | 632 LoginPromptBrowserTestObserver observer; |
| 633 | 633 |
| 634 observer.Register(content::Source<NavigationController>(controller)); | 634 observer.Register(content::Source<NavigationController>(controller)); |
| 635 | 635 |
| 636 // First load a page that has a favicon that requires | 636 // First load a page that has a favicon that requires |
| 637 // authentication. There should be no login prompt. | 637 // authentication. There should be no login prompt. |
| 638 { | 638 { |
| 639 GURL test_page = test_server()->GetURL(kFaviconTestPage); | 639 GURL test_page = test_server()->GetURL(kFaviconTestPage); |
| 640 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 640 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
| 641 browser()->OpenURL(OpenURLParams( | 641 browser()->OpenURL(OpenURLParams( |
| 642 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 642 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, |
| 643 false)); | 643 false)); |
| 644 load_stop_waiter.Wait(); | 644 load_stop_waiter.Wait(); |
| 645 } | 645 } |
| 646 | 646 |
| 647 // Now request the same favicon, but directly as the document. | 647 // Now request the same favicon, but directly as the document. |
| 648 // There should be one login prompt. | 648 // There should be one login prompt. |
| 649 { | 649 { |
| 650 GURL test_page = test_server()->GetURL(kFaviconResource); | 650 GURL test_page = test_server()->GetURL(kFaviconResource); |
| 651 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 651 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
| 652 WindowedAuthNeededObserver auth_needed_waiter(controller); | 652 WindowedAuthNeededObserver auth_needed_waiter(controller); |
| 653 browser()->OpenURL(OpenURLParams( | 653 browser()->OpenURL(OpenURLParams( |
| 654 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 654 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, |
| 655 false)); | 655 false)); |
| 656 auth_needed_waiter.Wait(); | 656 auth_needed_waiter.Wait(); |
| 657 ASSERT_EQ(1u, observer.handlers().size()); | 657 ASSERT_EQ(1u, observer.handlers().size()); |
| 658 | 658 |
| 659 while (!observer.handlers().empty()) { | 659 while (!observer.handlers().empty()) { |
| 660 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); | 660 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); |
| 661 LoginHandler* handler = *observer.handlers().begin(); | 661 LoginHandler* handler = *observer.handlers().begin(); |
| 662 | 662 |
| 663 ASSERT_TRUE(handler); | 663 ASSERT_TRUE(handler); |
| 664 handler->CancelAuth(); | 664 handler->CancelAuth(); |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 697 | 697 |
| 698 // Change the host from 127.0.0.1 to www.a.com so that when the | 698 // Change the host from 127.0.0.1 to www.a.com so that when the |
| 699 // page tries to load from b, it will be cross-origin. | 699 // page tries to load from b, it will be cross-origin. |
| 700 std::string new_host("www.a.com"); | 700 std::string new_host("www.a.com"); |
| 701 GURL::Replacements replacements; | 701 GURL::Replacements replacements; |
| 702 replacements.SetHostStr(new_host); | 702 replacements.SetHostStr(new_host); |
| 703 test_page = test_page.ReplaceComponents(replacements); | 703 test_page = test_page.ReplaceComponents(replacements); |
| 704 | 704 |
| 705 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 705 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
| 706 browser()->OpenURL(OpenURLParams( | 706 browser()->OpenURL(OpenURLParams( |
| 707 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 707 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, |
| 708 false)); | 708 false)); |
| 709 load_stop_waiter.Wait(); | 709 load_stop_waiter.Wait(); |
| 710 } | 710 } |
| 711 | 711 |
| 712 EXPECT_EQ(0, observer.auth_needed_count()); | 712 EXPECT_EQ(0, observer.auth_needed_count()); |
| 713 | 713 |
| 714 // Now request the same page, but from the same origin. | 714 // Now request the same page, but from the same origin. |
| 715 // There should be one login prompt. | 715 // There should be one login prompt. |
| 716 { | 716 { |
| 717 GURL test_page = test_server()->GetURL(kTestPage); | 717 GURL test_page = test_server()->GetURL(kTestPage); |
| 718 ASSERT_EQ("127.0.0.1", test_page.host()); | 718 ASSERT_EQ("127.0.0.1", test_page.host()); |
| 719 | 719 |
| 720 // Change the host from 127.0.0.1 to www.b.com so that when the | 720 // Change the host from 127.0.0.1 to www.b.com so that when the |
| 721 // page tries to load from b, it will be same-origin. | 721 // page tries to load from b, it will be same-origin. |
| 722 std::string new_host("www.b.com"); | 722 std::string new_host("www.b.com"); |
| 723 GURL::Replacements replacements; | 723 GURL::Replacements replacements; |
| 724 replacements.SetHostStr(new_host); | 724 replacements.SetHostStr(new_host); |
| 725 test_page = test_page.ReplaceComponents(replacements); | 725 test_page = test_page.ReplaceComponents(replacements); |
| 726 | 726 |
| 727 WindowedAuthNeededObserver auth_needed_waiter(controller); | 727 WindowedAuthNeededObserver auth_needed_waiter(controller); |
| 728 browser()->OpenURL(OpenURLParams( | 728 browser()->OpenURL(OpenURLParams( |
| 729 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 729 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, |
| 730 false)); | 730 false)); |
| 731 auth_needed_waiter.Wait(); | 731 auth_needed_waiter.Wait(); |
| 732 ASSERT_EQ(1u, observer.handlers().size()); | 732 ASSERT_EQ(1u, observer.handlers().size()); |
| 733 | 733 |
| 734 while (!observer.handlers().empty()) { | 734 while (!observer.handlers().empty()) { |
| 735 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); | 735 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); |
| 736 LoginHandler* handler = *observer.handlers().begin(); | 736 LoginHandler* handler = *observer.handlers().begin(); |
| 737 | 737 |
| 738 ASSERT_TRUE(handler); | 738 ASSERT_TRUE(handler); |
| 739 handler->CancelAuth(); | 739 handler->CancelAuth(); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 767 | 767 |
| 768 // Change the host from 127.0.0.1 to www.a.com so that when the | 768 // Change the host from 127.0.0.1 to www.a.com so that when the |
| 769 // page tries to load from b, it will be cross-origin. | 769 // page tries to load from b, it will be cross-origin. |
| 770 std::string new_host("www.a.com"); | 770 std::string new_host("www.a.com"); |
| 771 GURL::Replacements replacements; | 771 GURL::Replacements replacements; |
| 772 replacements.SetHostStr(new_host); | 772 replacements.SetHostStr(new_host); |
| 773 test_page = test_page.ReplaceComponents(replacements); | 773 test_page = test_page.ReplaceComponents(replacements); |
| 774 | 774 |
| 775 WindowedAuthNeededObserver auth_needed_waiter(controller); | 775 WindowedAuthNeededObserver auth_needed_waiter(controller); |
| 776 browser()->OpenURL(OpenURLParams( | 776 browser()->OpenURL(OpenURLParams( |
| 777 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 777 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, |
| 778 false)); | 778 false)); |
| 779 auth_needed_waiter.Wait(); | 779 auth_needed_waiter.Wait(); |
| 780 ASSERT_EQ(1u, observer.handlers().size()); | 780 ASSERT_EQ(1u, observer.handlers().size()); |
| 781 | 781 |
| 782 while (!observer.handlers().empty()) { | 782 while (!observer.handlers().empty()) { |
| 783 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); | 783 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); |
| 784 LoginHandler* handler = *observer.handlers().begin(); | 784 LoginHandler* handler = *observer.handlers().begin(); |
| 785 | 785 |
| 786 ASSERT_TRUE(handler); | 786 ASSERT_TRUE(handler); |
| 787 // When a cross origin iframe displays a login prompt, the blank | 787 // When a cross origin iframe displays a login prompt, the blank |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 827 observer.Register(content::Source<NavigationController>(controller_2)); | 827 observer.Register(content::Source<NavigationController>(controller_2)); |
| 828 | 828 |
| 829 { | 829 { |
| 830 // Open different auth urls in each tab. | 830 // Open different auth urls in each tab. |
| 831 WindowedAuthNeededObserver auth_needed_waiter_1(controller_1); | 831 WindowedAuthNeededObserver auth_needed_waiter_1(controller_1); |
| 832 WindowedAuthNeededObserver auth_needed_waiter_2(controller_2); | 832 WindowedAuthNeededObserver auth_needed_waiter_2(controller_2); |
| 833 contents_1->OpenURL(OpenURLParams( | 833 contents_1->OpenURL(OpenURLParams( |
| 834 test_server()->GetURL("auth-basic/1"), | 834 test_server()->GetURL("auth-basic/1"), |
| 835 content::Referrer(), | 835 content::Referrer(), |
| 836 CURRENT_TAB, | 836 CURRENT_TAB, |
| 837 content::PAGE_TRANSITION_TYPED, | 837 ui::PAGE_TRANSITION_TYPED, |
| 838 false)); | 838 false)); |
| 839 contents_2->OpenURL(OpenURLParams( | 839 contents_2->OpenURL(OpenURLParams( |
| 840 test_server()->GetURL("auth-basic/2"), | 840 test_server()->GetURL("auth-basic/2"), |
| 841 content::Referrer(), | 841 content::Referrer(), |
| 842 CURRENT_TAB, | 842 CURRENT_TAB, |
| 843 content::PAGE_TRANSITION_TYPED, | 843 ui::PAGE_TRANSITION_TYPED, |
| 844 false)); | 844 false)); |
| 845 auth_needed_waiter_1.Wait(); | 845 auth_needed_waiter_1.Wait(); |
| 846 auth_needed_waiter_2.Wait(); | 846 auth_needed_waiter_2.Wait(); |
| 847 | 847 |
| 848 ASSERT_EQ(2U, observer.handlers().size()); | 848 ASSERT_EQ(2U, observer.handlers().size()); |
| 849 | 849 |
| 850 // Supply auth in one of the tabs. | 850 // Supply auth in one of the tabs. |
| 851 WindowedAuthSuppliedObserver auth_supplied_waiter_1(controller_1); | 851 WindowedAuthSuppliedObserver auth_supplied_waiter_1(controller_1); |
| 852 WindowedAuthSuppliedObserver auth_supplied_waiter_2(controller_2); | 852 WindowedAuthSuppliedObserver auth_supplied_waiter_2(controller_2); |
| 853 LoginHandler* handler_1 = *observer.handlers().begin(); | 853 LoginHandler* handler_1 = *observer.handlers().begin(); |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 891 observer.Register(content::Source<NavigationController>(controller_2)); | 891 observer.Register(content::Source<NavigationController>(controller_2)); |
| 892 | 892 |
| 893 { | 893 { |
| 894 // Open different auth urls in each tab. | 894 // Open different auth urls in each tab. |
| 895 WindowedAuthNeededObserver auth_needed_waiter_1(controller_1); | 895 WindowedAuthNeededObserver auth_needed_waiter_1(controller_1); |
| 896 WindowedAuthNeededObserver auth_needed_waiter_2(controller_2); | 896 WindowedAuthNeededObserver auth_needed_waiter_2(controller_2); |
| 897 contents_1->OpenURL(OpenURLParams( | 897 contents_1->OpenURL(OpenURLParams( |
| 898 test_server()->GetURL("auth-basic/1"), | 898 test_server()->GetURL("auth-basic/1"), |
| 899 content::Referrer(), | 899 content::Referrer(), |
| 900 CURRENT_TAB, | 900 CURRENT_TAB, |
| 901 content::PAGE_TRANSITION_TYPED, | 901 ui::PAGE_TRANSITION_TYPED, |
| 902 false)); | 902 false)); |
| 903 contents_2->OpenURL(OpenURLParams( | 903 contents_2->OpenURL(OpenURLParams( |
| 904 test_server()->GetURL("auth-basic/2"), | 904 test_server()->GetURL("auth-basic/2"), |
| 905 content::Referrer(), | 905 content::Referrer(), |
| 906 CURRENT_TAB, | 906 CURRENT_TAB, |
| 907 content::PAGE_TRANSITION_TYPED, | 907 ui::PAGE_TRANSITION_TYPED, |
| 908 false)); | 908 false)); |
| 909 auth_needed_waiter_1.Wait(); | 909 auth_needed_waiter_1.Wait(); |
| 910 auth_needed_waiter_2.Wait(); | 910 auth_needed_waiter_2.Wait(); |
| 911 | 911 |
| 912 ASSERT_EQ(2U, observer.handlers().size()); | 912 ASSERT_EQ(2U, observer.handlers().size()); |
| 913 | 913 |
| 914 // Cancel auth in one of the tabs. | 914 // Cancel auth in one of the tabs. |
| 915 WindowedAuthCancelledObserver auth_cancelled_waiter_1(controller_1); | 915 WindowedAuthCancelledObserver auth_cancelled_waiter_1(controller_1); |
| 916 WindowedAuthCancelledObserver auth_cancelled_waiter_2(controller_2); | 916 WindowedAuthCancelledObserver auth_cancelled_waiter_2(controller_2); |
| 917 LoginHandler* handler_1 = *observer.handlers().begin(); | 917 LoginHandler* handler_1 = *observer.handlers().begin(); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 956 | 956 |
| 957 { | 957 { |
| 958 // Open an auth url in each window. | 958 // Open an auth url in each window. |
| 959 WindowedAuthNeededObserver auth_needed_waiter(controller); | 959 WindowedAuthNeededObserver auth_needed_waiter(controller); |
| 960 WindowedAuthNeededObserver auth_needed_waiter_incognito( | 960 WindowedAuthNeededObserver auth_needed_waiter_incognito( |
| 961 controller_incognito); | 961 controller_incognito); |
| 962 contents->OpenURL(OpenURLParams( | 962 contents->OpenURL(OpenURLParams( |
| 963 test_server()->GetURL("auth-basic/1"), | 963 test_server()->GetURL("auth-basic/1"), |
| 964 content::Referrer(), | 964 content::Referrer(), |
| 965 CURRENT_TAB, | 965 CURRENT_TAB, |
| 966 content::PAGE_TRANSITION_TYPED, | 966 ui::PAGE_TRANSITION_TYPED, |
| 967 false)); | 967 false)); |
| 968 contents_incognito->OpenURL(OpenURLParams( | 968 contents_incognito->OpenURL(OpenURLParams( |
| 969 test_server()->GetURL("auth-basic/2"), | 969 test_server()->GetURL("auth-basic/2"), |
| 970 content::Referrer(), | 970 content::Referrer(), |
| 971 CURRENT_TAB, | 971 CURRENT_TAB, |
| 972 content::PAGE_TRANSITION_TYPED, | 972 ui::PAGE_TRANSITION_TYPED, |
| 973 false)); | 973 false)); |
| 974 auth_needed_waiter.Wait(); | 974 auth_needed_waiter.Wait(); |
| 975 auth_needed_waiter_incognito.Wait(); | 975 auth_needed_waiter_incognito.Wait(); |
| 976 | 976 |
| 977 ASSERT_EQ(1U, observer.handlers().size()); | 977 ASSERT_EQ(1U, observer.handlers().size()); |
| 978 ASSERT_EQ(1U, observer_incognito.handlers().size()); | 978 ASSERT_EQ(1U, observer_incognito.handlers().size()); |
| 979 | 979 |
| 980 // Supply auth in regular tab. | 980 // Supply auth in regular tab. |
| 981 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); | 981 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); |
| 982 LoginHandler* handler = *observer.handlers().begin(); | 982 LoginHandler* handler = *observer.handlers().begin(); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1016 LoginPromptBrowserTestObserver observer; | 1016 LoginPromptBrowserTestObserver observer; |
| 1017 | 1017 |
| 1018 observer.Register(content::Source<NavigationController>(controller)); | 1018 observer.Register(content::Source<NavigationController>(controller)); |
| 1019 | 1019 |
| 1020 // Load a page which makes a synchronous XMLHttpRequest for an authenticated | 1020 // Load a page which makes a synchronous XMLHttpRequest for an authenticated |
| 1021 // resource with the wrong credentials. There should be no login prompt. | 1021 // resource with the wrong credentials. There should be no login prompt. |
| 1022 { | 1022 { |
| 1023 GURL test_page = test_server()->GetURL(kXHRTestPage); | 1023 GURL test_page = test_server()->GetURL(kXHRTestPage); |
| 1024 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 1024 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
| 1025 browser()->OpenURL(OpenURLParams( | 1025 browser()->OpenURL(OpenURLParams( |
| 1026 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 1026 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, |
| 1027 false)); | 1027 false)); |
| 1028 load_stop_waiter.Wait(); | 1028 load_stop_waiter.Wait(); |
| 1029 } | 1029 } |
| 1030 | 1030 |
| 1031 base::string16 expected_title(base::UTF8ToUTF16("status=401")); | 1031 base::string16 expected_title(base::UTF8ToUTF16("status=401")); |
| 1032 | 1032 |
| 1033 EXPECT_EQ(expected_title, contents->GetTitle()); | 1033 EXPECT_EQ(expected_title, contents->GetTitle()); |
| 1034 EXPECT_EQ(0, observer.auth_supplied_count()); | 1034 EXPECT_EQ(0, observer.auth_supplied_count()); |
| 1035 EXPECT_EQ(0, observer.auth_needed_count()); | 1035 EXPECT_EQ(0, observer.auth_needed_count()); |
| 1036 EXPECT_EQ(0, observer.auth_cancelled_count()); | 1036 EXPECT_EQ(0, observer.auth_cancelled_count()); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 1051 LoginPromptBrowserTestObserver observer; | 1051 LoginPromptBrowserTestObserver observer; |
| 1052 | 1052 |
| 1053 observer.Register(content::Source<NavigationController>(controller)); | 1053 observer.Register(content::Source<NavigationController>(controller)); |
| 1054 | 1054 |
| 1055 // Load a page which makes a synchronous XMLHttpRequest for an authenticated | 1055 // Load a page which makes a synchronous XMLHttpRequest for an authenticated |
| 1056 // resource with the wrong credentials. There should be no login prompt. | 1056 // resource with the wrong credentials. There should be no login prompt. |
| 1057 { | 1057 { |
| 1058 GURL test_page = test_server()->GetURL(kXHRTestPage); | 1058 GURL test_page = test_server()->GetURL(kXHRTestPage); |
| 1059 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 1059 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
| 1060 browser()->OpenURL(OpenURLParams( | 1060 browser()->OpenURL(OpenURLParams( |
| 1061 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 1061 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, |
| 1062 false)); | 1062 false)); |
| 1063 load_stop_waiter.Wait(); | 1063 load_stop_waiter.Wait(); |
| 1064 } | 1064 } |
| 1065 | 1065 |
| 1066 base::string16 expected_title(base::UTF8ToUTF16("status=200")); | 1066 base::string16 expected_title(base::UTF8ToUTF16("status=200")); |
| 1067 | 1067 |
| 1068 EXPECT_EQ(expected_title, contents->GetTitle()); | 1068 EXPECT_EQ(expected_title, contents->GetTitle()); |
| 1069 EXPECT_EQ(0, observer.auth_supplied_count()); | 1069 EXPECT_EQ(0, observer.auth_supplied_count()); |
| 1070 EXPECT_EQ(0, observer.auth_needed_count()); | 1070 EXPECT_EQ(0, observer.auth_needed_count()); |
| 1071 EXPECT_EQ(0, observer.auth_cancelled_count()); | 1071 EXPECT_EQ(0, observer.auth_cancelled_count()); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 1086 LoginPromptBrowserTestObserver observer; | 1086 LoginPromptBrowserTestObserver observer; |
| 1087 | 1087 |
| 1088 observer.Register(content::Source<NavigationController>(controller)); | 1088 observer.Register(content::Source<NavigationController>(controller)); |
| 1089 | 1089 |
| 1090 // Load a page which makes a synchronous XMLHttpRequest for an authenticated | 1090 // Load a page which makes a synchronous XMLHttpRequest for an authenticated |
| 1091 // resource with the wrong credentials. There should be no login prompt. | 1091 // resource with the wrong credentials. There should be no login prompt. |
| 1092 { | 1092 { |
| 1093 GURL test_page = test_server()->GetURL(kXHRTestPage); | 1093 GURL test_page = test_server()->GetURL(kXHRTestPage); |
| 1094 WindowedAuthNeededObserver auth_needed_waiter(controller); | 1094 WindowedAuthNeededObserver auth_needed_waiter(controller); |
| 1095 browser()->OpenURL(OpenURLParams( | 1095 browser()->OpenURL(OpenURLParams( |
| 1096 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 1096 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, |
| 1097 false)); | 1097 false)); |
| 1098 auth_needed_waiter.Wait(); | 1098 auth_needed_waiter.Wait(); |
| 1099 } | 1099 } |
| 1100 | 1100 |
| 1101 ASSERT_FALSE(observer.handlers().empty()); | 1101 ASSERT_FALSE(observer.handlers().empty()); |
| 1102 { | 1102 { |
| 1103 WindowedAuthNeededObserver auth_needed_waiter(controller); | 1103 WindowedAuthNeededObserver auth_needed_waiter(controller); |
| 1104 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); | 1104 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); |
| 1105 LoginHandler* handler = *observer.handlers().begin(); | 1105 LoginHandler* handler = *observer.handlers().begin(); |
| 1106 | 1106 |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1150 LoginPromptBrowserTestObserver observer; | 1150 LoginPromptBrowserTestObserver observer; |
| 1151 | 1151 |
| 1152 observer.Register(content::Source<NavigationController>(controller)); | 1152 observer.Register(content::Source<NavigationController>(controller)); |
| 1153 | 1153 |
| 1154 // Load a page which makes a synchronous XMLHttpRequest for an authenticated | 1154 // Load a page which makes a synchronous XMLHttpRequest for an authenticated |
| 1155 // resource with the wrong credentials. There should be no login prompt. | 1155 // resource with the wrong credentials. There should be no login prompt. |
| 1156 { | 1156 { |
| 1157 GURL test_page = test_server()->GetURL(kXHRTestPage); | 1157 GURL test_page = test_server()->GetURL(kXHRTestPage); |
| 1158 WindowedAuthNeededObserver auth_needed_waiter(controller); | 1158 WindowedAuthNeededObserver auth_needed_waiter(controller); |
| 1159 browser()->OpenURL(OpenURLParams( | 1159 browser()->OpenURL(OpenURLParams( |
| 1160 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 1160 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, |
| 1161 false)); | 1161 false)); |
| 1162 auth_needed_waiter.Wait(); | 1162 auth_needed_waiter.Wait(); |
| 1163 } | 1163 } |
| 1164 | 1164 |
| 1165 ASSERT_EQ(1u, observer.handlers().size()); | 1165 ASSERT_EQ(1u, observer.handlers().size()); |
| 1166 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); | 1166 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); |
| 1167 LoginHandler* handler = *observer.handlers().begin(); | 1167 LoginHandler* handler = *observer.handlers().begin(); |
| 1168 | 1168 |
| 1169 handler->CancelAuth(); | 1169 handler->CancelAuth(); |
| 1170 auth_cancelled_waiter.Wait(); | 1170 auth_cancelled_waiter.Wait(); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 1190 browser()->tab_strip_model()->GetActiveWebContents(); | 1190 browser()->tab_strip_model()->GetActiveWebContents(); |
| 1191 NavigationController* controller = &contents->GetController(); | 1191 NavigationController* controller = &contents->GetController(); |
| 1192 LoginPromptBrowserTestObserver observer; | 1192 LoginPromptBrowserTestObserver observer; |
| 1193 | 1193 |
| 1194 observer.Register(content::Source<NavigationController>(controller)); | 1194 observer.Register(content::Source<NavigationController>(controller)); |
| 1195 | 1195 |
| 1196 // Load a page which will trigger a login prompt. | 1196 // Load a page which will trigger a login prompt. |
| 1197 { | 1197 { |
| 1198 WindowedAuthNeededObserver auth_needed_waiter(controller); | 1198 WindowedAuthNeededObserver auth_needed_waiter(controller); |
| 1199 browser()->OpenURL(OpenURLParams( | 1199 browser()->OpenURL(OpenURLParams( |
| 1200 visit_url, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 1200 visit_url, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, |
| 1201 false)); | 1201 false)); |
| 1202 ASSERT_EQ(visit_url.host(), contents->GetVisibleURL().host()); | 1202 ASSERT_EQ(visit_url.host(), contents->GetVisibleURL().host()); |
| 1203 auth_needed_waiter.Wait(); | 1203 auth_needed_waiter.Wait(); |
| 1204 ASSERT_EQ(1u, observer.handlers().size()); | 1204 ASSERT_EQ(1u, observer.handlers().size()); |
| 1205 WaitForInterstitialAttach(contents); | 1205 WaitForInterstitialAttach(contents); |
| 1206 | 1206 |
| 1207 // The omnibox should show the correct origin for the new page when the | 1207 // The omnibox should show the correct origin for the new page when the |
| 1208 // login prompt is shown. | 1208 // login prompt is shown. |
| 1209 EXPECT_EQ(auth_host, contents->GetVisibleURL().host()); | 1209 EXPECT_EQ(auth_host, contents->GetVisibleURL().host()); |
| 1210 EXPECT_TRUE(contents->ShowingInterstitialPage()); | 1210 EXPECT_TRUE(contents->ShowingInterstitialPage()); |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1267 observer.Register(content::Source<NavigationController>(controller)); | 1267 observer.Register(content::Source<NavigationController>(controller)); |
| 1268 | 1268 |
| 1269 // Load a page which triggers an SSL interstitial. Proceeding through it | 1269 // Load a page which triggers an SSL interstitial. Proceeding through it |
| 1270 // should show the login page with the blank interstitial. | 1270 // should show the login page with the blank interstitial. |
| 1271 { | 1271 { |
| 1272 GURL test_page = https_server.GetURL(kAuthBasicPage); | 1272 GURL test_page = https_server.GetURL(kAuthBasicPage); |
| 1273 ASSERT_EQ("127.0.0.1", test_page.host()); | 1273 ASSERT_EQ("127.0.0.1", test_page.host()); |
| 1274 | 1274 |
| 1275 WindowedAuthNeededObserver auth_needed_waiter(controller); | 1275 WindowedAuthNeededObserver auth_needed_waiter(controller); |
| 1276 browser()->OpenURL(OpenURLParams( | 1276 browser()->OpenURL(OpenURLParams( |
| 1277 test_page, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 1277 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, |
| 1278 false)); | 1278 false)); |
| 1279 ASSERT_EQ("127.0.0.1", contents->GetURL().host()); | 1279 ASSERT_EQ("127.0.0.1", contents->GetURL().host()); |
| 1280 WaitForInterstitialAttach(contents); | 1280 WaitForInterstitialAttach(contents); |
| 1281 | 1281 |
| 1282 // An overrideable SSL interstitial is now being displayed. Proceed through | 1282 // An overrideable SSL interstitial is now being displayed. Proceed through |
| 1283 // the interstitial to see the login prompt. | 1283 // the interstitial to see the login prompt. |
| 1284 contents->GetInterstitialPage()->Proceed(); | 1284 contents->GetInterstitialPage()->Proceed(); |
| 1285 auth_needed_waiter.Wait(); | 1285 auth_needed_waiter.Wait(); |
| 1286 ASSERT_EQ(1u, observer.handlers().size()); | 1286 ASSERT_EQ(1u, observer.handlers().size()); |
| 1287 WaitForInterstitialAttach(contents); | 1287 WaitForInterstitialAttach(contents); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 1301 loop_runner->QuitClosure()); | 1301 loop_runner->QuitClosure()); |
| 1302 handler->CancelAuth(); | 1302 handler->CancelAuth(); |
| 1303 if (content::InterstitialPage::GetInterstitialPage(contents)) | 1303 if (content::InterstitialPage::GetInterstitialPage(contents)) |
| 1304 loop_runner->Run(); | 1304 loop_runner->Run(); |
| 1305 EXPECT_EQ("127.0.0.1", contents->GetVisibleURL().host()); | 1305 EXPECT_EQ("127.0.0.1", contents->GetVisibleURL().host()); |
| 1306 EXPECT_FALSE(contents->ShowingInterstitialPage()); | 1306 EXPECT_FALSE(contents->ShowingInterstitialPage()); |
| 1307 } | 1307 } |
| 1308 } | 1308 } |
| 1309 | 1309 |
| 1310 } // namespace | 1310 } // namespace |
| OLD | NEW |