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" |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
213 | 213 |
214 TabContentsWrapper* contents = | 214 TabContentsWrapper* contents = |
215 browser()->GetSelectedTabContentsWrapper(); | 215 browser()->GetSelectedTabContentsWrapper(); |
216 ASSERT_TRUE(contents); | 216 ASSERT_TRUE(contents); |
217 NavigationController* controller = &contents->controller(); | 217 NavigationController* controller = &contents->controller(); |
218 LoginPromptBrowserTestObserver observer; | 218 LoginPromptBrowserTestObserver observer; |
219 | 219 |
220 observer.Register(Source<NavigationController>(controller)); | 220 observer.Register(Source<NavigationController>(controller)); |
221 | 221 |
222 WindowedLoadStopObserver load_stop_waiter(controller); | 222 WindowedLoadStopObserver load_stop_waiter(controller); |
223 browser()->OpenURL(test_page, GURL(), CURRENT_TAB, PageTransition::TYPED); | 223 browser()->OpenURL( |
| 224 test_page, GURL(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED); |
224 | 225 |
225 load_stop_waiter.Wait(); | 226 load_stop_waiter.Wait(); |
226 EXPECT_TRUE(observer.handlers_.empty()); | 227 EXPECT_TRUE(observer.handlers_.empty()); |
227 EXPECT_TRUE(test_server()->Stop()); | 228 EXPECT_TRUE(test_server()->Stop()); |
228 } | 229 } |
229 | 230 |
230 // Test handling of resources that require authentication even though | 231 // Test handling of resources that require authentication even though |
231 // the page they are included on doesn't. In this case we should only | 232 // the page they are included on doesn't. In this case we should only |
232 // present the minimal number of prompts necessary for successfully | 233 // present the minimal number of prompts necessary for successfully |
233 // displaying the page. First we check whether cancelling works as | 234 // displaying the page. First we check whether cancelling works as |
234 // expected. | 235 // expected. |
235 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, MultipleRealmCancellation) { | 236 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, MultipleRealmCancellation) { |
236 ASSERT_TRUE(test_server()->Start()); | 237 ASSERT_TRUE(test_server()->Start()); |
237 GURL test_page = test_server()->GetURL(kMultiRealmTestPage); | 238 GURL test_page = test_server()->GetURL(kMultiRealmTestPage); |
238 | 239 |
239 TabContentsWrapper* contents = | 240 TabContentsWrapper* contents = |
240 browser()->GetSelectedTabContentsWrapper(); | 241 browser()->GetSelectedTabContentsWrapper(); |
241 ASSERT_TRUE(contents); | 242 ASSERT_TRUE(contents); |
242 | 243 |
243 NavigationController* controller = &contents->controller(); | 244 NavigationController* controller = &contents->controller(); |
244 LoginPromptBrowserTestObserver observer; | 245 LoginPromptBrowserTestObserver observer; |
245 | 246 |
246 observer.Register(Source<NavigationController>(controller)); | 247 observer.Register(Source<NavigationController>(controller)); |
247 | 248 |
248 WindowedLoadStopObserver load_stop_waiter(controller); | 249 WindowedLoadStopObserver load_stop_waiter(controller); |
249 | 250 |
250 { | 251 { |
251 WindowedAuthNeededObserver auth_needed_waiter(controller); | 252 WindowedAuthNeededObserver auth_needed_waiter(controller); |
252 browser()->OpenURL(test_page, GURL(), CURRENT_TAB, PageTransition::TYPED); | 253 browser()->OpenURL( |
| 254 test_page, GURL(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED); |
253 auth_needed_waiter.Wait(); | 255 auth_needed_waiter.Wait(); |
254 } | 256 } |
255 | 257 |
256 int n_handlers = 0; | 258 int n_handlers = 0; |
257 | 259 |
258 while (n_handlers < kMultiRealmTestRealmCount) { | 260 while (n_handlers < kMultiRealmTestRealmCount) { |
259 WindowedAuthNeededObserver auth_needed_waiter(controller); | 261 WindowedAuthNeededObserver auth_needed_waiter(controller); |
260 | 262 |
261 while (!observer.handlers_.empty()) { | 263 while (!observer.handlers_.empty()) { |
262 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); | 264 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
302 LoginPromptBrowserTestObserver observer; | 304 LoginPromptBrowserTestObserver observer; |
303 | 305 |
304 observer.Register(Source<NavigationController>(controller)); | 306 observer.Register(Source<NavigationController>(controller)); |
305 | 307 |
306 WindowedLoadStopObserver load_stop_waiter(controller); | 308 WindowedLoadStopObserver load_stop_waiter(controller); |
307 int n_handlers = 0; | 309 int n_handlers = 0; |
308 | 310 |
309 { | 311 { |
310 WindowedAuthNeededObserver auth_needed_waiter(controller); | 312 WindowedAuthNeededObserver auth_needed_waiter(controller); |
311 | 313 |
312 browser()->OpenURL(test_page, GURL(), CURRENT_TAB, PageTransition::TYPED); | 314 browser()->OpenURL( |
| 315 test_page, GURL(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED); |
313 auth_needed_waiter.Wait(); | 316 auth_needed_waiter.Wait(); |
314 } | 317 } |
315 | 318 |
316 while (n_handlers < kMultiRealmTestRealmCount) { | 319 while (n_handlers < kMultiRealmTestRealmCount) { |
317 WindowedAuthNeededObserver auth_needed_waiter(controller); | 320 WindowedAuthNeededObserver auth_needed_waiter(controller); |
318 | 321 |
319 while (!observer.handlers_.empty()) { | 322 while (!observer.handlers_.empty()) { |
320 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); | 323 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); |
321 LoginHandler* handler = *observer.handlers_.begin(); | 324 LoginHandler* handler = *observer.handlers_.begin(); |
322 | 325 |
(...skipping 26 matching lines...) Expand all Loading... |
349 browser()->GetSelectedTabContentsWrapper(); | 352 browser()->GetSelectedTabContentsWrapper(); |
350 ASSERT_TRUE(contents); | 353 ASSERT_TRUE(contents); |
351 | 354 |
352 NavigationController* controller = &contents->controller(); | 355 NavigationController* controller = &contents->controller(); |
353 LoginPromptBrowserTestObserver observer; | 356 LoginPromptBrowserTestObserver observer; |
354 | 357 |
355 observer.Register(Source<NavigationController>(controller)); | 358 observer.Register(Source<NavigationController>(controller)); |
356 | 359 |
357 { | 360 { |
358 WindowedAuthNeededObserver auth_needed_waiter(controller); | 361 WindowedAuthNeededObserver auth_needed_waiter(controller); |
359 browser()->OpenURL(test_page, GURL(), CURRENT_TAB, PageTransition::TYPED); | 362 browser()->OpenURL( |
| 363 test_page, GURL(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED); |
360 auth_needed_waiter.Wait(); | 364 auth_needed_waiter.Wait(); |
361 } | 365 } |
362 | 366 |
363 EXPECT_FALSE(observer.handlers_.empty()); | 367 EXPECT_FALSE(observer.handlers_.empty()); |
364 | 368 |
365 if (!observer.handlers_.empty()) { | 369 if (!observer.handlers_.empty()) { |
366 WindowedAuthNeededObserver auth_needed_waiter(controller); | 370 WindowedAuthNeededObserver auth_needed_waiter(controller); |
367 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); | 371 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); |
368 LoginHandler* handler = *observer.handlers_.begin(); | 372 LoginHandler* handler = *observer.handlers_.begin(); |
369 | 373 |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
422 NavigationController* controller = &contents->controller(); | 426 NavigationController* controller = &contents->controller(); |
423 LoginPromptBrowserTestObserver observer; | 427 LoginPromptBrowserTestObserver observer; |
424 | 428 |
425 observer.Register(Source<NavigationController>(controller)); | 429 observer.Register(Source<NavigationController>(controller)); |
426 | 430 |
427 // First load a page that has a favicon that requires | 431 // First load a page that has a favicon that requires |
428 // authentication. There should be no login prompt. | 432 // authentication. There should be no login prompt. |
429 { | 433 { |
430 GURL test_page = test_server()->GetURL(kFaviconTestPage); | 434 GURL test_page = test_server()->GetURL(kFaviconTestPage); |
431 WindowedLoadStopObserver load_stop_waiter(controller); | 435 WindowedLoadStopObserver load_stop_waiter(controller); |
432 browser()->OpenURL(test_page, GURL(), CURRENT_TAB, PageTransition::TYPED); | 436 browser()->OpenURL( |
| 437 test_page, GURL(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED); |
433 load_stop_waiter.Wait(); | 438 load_stop_waiter.Wait(); |
434 } | 439 } |
435 | 440 |
436 // Now request the same favicon, but directly as the document. | 441 // Now request the same favicon, but directly as the document. |
437 // There should be one login prompt. | 442 // There should be one login prompt. |
438 { | 443 { |
439 GURL test_page = test_server()->GetURL(kFaviconResource); | 444 GURL test_page = test_server()->GetURL(kFaviconResource); |
440 WindowedLoadStopObserver load_stop_waiter(controller); | 445 WindowedLoadStopObserver load_stop_waiter(controller); |
441 WindowedAuthNeededObserver auth_needed_waiter(controller); | 446 WindowedAuthNeededObserver auth_needed_waiter(controller); |
442 browser()->OpenURL(test_page, GURL(), CURRENT_TAB, PageTransition::TYPED); | 447 browser()->OpenURL( |
| 448 test_page, GURL(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED); |
443 auth_needed_waiter.Wait(); | 449 auth_needed_waiter.Wait(); |
444 ASSERT_EQ(1u, observer.handlers_.size()); | 450 ASSERT_EQ(1u, observer.handlers_.size()); |
445 | 451 |
446 while (!observer.handlers_.empty()) { | 452 while (!observer.handlers_.empty()) { |
447 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); | 453 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); |
448 LoginHandler* handler = *observer.handlers_.begin(); | 454 LoginHandler* handler = *observer.handlers_.begin(); |
449 | 455 |
450 ASSERT_TRUE(handler); | 456 ASSERT_TRUE(handler); |
451 handler->CancelAuth(); | 457 handler->CancelAuth(); |
452 auth_cancelled_waiter.Wait(); | 458 auth_cancelled_waiter.Wait(); |
(...skipping 30 matching lines...) Expand all Loading... |
483 ASSERT_EQ("127.0.0.1", test_page.host()); | 489 ASSERT_EQ("127.0.0.1", test_page.host()); |
484 | 490 |
485 // Change the host from 127.0.0.1 to www.a.com so that when the | 491 // Change the host from 127.0.0.1 to www.a.com so that when the |
486 // page tries to load from b, it will be cross-origin. | 492 // page tries to load from b, it will be cross-origin. |
487 std::string new_host("www.a.com"); | 493 std::string new_host("www.a.com"); |
488 GURL::Replacements replacements; | 494 GURL::Replacements replacements; |
489 replacements.SetHostStr(new_host); | 495 replacements.SetHostStr(new_host); |
490 test_page = test_page.ReplaceComponents(replacements); | 496 test_page = test_page.ReplaceComponents(replacements); |
491 | 497 |
492 WindowedLoadStopObserver load_stop_waiter(controller); | 498 WindowedLoadStopObserver load_stop_waiter(controller); |
493 browser()->OpenURL(test_page, GURL(), CURRENT_TAB, PageTransition::TYPED); | 499 browser()->OpenURL( |
| 500 test_page, GURL(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED); |
494 load_stop_waiter.Wait(); | 501 load_stop_waiter.Wait(); |
495 } | 502 } |
496 | 503 |
497 EXPECT_EQ(0, observer.auth_needed_count_); | 504 EXPECT_EQ(0, observer.auth_needed_count_); |
498 | 505 |
499 // Now request the same page, but from the same origin. | 506 // Now request the same page, but from the same origin. |
500 // There should be one login prompt. | 507 // There should be one login prompt. |
501 { | 508 { |
502 GURL test_page = test_server()->GetURL(kTestPage); | 509 GURL test_page = test_server()->GetURL(kTestPage); |
503 ASSERT_EQ("127.0.0.1", test_page.host()); | 510 ASSERT_EQ("127.0.0.1", test_page.host()); |
504 | 511 |
505 // Change the host from 127.0.0.1 to www.b.com so that when the | 512 // Change the host from 127.0.0.1 to www.b.com so that when the |
506 // page tries to load from b, it will be same-origin. | 513 // page tries to load from b, it will be same-origin. |
507 std::string new_host("www.b.com"); | 514 std::string new_host("www.b.com"); |
508 GURL::Replacements replacements; | 515 GURL::Replacements replacements; |
509 replacements.SetHostStr(new_host); | 516 replacements.SetHostStr(new_host); |
510 test_page = test_page.ReplaceComponents(replacements); | 517 test_page = test_page.ReplaceComponents(replacements); |
511 | 518 |
512 WindowedAuthNeededObserver auth_needed_waiter(controller); | 519 WindowedAuthNeededObserver auth_needed_waiter(controller); |
513 browser()->OpenURL(test_page, GURL(), CURRENT_TAB, PageTransition::TYPED); | 520 browser()->OpenURL( |
| 521 test_page, GURL(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED); |
514 auth_needed_waiter.Wait(); | 522 auth_needed_waiter.Wait(); |
515 ASSERT_EQ(1u, observer.handlers_.size()); | 523 ASSERT_EQ(1u, observer.handlers_.size()); |
516 | 524 |
517 while (!observer.handlers_.empty()) { | 525 while (!observer.handlers_.empty()) { |
518 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); | 526 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); |
519 LoginHandler* handler = *observer.handlers_.begin(); | 527 LoginHandler* handler = *observer.handlers_.begin(); |
520 | 528 |
521 ASSERT_TRUE(handler); | 529 ASSERT_TRUE(handler); |
522 handler->CancelAuth(); | 530 handler->CancelAuth(); |
523 auth_cancelled_waiter.Wait(); | 531 auth_cancelled_waiter.Wait(); |
524 } | 532 } |
525 } | 533 } |
526 | 534 |
527 EXPECT_EQ(1, observer.auth_needed_count_); | 535 EXPECT_EQ(1, observer.auth_needed_count_); |
528 EXPECT_TRUE(test_server()->Stop()); | 536 EXPECT_TRUE(test_server()->Stop()); |
529 } | 537 } |
530 | 538 |
531 } // namespace | 539 } // namespace |
OLD | NEW |