OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #import "ios/web/navigation/navigation_manager_impl.h" | 5 #import "ios/web/navigation/navigation_manager_impl.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #import "base/mac/scoped_nsobject.h" | 8 #import "base/mac/scoped_nsobject.h" |
9 #import "ios/web/navigation/crw_session_controller+private_constructors.h" | 9 #import "ios/web/navigation/crw_session_controller+private_constructors.h" |
10 #import "ios/web/navigation/navigation_manager_delegate.h" | 10 #import "ios/web/navigation/navigation_manager_delegate.h" |
(...skipping 497 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
508 // current index is 0). | 508 // current index is 0). |
509 [session_controller() goToItemAtIndex:0]; | 509 [session_controller() goToItemAtIndex:0]; |
510 [session_controller() setPendingItemIndex:1]; | 510 [session_controller() setPendingItemIndex:1]; |
511 ASSERT_EQ(3, navigation_manager()->GetItemCount()); | 511 ASSERT_EQ(3, navigation_manager()->GetItemCount()); |
512 ASSERT_EQ(0, navigation_manager()->GetLastCommittedItemIndex()); | 512 ASSERT_EQ(0, navigation_manager()->GetLastCommittedItemIndex()); |
513 ASSERT_EQ(1, navigation_manager()->GetPendingItemIndex()); | 513 ASSERT_EQ(1, navigation_manager()->GetPendingItemIndex()); |
514 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(1)); | 514 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(1)); |
515 EXPECT_EQ(0, navigation_manager()->GetIndexForOffset(-1)); | 515 EXPECT_EQ(0, navigation_manager()->GetIndexForOffset(-1)); |
516 } | 516 } |
517 | 517 |
| 518 // Tests that when given a pending item, adding a new pending item replaces the |
| 519 // existing pending item if their URLs are different. |
| 520 TEST_F(NavigationManagerTest, ReplacePendingItemIfDiffernetURL) { |
| 521 GURL existing_url = GURL("http://www.existing.com"); |
| 522 navigation_manager()->AddPendingItem( |
| 523 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 524 web::NavigationInitiationType::USER_INITIATED, |
| 525 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 526 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 527 EXPECT_EQ(existing_url, navigation_manager()->GetPendingItem()->GetURL()); |
| 528 EXPECT_EQ(0, navigation_manager()->GetItemCount()); |
| 529 |
| 530 GURL new_url = GURL("http://www.new.com"); |
| 531 navigation_manager()->AddPendingItem( |
| 532 new_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 533 web::NavigationInitiationType::USER_INITIATED, |
| 534 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 535 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 536 EXPECT_EQ(new_url, navigation_manager()->GetPendingItem()->GetURL()); |
| 537 EXPECT_EQ(0, navigation_manager()->GetItemCount()); |
| 538 } |
| 539 |
| 540 // Tests that when given a pending item, adding a new pending item with the same |
| 541 // URL doesn't replace the existing pending item if new pending item is not a |
| 542 // form submission. |
| 543 TEST_F(NavigationManagerTest, NotReplaceSameUrlPendingItemIfNotFormSubmission) { |
| 544 GURL existing_url = GURL("http://www.existing.com"); |
| 545 navigation_manager()->AddPendingItem( |
| 546 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 547 web::NavigationInitiationType::USER_INITIATED, |
| 548 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 549 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 550 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 551 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 552 ui::PAGE_TRANSITION_TYPED)); |
| 553 EXPECT_EQ(0, navigation_manager()->GetItemCount()); |
| 554 |
| 555 navigation_manager()->AddPendingItem( |
| 556 existing_url, Referrer(), ui::PAGE_TRANSITION_LINK, |
| 557 web::NavigationInitiationType::USER_INITIATED, |
| 558 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 559 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 560 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 561 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 562 ui::PAGE_TRANSITION_TYPED)); |
| 563 EXPECT_EQ(0, navigation_manager()->GetItemCount()); |
| 564 } |
| 565 |
| 566 // Tests that when given a pending item, adding a new pending item with the same |
| 567 // URL replaces the existing pending item if new pending item is a form |
| 568 // submission while existing pending item is not. |
| 569 TEST_F(NavigationManagerTest, ReplaceSameUrlPendingItemIfFormSubmission) { |
| 570 GURL existing_url = GURL("http://www.existing.com"); |
| 571 navigation_manager()->AddPendingItem( |
| 572 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 573 web::NavigationInitiationType::USER_INITIATED, |
| 574 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 575 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 576 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 577 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 578 ui::PAGE_TRANSITION_TYPED)); |
| 579 EXPECT_EQ(0, navigation_manager()->GetItemCount()); |
| 580 |
| 581 navigation_manager()->AddPendingItem( |
| 582 existing_url, Referrer(), ui::PAGE_TRANSITION_FORM_SUBMIT, |
| 583 web::NavigationInitiationType::USER_INITIATED, |
| 584 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 585 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 586 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 587 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 588 ui::PAGE_TRANSITION_FORM_SUBMIT)); |
| 589 EXPECT_EQ(0, navigation_manager()->GetItemCount()); |
| 590 } |
| 591 |
| 592 // Tests that when given a pending item, adding a new pending item with the same |
| 593 // URL doesn't replace the existing pending item if the user agent override |
| 594 // option is INHERIT. |
| 595 TEST_F(NavigationManagerTest, NotReplaceSameUrlPendingItemIfOverrideInherit) { |
| 596 GURL existing_url = GURL("http://www.existing.com"); |
| 597 navigation_manager()->AddPendingItem( |
| 598 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 599 web::NavigationInitiationType::USER_INITIATED, |
| 600 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 601 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 602 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 603 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 604 ui::PAGE_TRANSITION_TYPED)); |
| 605 EXPECT_EQ(0, navigation_manager()->GetItemCount()); |
| 606 |
| 607 navigation_manager()->AddPendingItem( |
| 608 existing_url, Referrer(), ui::PAGE_TRANSITION_RELOAD, |
| 609 web::NavigationInitiationType::USER_INITIATED, |
| 610 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 611 |
| 612 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 613 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 614 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 615 ui::PAGE_TRANSITION_TYPED)); |
| 616 EXPECT_EQ(0, navigation_manager()->GetItemCount()); |
| 617 } |
| 618 |
| 619 // Tests that when given a pending item, adding a new pending item with the same |
| 620 // URL replaces the existing pending item if the user agent override option is |
| 621 // DESKTOP. |
| 622 TEST_F(NavigationManagerTest, ReplaceSameUrlPendingItemIfOverrideDesktop) { |
| 623 GURL existing_url = GURL("http://www.existing.com"); |
| 624 navigation_manager()->AddPendingItem( |
| 625 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 626 web::NavigationInitiationType::USER_INITIATED, |
| 627 web::NavigationManager::UserAgentOverrideOption::MOBILE); |
| 628 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 629 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 630 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 631 ui::PAGE_TRANSITION_TYPED)); |
| 632 EXPECT_EQ(web::UserAgentType::MOBILE, |
| 633 navigation_manager()->GetPendingItem()->GetUserAgentType()); |
| 634 EXPECT_EQ(0, navigation_manager()->GetItemCount()); |
| 635 |
| 636 navigation_manager()->AddPendingItem( |
| 637 existing_url, Referrer(), ui::PAGE_TRANSITION_RELOAD, |
| 638 web::NavigationInitiationType::USER_INITIATED, |
| 639 web::NavigationManager::UserAgentOverrideOption::DESKTOP); |
| 640 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 641 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 642 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 643 ui::PAGE_TRANSITION_RELOAD)); |
| 644 EXPECT_EQ(0, navigation_manager()->GetItemCount()); |
| 645 } |
| 646 |
| 647 // Tests that when given a pending item, adding a new pending item with the same |
| 648 // URL replaces the existing pending item if the user agent override option is |
| 649 // MOBILE. |
| 650 TEST_F(NavigationManagerTest, ReplaceSameUrlPendingItemIfOverrideMobile) { |
| 651 GURL existing_url = GURL("http://www.existing.com"); |
| 652 navigation_manager()->AddPendingItem( |
| 653 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 654 web::NavigationInitiationType::USER_INITIATED, |
| 655 web::NavigationManager::UserAgentOverrideOption::DESKTOP); |
| 656 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 657 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 658 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 659 ui::PAGE_TRANSITION_TYPED)); |
| 660 EXPECT_EQ(web::UserAgentType::DESKTOP, |
| 661 navigation_manager()->GetPendingItem()->GetUserAgentType()); |
| 662 EXPECT_EQ(0, navigation_manager()->GetItemCount()); |
| 663 |
| 664 navigation_manager()->AddPendingItem( |
| 665 existing_url, Referrer(), ui::PAGE_TRANSITION_RELOAD, |
| 666 web::NavigationInitiationType::USER_INITIATED, |
| 667 web::NavigationManager::UserAgentOverrideOption::MOBILE); |
| 668 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 669 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 670 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 671 ui::PAGE_TRANSITION_RELOAD)); |
| 672 EXPECT_EQ(0, navigation_manager()->GetItemCount()); |
| 673 } |
| 674 |
| 675 // Tests that when the last committed item exists, adding a pending item |
| 676 // succeeds if the new item's URL is different from the last committed item. |
| 677 TEST_F(NavigationManagerTest, AddPendingItemIfDiffernetURL) { |
| 678 GURL existing_url = GURL("http://www.existing.com"); |
| 679 navigation_manager()->AddPendingItem( |
| 680 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 681 web::NavigationInitiationType::USER_INITIATED, |
| 682 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 683 [session_controller() commitPendingItem]; |
| 684 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 685 EXPECT_EQ(existing_url, |
| 686 navigation_manager()->GetLastCommittedItem()->GetURL()); |
| 687 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 688 |
| 689 GURL new_url = GURL("http://www.new.com"); |
| 690 navigation_manager()->AddPendingItem( |
| 691 new_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 692 web::NavigationInitiationType::USER_INITIATED, |
| 693 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 694 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 695 EXPECT_EQ(new_url, navigation_manager()->GetPendingItem()->GetURL()); |
| 696 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 697 } |
| 698 |
| 699 // Tests that when the last committed item exists, adding a pending item with |
| 700 // the same URL fails if the new item is not form submission. |
| 701 TEST_F(NavigationManagerTest, NotAddSameUrlPendingItemIfNotFormSubmission) { |
| 702 GURL existing_url = GURL("http://www.existing.com"); |
| 703 navigation_manager()->AddPendingItem( |
| 704 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 705 web::NavigationInitiationType::USER_INITIATED, |
| 706 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 707 [session_controller() commitPendingItem]; |
| 708 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 709 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 710 navigation_manager()->GetLastCommittedItem()->GetTransitionType(), |
| 711 ui::PAGE_TRANSITION_TYPED)); |
| 712 EXPECT_FALSE(navigation_manager()->GetPendingItem()); |
| 713 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 714 |
| 715 navigation_manager()->AddPendingItem( |
| 716 existing_url, Referrer(), ui::PAGE_TRANSITION_LINK, |
| 717 web::NavigationInitiationType::USER_INITIATED, |
| 718 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 719 EXPECT_FALSE(navigation_manager()->GetPendingItem()); |
| 720 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 721 } |
| 722 |
| 723 // Tests that when the last committed item exists, adding a pending item with |
| 724 // the same URL succeeds if the new item is a form submission while the last |
| 725 // committed item is not. |
| 726 TEST_F(NavigationManagerTest, AddSameUrlPendingItemIfFormSubmission) { |
| 727 GURL existing_url = GURL("http://www.existing.com"); |
| 728 navigation_manager()->AddPendingItem( |
| 729 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 730 web::NavigationInitiationType::USER_INITIATED, |
| 731 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 732 [session_controller() commitPendingItem]; |
| 733 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 734 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 735 navigation_manager()->GetLastCommittedItem()->GetTransitionType(), |
| 736 ui::PAGE_TRANSITION_TYPED)); |
| 737 EXPECT_FALSE(navigation_manager()->GetPendingItem()); |
| 738 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 739 |
| 740 // Add if new transition is a form submission. |
| 741 navigation_manager()->AddPendingItem( |
| 742 existing_url, Referrer(), ui::PAGE_TRANSITION_FORM_SUBMIT, |
| 743 web::NavigationInitiationType::USER_INITIATED, |
| 744 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 745 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 746 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 747 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 748 ui::PAGE_TRANSITION_FORM_SUBMIT)); |
| 749 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 750 } |
| 751 |
| 752 // Tests that when the last committed item exists, adding a pending item with |
| 753 // the same URL fails if both the new item and the last committed item are form |
| 754 // submissions. |
| 755 TEST_F(NavigationManagerTest, |
| 756 NotAddSameUrlPendingItemIfDuplicateFormSubmission) { |
| 757 GURL existing_url = GURL("http://www.existing.com"); |
| 758 navigation_manager()->AddPendingItem( |
| 759 existing_url, Referrer(), ui::PAGE_TRANSITION_FORM_SUBMIT, |
| 760 web::NavigationInitiationType::USER_INITIATED, |
| 761 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 762 [session_controller() commitPendingItem]; |
| 763 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 764 EXPECT_FALSE(navigation_manager()->GetPendingItem()); |
| 765 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 766 |
| 767 navigation_manager()->AddPendingItem( |
| 768 existing_url, Referrer(), ui::PAGE_TRANSITION_FORM_SUBMIT, |
| 769 web::NavigationInitiationType::USER_INITIATED, |
| 770 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 771 EXPECT_FALSE(navigation_manager()->GetPendingItem()); |
| 772 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 773 } |
| 774 |
| 775 // Tests that when the last committed item exists, adding a pending item with |
| 776 // the same URL fails if the user agent override option is INHERIT. |
| 777 TEST_F(NavigationManagerTest, NotAddSameUrlPendingItemIfOverrideInherit) { |
| 778 GURL existing_url = GURL("http://www.existing.com"); |
| 779 navigation_manager()->AddPendingItem( |
| 780 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 781 web::NavigationInitiationType::USER_INITIATED, |
| 782 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 783 [session_controller() commitPendingItem]; |
| 784 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 785 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 786 navigation_manager()->GetLastCommittedItem()->GetTransitionType(), |
| 787 ui::PAGE_TRANSITION_TYPED)); |
| 788 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 789 |
| 790 navigation_manager()->AddPendingItem( |
| 791 existing_url, Referrer(), ui::PAGE_TRANSITION_RELOAD, |
| 792 web::NavigationInitiationType::USER_INITIATED, |
| 793 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 794 EXPECT_FALSE(navigation_manager()->GetPendingItem()); |
| 795 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 796 } |
| 797 |
| 798 // Tests that when the last committed item exists, adding a pending item with |
| 799 // the same URL succeeds if the user agent override option is DESKTOP. |
| 800 TEST_F(NavigationManagerTest, AddSameUrlPendingItemIfOverrideDesktop) { |
| 801 GURL existing_url = GURL("http://www.existing.com"); |
| 802 navigation_manager()->AddPendingItem( |
| 803 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 804 web::NavigationInitiationType::USER_INITIATED, |
| 805 web::NavigationManager::UserAgentOverrideOption::MOBILE); |
| 806 [session_controller() commitPendingItem]; |
| 807 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 808 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 809 navigation_manager()->GetLastCommittedItem()->GetTransitionType(), |
| 810 ui::PAGE_TRANSITION_TYPED)); |
| 811 EXPECT_EQ(web::UserAgentType::MOBILE, |
| 812 navigation_manager()->GetLastCommittedItem()->GetUserAgentType()); |
| 813 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 814 |
| 815 navigation_manager()->AddPendingItem( |
| 816 existing_url, Referrer(), ui::PAGE_TRANSITION_RELOAD, |
| 817 web::NavigationInitiationType::USER_INITIATED, |
| 818 web::NavigationManager::UserAgentOverrideOption::DESKTOP); |
| 819 |
| 820 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 821 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 822 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 823 ui::PAGE_TRANSITION_RELOAD)); |
| 824 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 825 } |
| 826 |
| 827 // Tests that when the last committed item exists, adding a pending item with |
| 828 // the same URL succeeds if the user agent override option is MOBILE. |
| 829 TEST_F(NavigationManagerTest, AddSameUrlPendingItemIfOverrideMobile) { |
| 830 GURL existing_url = GURL("http://www.existing.com"); |
| 831 navigation_manager()->AddPendingItem( |
| 832 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 833 web::NavigationInitiationType::USER_INITIATED, |
| 834 web::NavigationManager::UserAgentOverrideOption::DESKTOP); |
| 835 [session_controller() commitPendingItem]; |
| 836 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 837 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 838 navigation_manager()->GetLastCommittedItem()->GetTransitionType(), |
| 839 ui::PAGE_TRANSITION_TYPED)); |
| 840 EXPECT_EQ(web::UserAgentType::DESKTOP, |
| 841 navigation_manager()->GetLastCommittedItem()->GetUserAgentType()); |
| 842 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 843 |
| 844 navigation_manager()->AddPendingItem( |
| 845 existing_url, Referrer(), ui::PAGE_TRANSITION_RELOAD, |
| 846 web::NavigationInitiationType::USER_INITIATED, |
| 847 web::NavigationManager::UserAgentOverrideOption::MOBILE); |
| 848 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 849 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 850 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 851 ui::PAGE_TRANSITION_RELOAD)); |
| 852 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 853 } |
| 854 |
518 // Tests that desktop user agent can be enforced to use for next pending item | 855 // Tests that desktop user agent can be enforced to use for next pending item |
519 // when UserAgentOverrideOption is DESKTOP. | 856 // when UserAgentOverrideOption is DESKTOP. |
520 TEST_F(NavigationManagerTest, OverrideUserAgentWithDesktop) { | 857 TEST_F(NavigationManagerTest, OverrideUserAgentWithDesktop) { |
521 navigation_manager()->AddPendingItem( | 858 navigation_manager()->AddPendingItem( |
522 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 859 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
523 web::NavigationInitiationType::USER_INITIATED, | 860 web::NavigationInitiationType::USER_INITIATED, |
524 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 861 web::NavigationManager::UserAgentOverrideOption::MOBILE); |
525 [session_controller() commitPendingItem]; | 862 [session_controller() commitPendingItem]; |
526 NavigationItem* last_committed_item = | 863 NavigationItem* last_committed_item = |
527 navigation_manager()->GetLastCommittedItem(); | 864 navigation_manager()->GetLastCommittedItem(); |
528 EXPECT_EQ(UserAgentType::MOBILE, last_committed_item->GetUserAgentType()); | 865 EXPECT_EQ(UserAgentType::MOBILE, last_committed_item->GetUserAgentType()); |
| 866 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
529 | 867 |
530 navigation_manager()->AddPendingItem( | 868 navigation_manager()->AddPendingItem( |
531 GURL("http://www.2.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 869 GURL("http://www.2.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
532 web::NavigationInitiationType::USER_INITIATED, | 870 web::NavigationInitiationType::USER_INITIATED, |
533 web::NavigationManager::UserAgentOverrideOption::DESKTOP); | 871 web::NavigationManager::UserAgentOverrideOption::DESKTOP); |
534 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 872 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
535 EXPECT_EQ(UserAgentType::DESKTOP, | 873 EXPECT_EQ(UserAgentType::DESKTOP, |
536 navigation_manager()->GetPendingItem()->GetUserAgentType()); | 874 navigation_manager()->GetPendingItem()->GetUserAgentType()); |
| 875 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
537 } | 876 } |
538 | 877 |
539 // Tests that mobile user agent can be enforced to use for next pending item | 878 // Tests that mobile user agent can be enforced to use for next pending item |
540 // when UserAgentOverrideOption is MOBILE. | 879 // when UserAgentOverrideOption is MOBILE. |
541 TEST_F(NavigationManagerTest, OverrideUserAgentWithMobile) { | 880 TEST_F(NavigationManagerTest, OverrideUserAgentWithMobile) { |
542 navigation_manager()->AddPendingItem( | 881 navigation_manager()->AddPendingItem( |
543 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 882 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
544 web::NavigationInitiationType::USER_INITIATED, | 883 web::NavigationInitiationType::USER_INITIATED, |
545 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 884 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
546 [session_controller() commitPendingItem]; | 885 [session_controller() commitPendingItem]; |
(...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
954 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL, | 1293 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL, |
955 false /* check_for_repost */); | 1294 false /* check_for_repost */); |
956 EXPECT_TRUE(navigation_manager_delegate().reload_called()); | 1295 EXPECT_TRUE(navigation_manager_delegate().reload_called()); |
957 | 1296 |
958 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); | 1297 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
959 EXPECT_EQ(expected_original_url, | 1298 EXPECT_EQ(expected_original_url, |
960 navigation_manager()->GetLastCommittedItem()->GetURL()); | 1299 navigation_manager()->GetLastCommittedItem()->GetURL()); |
961 } | 1300 } |
962 | 1301 |
963 } // namespace web | 1302 } // namespace web |
OLD | NEW |