| 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 663 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 674 GURL("http://www.3.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 674 GURL("http://www.3.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 675 web::NavigationInitiationType::USER_INITIATED, | 675 web::NavigationInitiationType::USER_INITIATED, |
| 676 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 676 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 677 [session_controller() commitPendingItem]; | 677 [session_controller() commitPendingItem]; |
| 678 web::NavigationItem* item3 = navigation_manager()->GetLastCommittedItem(); | 678 web::NavigationItem* item3 = navigation_manager()->GetLastCommittedItem(); |
| 679 | 679 |
| 680 // Verify that |item2|'s UserAgentType is propagated to |item3|. | 680 // Verify that |item2|'s UserAgentType is propagated to |item3|. |
| 681 EXPECT_EQ(item2->GetUserAgentType(), item3->GetUserAgentType()); | 681 EXPECT_EQ(item2->GetUserAgentType(), item3->GetUserAgentType()); |
| 682 } | 682 } |
| 683 | 683 |
| 684 // Tests that adding transient item for a pending item with mobile user agent |
| 685 // type results in a transient item with mobile user agent type. |
| 686 TEST_F(NavigationManagerTest, AddTransientItemForMobilePendingItem) { |
| 687 navigation_manager()->AddPendingItem( |
| 688 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 689 web::NavigationInitiationType::USER_INITIATED, |
| 690 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 691 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 692 navigation_manager()->GetPendingItem()->SetUserAgentType( |
| 693 UserAgentType::MOBILE); |
| 694 |
| 695 navigation_manager()->AddTransientItem(GURL("http://www.url.com")); |
| 696 ASSERT_TRUE(navigation_manager()->GetTransientItem()); |
| 697 EXPECT_EQ(UserAgentType::MOBILE, |
| 698 navigation_manager()->GetTransientItem()->GetUserAgentType()); |
| 699 EXPECT_EQ(UserAgentType::MOBILE, |
| 700 navigation_manager()->GetPendingItem()->GetUserAgentType()); |
| 701 } |
| 702 |
| 703 // Tests that adding transient item for a pending item with desktop user agent |
| 704 // type results in a transient item with desktop user agent type. |
| 705 TEST_F(NavigationManagerTest, AddTransientItemForDesktopPendingItem) { |
| 706 navigation_manager()->AddPendingItem( |
| 707 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 708 web::NavigationInitiationType::USER_INITIATED, |
| 709 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 710 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 711 navigation_manager()->GetPendingItem()->SetUserAgentType( |
| 712 UserAgentType::DESKTOP); |
| 713 |
| 714 navigation_manager()->AddTransientItem(GURL("http://www.url.com")); |
| 715 ASSERT_TRUE(navigation_manager()->GetTransientItem()); |
| 716 EXPECT_EQ(UserAgentType::DESKTOP, |
| 717 navigation_manager()->GetTransientItem()->GetUserAgentType()); |
| 718 EXPECT_EQ(UserAgentType::DESKTOP, |
| 719 navigation_manager()->GetPendingItem()->GetUserAgentType()); |
| 720 } |
| 721 |
| 684 // Tests that calling |Reload| with web::ReloadType::NORMAL is no-op when there | 722 // Tests that calling |Reload| with web::ReloadType::NORMAL is no-op when there |
| 685 // are no transient, pending and committed items. | 723 // are no transient, pending and committed items. |
| 686 TEST_F(NavigationManagerTest, ReloadEmptyWithNormalType) { | 724 TEST_F(NavigationManagerTest, ReloadEmptyWithNormalType) { |
| 687 ASSERT_FALSE(navigation_manager()->GetTransientItem()); | 725 ASSERT_FALSE(navigation_manager()->GetTransientItem()); |
| 688 ASSERT_FALSE(navigation_manager()->GetPendingItem()); | 726 ASSERT_FALSE(navigation_manager()->GetPendingItem()); |
| 689 ASSERT_FALSE(navigation_manager()->GetLastCommittedItem()); | 727 ASSERT_FALSE(navigation_manager()->GetLastCommittedItem()); |
| 690 | 728 |
| 691 navigation_manager()->Reload(web::ReloadType::NORMAL, | 729 navigation_manager()->Reload(web::ReloadType::NORMAL, |
| 692 false /* check_for_repost */); | 730 false /* check_for_repost */); |
| 693 EXPECT_FALSE(navigation_manager_delegate().reload_called()); | 731 EXPECT_FALSE(navigation_manager_delegate().reload_called()); |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 916 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL, | 954 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL, |
| 917 false /* check_for_repost */); | 955 false /* check_for_repost */); |
| 918 EXPECT_TRUE(navigation_manager_delegate().reload_called()); | 956 EXPECT_TRUE(navigation_manager_delegate().reload_called()); |
| 919 | 957 |
| 920 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); | 958 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 921 EXPECT_EQ(expected_original_url, | 959 EXPECT_EQ(expected_original_url, |
| 922 navigation_manager()->GetLastCommittedItem()->GetURL()); | 960 navigation_manager()->GetLastCommittedItem()->GetURL()); |
| 923 } | 961 } |
| 924 | 962 |
| 925 } // namespace web | 963 } // namespace web |
| OLD | NEW |