| 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 #include "base/mac/bind_objc_block.h" | 8 #include "base/mac/bind_objc_block.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/legacy_navigation_manager_impl.h" |
| 10 #import "ios/web/navigation/navigation_manager_delegate.h" | 11 #import "ios/web/navigation/navigation_manager_delegate.h" |
| 11 #include "ios/web/public/navigation_item.h" | 12 #include "ios/web/public/navigation_item.h" |
| 12 #include "ios/web/public/test/fakes/test_browser_state.h" | 13 #include "ios/web/public/test/fakes/test_browser_state.h" |
| 13 #include "ios/web/test/test_url_constants.h" | 14 #include "ios/web/test/test_url_constants.h" |
| 14 #include "testing/gtest/include/gtest/gtest.h" | 15 #include "testing/gtest/include/gtest/gtest.h" |
| 15 #include "testing/platform_test.h" | 16 #include "testing/platform_test.h" |
| 16 #include "url/scheme_host_port.h" | 17 #include "url/scheme_host_port.h" |
| 17 #include "url/url_util.h" | 18 #include "url/url_util.h" |
| 18 | 19 |
| 19 #if !defined(__has_feature) || !__has_feature(objc_arc) | 20 #if !defined(__has_feature) || !__has_feature(objc_arc) |
| (...skipping 29 matching lines...) Expand all Loading... |
| 49 void Reload() override { reload_called_ = true; } | 50 void Reload() override { reload_called_ = true; } |
| 50 void OnNavigationItemsPruned(size_t pruned_item_count) override {} | 51 void OnNavigationItemsPruned(size_t pruned_item_count) override {} |
| 51 void OnNavigationItemChanged() override {} | 52 void OnNavigationItemChanged() override {} |
| 52 void OnNavigationItemCommitted(const LoadCommittedDetails&) override {} | 53 void OnNavigationItemCommitted(const LoadCommittedDetails&) override {} |
| 53 WebState* GetWebState() override { return nullptr; } | 54 WebState* GetWebState() override { return nullptr; } |
| 54 | 55 |
| 55 bool reload_called_ = false; | 56 bool reload_called_ = false; |
| 56 }; | 57 }; |
| 57 } // namespace | 58 } // namespace |
| 58 | 59 |
| 59 // Test fixture for NavigationManagerImpl testing. | 60 // Programmatic test fixture for NavigationManagerImpl testing. |
| 60 class NavigationManagerTest : public PlatformTest { | 61 // GetParam() chooses whether to run tests on LegacyNavigationManagerImpl or |
| 62 // (the soon-to-be-implemented) WKBasedNavigationManagerImpl. |
| 63 // TODO(crbug.com/734150): cleanup the LegacyNavigationManagerImpl use case. |
| 64 class NavigationManagerTest : public PlatformTest, |
| 65 public ::testing::WithParamInterface<bool> { |
| 61 protected: | 66 protected: |
| 62 NavigationManagerTest() : manager_(new NavigationManagerImpl()) { | 67 NavigationManagerTest() { |
| 68 bool test_legacy_navigation_manager = GetParam(); |
| 69 if (test_legacy_navigation_manager) { |
| 70 manager_.reset(new LegacyNavigationManagerImpl); |
| 71 } else { |
| 72 DCHECK(false) << "Not implemented."; |
| 73 } |
| 63 // Setup rewriter. | 74 // Setup rewriter. |
| 64 BrowserURLRewriter::GetInstance()->AddURLRewriter(UrlRewriter); | 75 BrowserURLRewriter::GetInstance()->AddURLRewriter(UrlRewriter); |
| 65 url::AddStandardScheme(kSchemeToRewrite, url::SCHEME_WITHOUT_PORT); | 76 url::AddStandardScheme(kSchemeToRewrite, url::SCHEME_WITHOUT_PORT); |
| 66 | 77 |
| 67 manager_->SetDelegate(&delegate_); | 78 manager_->SetDelegate(&delegate_); |
| 68 manager_->SetBrowserState(&browser_state_); | 79 manager_->SetBrowserState(&browser_state_); |
| 69 controller_ = | 80 controller_ = |
| 70 [[CRWSessionController alloc] initWithBrowserState:&browser_state_]; | 81 [[CRWSessionController alloc] initWithBrowserState:&browser_state_]; |
| 71 manager_->SetSessionController(controller_); | 82 manager_->SetSessionController(controller_); |
| 72 } | 83 } |
| 73 CRWSessionController* session_controller() { return controller_; } | 84 CRWSessionController* session_controller() { return controller_; } |
| 74 NavigationManagerImpl* navigation_manager() { return manager_.get(); } | 85 NavigationManagerImpl* navigation_manager() { return manager_.get(); } |
| 86 |
| 75 TestNavigationManagerDelegate navigation_manager_delegate() { | 87 TestNavigationManagerDelegate navigation_manager_delegate() { |
| 76 return delegate_; | 88 return delegate_; |
| 77 } | 89 } |
| 78 | 90 |
| 79 private: | 91 private: |
| 80 TestBrowserState browser_state_; | 92 TestBrowserState browser_state_; |
| 81 TestNavigationManagerDelegate delegate_; | 93 TestNavigationManagerDelegate delegate_; |
| 82 std::unique_ptr<NavigationManagerImpl> manager_; | 94 std::unique_ptr<NavigationManagerImpl> manager_; |
| 83 CRWSessionController* controller_; | 95 CRWSessionController* controller_; |
| 84 }; | 96 }; |
| 85 | 97 |
| 86 // Tests state of an empty navigation manager. | 98 // Tests state of an empty navigation manager. |
| 87 TEST_F(NavigationManagerTest, EmptyManager) { | 99 TEST_P(NavigationManagerTest, EmptyManager) { |
| 88 EXPECT_EQ(0, navigation_manager()->GetItemCount()); | 100 EXPECT_EQ(0, navigation_manager()->GetItemCount()); |
| 89 EXPECT_EQ(-1, navigation_manager()->GetLastCommittedItemIndex()); | 101 EXPECT_EQ(-1, navigation_manager()->GetLastCommittedItemIndex()); |
| 90 EXPECT_EQ(-1, navigation_manager()->GetLastCommittedItemIndex()); | 102 EXPECT_EQ(-1, navigation_manager()->GetLastCommittedItemIndex()); |
| 91 EXPECT_FALSE(navigation_manager()->GetPendingItem()); | 103 EXPECT_FALSE(navigation_manager()->GetPendingItem()); |
| 92 EXPECT_EQ(-1, navigation_manager()->GetPendingItemIndex()); | 104 EXPECT_EQ(-1, navigation_manager()->GetPendingItemIndex()); |
| 93 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(0)); | 105 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(0)); |
| 94 } | 106 } |
| 95 | 107 |
| 96 // Tests that GetPendingItemIndex() returns -1 if there is no pending entry. | 108 // Tests that GetPendingItemIndex() returns -1 if there is no pending entry. |
| 97 TEST_F(NavigationManagerTest, GetPendingItemIndexWithoutPendingEntry) { | 109 TEST_P(NavigationManagerTest, GetPendingItemIndexWithoutPendingEntry) { |
| 98 navigation_manager()->AddPendingItem( | 110 navigation_manager()->AddPendingItem( |
| 99 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 111 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 100 web::NavigationInitiationType::USER_INITIATED, | 112 web::NavigationInitiationType::USER_INITIATED, |
| 101 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 113 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 102 [session_controller() commitPendingItem]; | 114 [session_controller() commitPendingItem]; |
| 103 EXPECT_EQ(-1, navigation_manager()->GetPendingItemIndex()); | 115 EXPECT_EQ(-1, navigation_manager()->GetPendingItemIndex()); |
| 104 } | 116 } |
| 105 | 117 |
| 106 // Tests that GetPendingItemIndex() returns current item index if there is a | 118 // Tests that GetPendingItemIndex() returns current item index if there is a |
| 107 // pending entry. | 119 // pending entry. |
| 108 TEST_F(NavigationManagerTest, GetPendingItemIndexWithPendingEntry) { | 120 TEST_P(NavigationManagerTest, GetPendingItemIndexWithPendingEntry) { |
| 109 navigation_manager()->AddPendingItem( | 121 navigation_manager()->AddPendingItem( |
| 110 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 122 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 111 web::NavigationInitiationType::USER_INITIATED, | 123 web::NavigationInitiationType::USER_INITIATED, |
| 112 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 124 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 113 [session_controller() commitPendingItem]; | 125 [session_controller() commitPendingItem]; |
| 114 navigation_manager()->AddPendingItem( | 126 navigation_manager()->AddPendingItem( |
| 115 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 127 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 116 web::NavigationInitiationType::USER_INITIATED, | 128 web::NavigationInitiationType::USER_INITIATED, |
| 117 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 129 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 118 EXPECT_EQ(0, navigation_manager()->GetPendingItemIndex()); | 130 EXPECT_EQ(0, navigation_manager()->GetPendingItemIndex()); |
| 119 } | 131 } |
| 120 | 132 |
| 121 // Tests that GetPendingItemIndex() returns same index as was set by | 133 // Tests that GetPendingItemIndex() returns same index as was set by |
| 122 // -[CRWSessionController setPendingItemIndex:]. | 134 // -[CRWSessionController setPendingItemIndex:]. |
| 123 TEST_F(NavigationManagerTest, GetPendingItemIndexWithIndexedPendingEntry) { | 135 TEST_P(NavigationManagerTest, GetPendingItemIndexWithIndexedPendingEntry) { |
| 124 navigation_manager()->AddPendingItem( | 136 navigation_manager()->AddPendingItem( |
| 125 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 137 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 126 web::NavigationInitiationType::USER_INITIATED, | 138 web::NavigationInitiationType::USER_INITIATED, |
| 127 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 139 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 128 [session_controller() commitPendingItem]; | 140 [session_controller() commitPendingItem]; |
| 129 navigation_manager()->AddPendingItem( | 141 navigation_manager()->AddPendingItem( |
| 130 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 142 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 131 web::NavigationInitiationType::USER_INITIATED, | 143 web::NavigationInitiationType::USER_INITIATED, |
| 132 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 144 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 133 [session_controller() commitPendingItem]; | 145 [session_controller() commitPendingItem]; |
| 134 | 146 |
| 135 EXPECT_EQ(-1, navigation_manager()->GetPendingItemIndex()); | 147 EXPECT_EQ(-1, navigation_manager()->GetPendingItemIndex()); |
| 136 [session_controller() setPendingItemIndex:0]; | 148 [session_controller() setPendingItemIndex:0]; |
| 137 EXPECT_EQ(0, navigation_manager()->GetPendingItemIndex()); | 149 EXPECT_EQ(0, navigation_manager()->GetPendingItemIndex()); |
| 138 } | 150 } |
| 139 | 151 |
| 140 // Tests that going back or negative offset is not possible without a committed | 152 // Tests that going back or negative offset is not possible without a committed |
| 141 // item. | 153 // item. |
| 142 TEST_F(NavigationManagerTest, CanGoBackWithoutCommitedItem) { | 154 TEST_P(NavigationManagerTest, CanGoBackWithoutCommitedItem) { |
| 143 EXPECT_FALSE(navigation_manager()->CanGoBack()); | 155 EXPECT_FALSE(navigation_manager()->CanGoBack()); |
| 144 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); | 156 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); |
| 145 } | 157 } |
| 146 | 158 |
| 147 // Tests that going back or negative offset is not possible if there is a | 159 // Tests that going back or negative offset is not possible if there is a |
| 148 // transient item, but not committed items. | 160 // transient item, but not committed items. |
| 149 TEST_F(NavigationManagerTest, CanGoBackWithTransientItem) { | 161 TEST_P(NavigationManagerTest, CanGoBackWithTransientItem) { |
| 150 [session_controller() addTransientItemWithURL:GURL("http://www.url.com")]; | 162 [session_controller() addTransientItemWithURL:GURL("http://www.url.com")]; |
| 151 | 163 |
| 152 EXPECT_FALSE(navigation_manager()->CanGoBack()); | 164 EXPECT_FALSE(navigation_manager()->CanGoBack()); |
| 153 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); | 165 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); |
| 154 } | 166 } |
| 155 | 167 |
| 156 // Tests that going back or negative offset is possible if there is a transient | 168 // Tests that going back or negative offset is possible if there is a transient |
| 157 // item and at least one committed item. | 169 // item and at least one committed item. |
| 158 TEST_F(NavigationManagerTest, CanGoBackWithTransientItemAndCommittedItem) { | 170 TEST_P(NavigationManagerTest, CanGoBackWithTransientItemAndCommittedItem) { |
| 159 navigation_manager()->AddPendingItem( | 171 navigation_manager()->AddPendingItem( |
| 160 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 172 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 161 web::NavigationInitiationType::USER_INITIATED, | 173 web::NavigationInitiationType::USER_INITIATED, |
| 162 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 174 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 163 [session_controller() commitPendingItem]; | 175 [session_controller() commitPendingItem]; |
| 164 [session_controller() addTransientItemWithURL:GURL("http://www.url.com/0")]; | 176 [session_controller() addTransientItemWithURL:GURL("http://www.url.com/0")]; |
| 165 | 177 |
| 166 EXPECT_TRUE(navigation_manager()->CanGoBack()); | 178 EXPECT_TRUE(navigation_manager()->CanGoBack()); |
| 167 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); | 179 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); |
| 168 } | 180 } |
| 169 | 181 |
| 170 // Tests that going back or negative offset is not possible if there is ony one | 182 // Tests that going back or negative offset is not possible if there is ony one |
| 171 // committed item and no transient item. | 183 // committed item and no transient item. |
| 172 TEST_F(NavigationManagerTest, CanGoBackWithSingleCommitedItem) { | 184 TEST_P(NavigationManagerTest, CanGoBackWithSingleCommitedItem) { |
| 173 navigation_manager()->AddPendingItem( | 185 navigation_manager()->AddPendingItem( |
| 174 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 186 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 175 web::NavigationInitiationType::USER_INITIATED, | 187 web::NavigationInitiationType::USER_INITIATED, |
| 176 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 188 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 177 [session_controller() commitPendingItem]; | 189 [session_controller() commitPendingItem]; |
| 178 | 190 |
| 179 EXPECT_FALSE(navigation_manager()->CanGoBack()); | 191 EXPECT_FALSE(navigation_manager()->CanGoBack()); |
| 180 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); | 192 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); |
| 181 } | 193 } |
| 182 | 194 |
| 183 // Tests going back possibility with multiple committed items. | 195 // Tests going back possibility with multiple committed items. |
| 184 TEST_F(NavigationManagerTest, CanGoBackWithMultipleCommitedItems) { | 196 TEST_P(NavigationManagerTest, CanGoBackWithMultipleCommitedItems) { |
| 185 navigation_manager()->AddPendingItem( | 197 navigation_manager()->AddPendingItem( |
| 186 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 198 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 187 web::NavigationInitiationType::USER_INITIATED, | 199 web::NavigationInitiationType::USER_INITIATED, |
| 188 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 200 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 189 [session_controller() commitPendingItem]; | 201 [session_controller() commitPendingItem]; |
| 190 navigation_manager()->AddPendingItem( | 202 navigation_manager()->AddPendingItem( |
| 191 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 203 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 192 web::NavigationInitiationType::USER_INITIATED, | 204 web::NavigationInitiationType::USER_INITIATED, |
| 193 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 205 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 194 [session_controller() commitPendingItem]; | 206 [session_controller() commitPendingItem]; |
| (...skipping 14 matching lines...) Expand all Loading... |
| 209 EXPECT_FALSE(navigation_manager()->CanGoBack()); | 221 EXPECT_FALSE(navigation_manager()->CanGoBack()); |
| 210 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); | 222 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); |
| 211 | 223 |
| 212 [session_controller() goToItemAtIndex:1 discardNonCommittedItems:NO]; | 224 [session_controller() goToItemAtIndex:1 discardNonCommittedItems:NO]; |
| 213 EXPECT_TRUE(navigation_manager()->CanGoBack()); | 225 EXPECT_TRUE(navigation_manager()->CanGoBack()); |
| 214 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); | 226 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); |
| 215 } | 227 } |
| 216 | 228 |
| 217 // Tests that going forward or positive offset is not possible without a | 229 // Tests that going forward or positive offset is not possible without a |
| 218 // committed item. | 230 // committed item. |
| 219 TEST_F(NavigationManagerTest, CanGoForwardWithoutCommitedItem) { | 231 TEST_P(NavigationManagerTest, CanGoForwardWithoutCommitedItem) { |
| 220 EXPECT_FALSE(navigation_manager()->CanGoForward()); | 232 EXPECT_FALSE(navigation_manager()->CanGoForward()); |
| 221 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); | 233 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); |
| 222 } | 234 } |
| 223 | 235 |
| 224 // Tests that going forward or positive offset is not possible if there is ony | 236 // Tests that going forward or positive offset is not possible if there is ony |
| 225 // one committed item and no transient item. | 237 // one committed item and no transient item. |
| 226 TEST_F(NavigationManagerTest, CanGoForwardWithSingleCommitedItem) { | 238 TEST_P(NavigationManagerTest, CanGoForwardWithSingleCommitedItem) { |
| 227 navigation_manager()->AddPendingItem( | 239 navigation_manager()->AddPendingItem( |
| 228 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 240 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 229 web::NavigationInitiationType::USER_INITIATED, | 241 web::NavigationInitiationType::USER_INITIATED, |
| 230 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 242 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 231 [session_controller() commitPendingItem]; | 243 [session_controller() commitPendingItem]; |
| 232 | 244 |
| 233 EXPECT_FALSE(navigation_manager()->CanGoForward()); | 245 EXPECT_FALSE(navigation_manager()->CanGoForward()); |
| 234 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); | 246 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); |
| 235 } | 247 } |
| 236 | 248 |
| 237 // Tests going forward possibility with multiple committed items. | 249 // Tests going forward possibility with multiple committed items. |
| 238 TEST_F(NavigationManagerTest, CanGoForwardWithMultipleCommitedEntries) { | 250 TEST_P(NavigationManagerTest, CanGoForwardWithMultipleCommitedEntries) { |
| 239 navigation_manager()->AddPendingItem( | 251 navigation_manager()->AddPendingItem( |
| 240 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 252 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 241 web::NavigationInitiationType::USER_INITIATED, | 253 web::NavigationInitiationType::USER_INITIATED, |
| 242 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 254 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 243 [session_controller() commitPendingItem]; | 255 [session_controller() commitPendingItem]; |
| 244 navigation_manager()->AddPendingItem( | 256 navigation_manager()->AddPendingItem( |
| 245 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 257 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 246 web::NavigationInitiationType::USER_INITIATED, | 258 web::NavigationInitiationType::USER_INITIATED, |
| 247 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 259 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 248 [session_controller() commitPendingItem]; | 260 [session_controller() commitPendingItem]; |
| (...skipping 19 matching lines...) Expand all Loading... |
| 268 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); | 280 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); |
| 269 | 281 |
| 270 [session_controller() goToItemAtIndex:2 discardNonCommittedItems:NO]; | 282 [session_controller() goToItemAtIndex:2 discardNonCommittedItems:NO]; |
| 271 EXPECT_FALSE(navigation_manager()->CanGoForward()); | 283 EXPECT_FALSE(navigation_manager()->CanGoForward()); |
| 272 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); | 284 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); |
| 273 } | 285 } |
| 274 | 286 |
| 275 // Tests CanGoToOffset API for positive, negative and zero delta. Tested | 287 // Tests CanGoToOffset API for positive, negative and zero delta. Tested |
| 276 // navigation manager will have redirect entries to make sure they are | 288 // navigation manager will have redirect entries to make sure they are |
| 277 // appropriately skipped. | 289 // appropriately skipped. |
| 278 TEST_F(NavigationManagerTest, OffsetsWithoutPendingIndex) { | 290 TEST_P(NavigationManagerTest, OffsetsWithoutPendingIndex) { |
| 279 navigation_manager()->AddPendingItem( | 291 navigation_manager()->AddPendingItem( |
| 280 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_LINK, | 292 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_LINK, |
| 281 web::NavigationInitiationType::USER_INITIATED, | 293 web::NavigationInitiationType::USER_INITIATED, |
| 282 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 294 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 283 [session_controller() commitPendingItem]; | 295 [session_controller() commitPendingItem]; |
| 284 navigation_manager()->AddPendingItem( | 296 navigation_manager()->AddPendingItem( |
| 285 GURL("http://www.url.com/redirect"), Referrer(), | 297 GURL("http://www.url.com/redirect"), Referrer(), |
| 286 ui::PAGE_TRANSITION_CLIENT_REDIRECT, | 298 ui::PAGE_TRANSITION_CLIENT_REDIRECT, |
| 287 web::NavigationInitiationType::USER_INITIATED, | 299 web::NavigationInitiationType::USER_INITIATED, |
| 288 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 300 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| (...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 495 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1000000000)); | 507 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1000000000)); |
| 496 EXPECT_EQ(INT_MAX, navigation_manager()->GetIndexForOffset(INT_MAX)); | 508 EXPECT_EQ(INT_MAX, navigation_manager()->GetIndexForOffset(INT_MAX)); |
| 497 EXPECT_EQ(-2147483645, navigation_manager()->GetIndexForOffset(INT_MIN)); | 509 EXPECT_EQ(-2147483645, navigation_manager()->GetIndexForOffset(INT_MIN)); |
| 498 EXPECT_EQ(-999999997, navigation_manager()->GetIndexForOffset(-1000000000)); | 510 EXPECT_EQ(-999999997, navigation_manager()->GetIndexForOffset(-1000000000)); |
| 499 EXPECT_EQ(1000000004, navigation_manager()->GetIndexForOffset(1000000000)); | 511 EXPECT_EQ(1000000004, navigation_manager()->GetIndexForOffset(1000000000)); |
| 500 } | 512 } |
| 501 | 513 |
| 502 // Tests offsets with pending transient entries (specifically gong back and | 514 // Tests offsets with pending transient entries (specifically gong back and |
| 503 // forward from a pending navigation entry that is added to the middle of the | 515 // forward from a pending navigation entry that is added to the middle of the |
| 504 // navigation stack). | 516 // navigation stack). |
| 505 TEST_F(NavigationManagerTest, OffsetsWithPendingTransientEntry) { | 517 TEST_P(NavigationManagerTest, OffsetsWithPendingTransientEntry) { |
| 506 // Create a transient item in the middle of the navigation stack and go back | 518 // Create a transient item in the middle of the navigation stack and go back |
| 507 // to it (pending index is 1, current index is 2). | 519 // to it (pending index is 1, current index is 2). |
| 508 navigation_manager()->AddPendingItem( | 520 navigation_manager()->AddPendingItem( |
| 509 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_LINK, | 521 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_LINK, |
| 510 web::NavigationInitiationType::USER_INITIATED, | 522 web::NavigationInitiationType::USER_INITIATED, |
| 511 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 523 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 512 [session_controller() commitPendingItem]; | 524 [session_controller() commitPendingItem]; |
| 513 navigation_manager()->AddPendingItem( | 525 navigation_manager()->AddPendingItem( |
| 514 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_LINK, | 526 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_LINK, |
| 515 web::NavigationInitiationType::USER_INITIATED, | 527 web::NavigationInitiationType::USER_INITIATED, |
| (...skipping 19 matching lines...) Expand all Loading... |
| 535 [session_controller() setPendingItemIndex:1]; | 547 [session_controller() setPendingItemIndex:1]; |
| 536 ASSERT_EQ(3, navigation_manager()->GetItemCount()); | 548 ASSERT_EQ(3, navigation_manager()->GetItemCount()); |
| 537 ASSERT_EQ(0, navigation_manager()->GetLastCommittedItemIndex()); | 549 ASSERT_EQ(0, navigation_manager()->GetLastCommittedItemIndex()); |
| 538 ASSERT_EQ(1, navigation_manager()->GetPendingItemIndex()); | 550 ASSERT_EQ(1, navigation_manager()->GetPendingItemIndex()); |
| 539 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(1)); | 551 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(1)); |
| 540 EXPECT_EQ(0, navigation_manager()->GetIndexForOffset(-1)); | 552 EXPECT_EQ(0, navigation_manager()->GetIndexForOffset(-1)); |
| 541 } | 553 } |
| 542 | 554 |
| 543 // Tests that when given a pending item, adding a new pending item replaces the | 555 // Tests that when given a pending item, adding a new pending item replaces the |
| 544 // existing pending item if their URLs are different. | 556 // existing pending item if their URLs are different. |
| 545 TEST_F(NavigationManagerTest, ReplacePendingItemIfDiffernetURL) { | 557 TEST_P(NavigationManagerTest, ReplacePendingItemIfDiffernetURL) { |
| 546 GURL existing_url = GURL("http://www.existing.com"); | 558 GURL existing_url = GURL("http://www.existing.com"); |
| 547 navigation_manager()->AddPendingItem( | 559 navigation_manager()->AddPendingItem( |
| 548 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, | 560 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 549 web::NavigationInitiationType::USER_INITIATED, | 561 web::NavigationInitiationType::USER_INITIATED, |
| 550 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 562 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 551 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 563 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 552 EXPECT_EQ(existing_url, navigation_manager()->GetPendingItem()->GetURL()); | 564 EXPECT_EQ(existing_url, navigation_manager()->GetPendingItem()->GetURL()); |
| 553 EXPECT_EQ(0, navigation_manager()->GetItemCount()); | 565 EXPECT_EQ(0, navigation_manager()->GetItemCount()); |
| 554 | 566 |
| 555 GURL new_url = GURL("http://www.new.com"); | 567 GURL new_url = GURL("http://www.new.com"); |
| 556 navigation_manager()->AddPendingItem( | 568 navigation_manager()->AddPendingItem( |
| 557 new_url, Referrer(), ui::PAGE_TRANSITION_TYPED, | 569 new_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 558 web::NavigationInitiationType::USER_INITIATED, | 570 web::NavigationInitiationType::USER_INITIATED, |
| 559 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 571 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 560 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 572 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 561 EXPECT_EQ(new_url, navigation_manager()->GetPendingItem()->GetURL()); | 573 EXPECT_EQ(new_url, navigation_manager()->GetPendingItem()->GetURL()); |
| 562 EXPECT_EQ(0, navigation_manager()->GetItemCount()); | 574 EXPECT_EQ(0, navigation_manager()->GetItemCount()); |
| 563 } | 575 } |
| 564 | 576 |
| 565 // Tests that when given a pending item, adding a new pending item with the same | 577 // Tests that when given a pending item, adding a new pending item with the same |
| 566 // URL doesn't replace the existing pending item if new pending item is not a | 578 // URL doesn't replace the existing pending item if new pending item is not a |
| 567 // form submission. | 579 // form submission. |
| 568 TEST_F(NavigationManagerTest, NotReplaceSameUrlPendingItemIfNotFormSubmission) { | 580 TEST_P(NavigationManagerTest, NotReplaceSameUrlPendingItemIfNotFormSubmission) { |
| 569 GURL existing_url = GURL("http://www.existing.com"); | 581 GURL existing_url = GURL("http://www.existing.com"); |
| 570 navigation_manager()->AddPendingItem( | 582 navigation_manager()->AddPendingItem( |
| 571 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, | 583 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 572 web::NavigationInitiationType::USER_INITIATED, | 584 web::NavigationInitiationType::USER_INITIATED, |
| 573 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 585 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 574 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 586 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 575 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( | 587 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 576 navigation_manager()->GetPendingItem()->GetTransitionType(), | 588 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 577 ui::PAGE_TRANSITION_TYPED)); | 589 ui::PAGE_TRANSITION_TYPED)); |
| 578 EXPECT_EQ(0, navigation_manager()->GetItemCount()); | 590 EXPECT_EQ(0, navigation_manager()->GetItemCount()); |
| 579 | 591 |
| 580 navigation_manager()->AddPendingItem( | 592 navigation_manager()->AddPendingItem( |
| 581 existing_url, Referrer(), ui::PAGE_TRANSITION_LINK, | 593 existing_url, Referrer(), ui::PAGE_TRANSITION_LINK, |
| 582 web::NavigationInitiationType::USER_INITIATED, | 594 web::NavigationInitiationType::USER_INITIATED, |
| 583 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 595 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 584 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 596 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 585 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( | 597 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 586 navigation_manager()->GetPendingItem()->GetTransitionType(), | 598 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 587 ui::PAGE_TRANSITION_TYPED)); | 599 ui::PAGE_TRANSITION_TYPED)); |
| 588 EXPECT_EQ(0, navigation_manager()->GetItemCount()); | 600 EXPECT_EQ(0, navigation_manager()->GetItemCount()); |
| 589 } | 601 } |
| 590 | 602 |
| 591 // Tests that when given a pending item, adding a new pending item with the same | 603 // Tests that when given a pending item, adding a new pending item with the same |
| 592 // URL replaces the existing pending item if new pending item is a form | 604 // URL replaces the existing pending item if new pending item is a form |
| 593 // submission while existing pending item is not. | 605 // submission while existing pending item is not. |
| 594 TEST_F(NavigationManagerTest, ReplaceSameUrlPendingItemIfFormSubmission) { | 606 TEST_P(NavigationManagerTest, ReplaceSameUrlPendingItemIfFormSubmission) { |
| 595 GURL existing_url = GURL("http://www.existing.com"); | 607 GURL existing_url = GURL("http://www.existing.com"); |
| 596 navigation_manager()->AddPendingItem( | 608 navigation_manager()->AddPendingItem( |
| 597 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, | 609 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 598 web::NavigationInitiationType::USER_INITIATED, | 610 web::NavigationInitiationType::USER_INITIATED, |
| 599 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 611 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 600 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 612 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 601 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( | 613 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 602 navigation_manager()->GetPendingItem()->GetTransitionType(), | 614 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 603 ui::PAGE_TRANSITION_TYPED)); | 615 ui::PAGE_TRANSITION_TYPED)); |
| 604 EXPECT_EQ(0, navigation_manager()->GetItemCount()); | 616 EXPECT_EQ(0, navigation_manager()->GetItemCount()); |
| 605 | 617 |
| 606 navigation_manager()->AddPendingItem( | 618 navigation_manager()->AddPendingItem( |
| 607 existing_url, Referrer(), ui::PAGE_TRANSITION_FORM_SUBMIT, | 619 existing_url, Referrer(), ui::PAGE_TRANSITION_FORM_SUBMIT, |
| 608 web::NavigationInitiationType::USER_INITIATED, | 620 web::NavigationInitiationType::USER_INITIATED, |
| 609 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 621 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 610 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 622 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 611 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( | 623 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 612 navigation_manager()->GetPendingItem()->GetTransitionType(), | 624 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 613 ui::PAGE_TRANSITION_FORM_SUBMIT)); | 625 ui::PAGE_TRANSITION_FORM_SUBMIT)); |
| 614 EXPECT_EQ(0, navigation_manager()->GetItemCount()); | 626 EXPECT_EQ(0, navigation_manager()->GetItemCount()); |
| 615 } | 627 } |
| 616 | 628 |
| 617 // Tests that when given a pending item, adding a new pending item with the same | 629 // Tests that when given a pending item, adding a new pending item with the same |
| 618 // URL doesn't replace the existing pending item if the user agent override | 630 // URL doesn't replace the existing pending item if the user agent override |
| 619 // option is INHERIT. | 631 // option is INHERIT. |
| 620 TEST_F(NavigationManagerTest, NotReplaceSameUrlPendingItemIfOverrideInherit) { | 632 TEST_P(NavigationManagerTest, NotReplaceSameUrlPendingItemIfOverrideInherit) { |
| 621 GURL existing_url = GURL("http://www.existing.com"); | 633 GURL existing_url = GURL("http://www.existing.com"); |
| 622 navigation_manager()->AddPendingItem( | 634 navigation_manager()->AddPendingItem( |
| 623 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, | 635 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 624 web::NavigationInitiationType::USER_INITIATED, | 636 web::NavigationInitiationType::USER_INITIATED, |
| 625 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 637 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 626 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 638 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 627 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( | 639 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 628 navigation_manager()->GetPendingItem()->GetTransitionType(), | 640 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 629 ui::PAGE_TRANSITION_TYPED)); | 641 ui::PAGE_TRANSITION_TYPED)); |
| 630 EXPECT_EQ(0, navigation_manager()->GetItemCount()); | 642 EXPECT_EQ(0, navigation_manager()->GetItemCount()); |
| 631 | 643 |
| 632 navigation_manager()->AddPendingItem( | 644 navigation_manager()->AddPendingItem( |
| 633 existing_url, Referrer(), ui::PAGE_TRANSITION_RELOAD, | 645 existing_url, Referrer(), ui::PAGE_TRANSITION_RELOAD, |
| 634 web::NavigationInitiationType::USER_INITIATED, | 646 web::NavigationInitiationType::USER_INITIATED, |
| 635 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 647 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 636 | 648 |
| 637 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 649 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 638 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( | 650 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 639 navigation_manager()->GetPendingItem()->GetTransitionType(), | 651 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 640 ui::PAGE_TRANSITION_TYPED)); | 652 ui::PAGE_TRANSITION_TYPED)); |
| 641 EXPECT_EQ(0, navigation_manager()->GetItemCount()); | 653 EXPECT_EQ(0, navigation_manager()->GetItemCount()); |
| 642 } | 654 } |
| 643 | 655 |
| 644 // Tests that when given a pending item, adding a new pending item with the same | 656 // Tests that when given a pending item, adding a new pending item with the same |
| 645 // URL replaces the existing pending item if the user agent override option is | 657 // URL replaces the existing pending item if the user agent override option is |
| 646 // DESKTOP. | 658 // DESKTOP. |
| 647 TEST_F(NavigationManagerTest, ReplaceSameUrlPendingItemIfOverrideDesktop) { | 659 TEST_P(NavigationManagerTest, ReplaceSameUrlPendingItemIfOverrideDesktop) { |
| 648 GURL existing_url = GURL("http://www.existing.com"); | 660 GURL existing_url = GURL("http://www.existing.com"); |
| 649 navigation_manager()->AddPendingItem( | 661 navigation_manager()->AddPendingItem( |
| 650 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, | 662 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 651 web::NavigationInitiationType::USER_INITIATED, | 663 web::NavigationInitiationType::USER_INITIATED, |
| 652 web::NavigationManager::UserAgentOverrideOption::MOBILE); | 664 web::NavigationManager::UserAgentOverrideOption::MOBILE); |
| 653 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 665 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 654 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( | 666 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 655 navigation_manager()->GetPendingItem()->GetTransitionType(), | 667 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 656 ui::PAGE_TRANSITION_TYPED)); | 668 ui::PAGE_TRANSITION_TYPED)); |
| 657 EXPECT_EQ(web::UserAgentType::MOBILE, | 669 EXPECT_EQ(web::UserAgentType::MOBILE, |
| 658 navigation_manager()->GetPendingItem()->GetUserAgentType()); | 670 navigation_manager()->GetPendingItem()->GetUserAgentType()); |
| 659 EXPECT_EQ(0, navigation_manager()->GetItemCount()); | 671 EXPECT_EQ(0, navigation_manager()->GetItemCount()); |
| 660 | 672 |
| 661 navigation_manager()->AddPendingItem( | 673 navigation_manager()->AddPendingItem( |
| 662 existing_url, Referrer(), ui::PAGE_TRANSITION_RELOAD, | 674 existing_url, Referrer(), ui::PAGE_TRANSITION_RELOAD, |
| 663 web::NavigationInitiationType::USER_INITIATED, | 675 web::NavigationInitiationType::USER_INITIATED, |
| 664 web::NavigationManager::UserAgentOverrideOption::DESKTOP); | 676 web::NavigationManager::UserAgentOverrideOption::DESKTOP); |
| 665 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 677 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 666 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( | 678 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 667 navigation_manager()->GetPendingItem()->GetTransitionType(), | 679 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 668 ui::PAGE_TRANSITION_RELOAD)); | 680 ui::PAGE_TRANSITION_RELOAD)); |
| 669 EXPECT_EQ(0, navigation_manager()->GetItemCount()); | 681 EXPECT_EQ(0, navigation_manager()->GetItemCount()); |
| 670 } | 682 } |
| 671 | 683 |
| 672 // Tests that when given a pending item, adding a new pending item with the same | 684 // Tests that when given a pending item, adding a new pending item with the same |
| 673 // URL replaces the existing pending item if the user agent override option is | 685 // URL replaces the existing pending item if the user agent override option is |
| 674 // MOBILE. | 686 // MOBILE. |
| 675 TEST_F(NavigationManagerTest, ReplaceSameUrlPendingItemIfOverrideMobile) { | 687 TEST_P(NavigationManagerTest, ReplaceSameUrlPendingItemIfOverrideMobile) { |
| 676 GURL existing_url = GURL("http://www.existing.com"); | 688 GURL existing_url = GURL("http://www.existing.com"); |
| 677 navigation_manager()->AddPendingItem( | 689 navigation_manager()->AddPendingItem( |
| 678 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, | 690 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 679 web::NavigationInitiationType::USER_INITIATED, | 691 web::NavigationInitiationType::USER_INITIATED, |
| 680 web::NavigationManager::UserAgentOverrideOption::DESKTOP); | 692 web::NavigationManager::UserAgentOverrideOption::DESKTOP); |
| 681 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 693 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 682 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( | 694 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 683 navigation_manager()->GetPendingItem()->GetTransitionType(), | 695 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 684 ui::PAGE_TRANSITION_TYPED)); | 696 ui::PAGE_TRANSITION_TYPED)); |
| 685 EXPECT_EQ(web::UserAgentType::DESKTOP, | 697 EXPECT_EQ(web::UserAgentType::DESKTOP, |
| 686 navigation_manager()->GetPendingItem()->GetUserAgentType()); | 698 navigation_manager()->GetPendingItem()->GetUserAgentType()); |
| 687 EXPECT_EQ(0, navigation_manager()->GetItemCount()); | 699 EXPECT_EQ(0, navigation_manager()->GetItemCount()); |
| 688 | 700 |
| 689 navigation_manager()->AddPendingItem( | 701 navigation_manager()->AddPendingItem( |
| 690 existing_url, Referrer(), ui::PAGE_TRANSITION_RELOAD, | 702 existing_url, Referrer(), ui::PAGE_TRANSITION_RELOAD, |
| 691 web::NavigationInitiationType::USER_INITIATED, | 703 web::NavigationInitiationType::USER_INITIATED, |
| 692 web::NavigationManager::UserAgentOverrideOption::MOBILE); | 704 web::NavigationManager::UserAgentOverrideOption::MOBILE); |
| 693 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 705 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 694 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( | 706 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 695 navigation_manager()->GetPendingItem()->GetTransitionType(), | 707 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 696 ui::PAGE_TRANSITION_RELOAD)); | 708 ui::PAGE_TRANSITION_RELOAD)); |
| 697 EXPECT_EQ(0, navigation_manager()->GetItemCount()); | 709 EXPECT_EQ(0, navigation_manager()->GetItemCount()); |
| 698 } | 710 } |
| 699 | 711 |
| 700 // Tests that when the last committed item exists, adding a pending item | 712 // Tests that when the last committed item exists, adding a pending item |
| 701 // succeeds if the new item's URL is different from the last committed item. | 713 // succeeds if the new item's URL is different from the last committed item. |
| 702 TEST_F(NavigationManagerTest, AddPendingItemIfDiffernetURL) { | 714 TEST_P(NavigationManagerTest, AddPendingItemIfDiffernetURL) { |
| 703 GURL existing_url = GURL("http://www.existing.com"); | 715 GURL existing_url = GURL("http://www.existing.com"); |
| 704 navigation_manager()->AddPendingItem( | 716 navigation_manager()->AddPendingItem( |
| 705 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, | 717 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 706 web::NavigationInitiationType::USER_INITIATED, | 718 web::NavigationInitiationType::USER_INITIATED, |
| 707 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 719 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 708 [session_controller() commitPendingItem]; | 720 [session_controller() commitPendingItem]; |
| 709 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); | 721 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 710 EXPECT_EQ(existing_url, | 722 EXPECT_EQ(existing_url, |
| 711 navigation_manager()->GetLastCommittedItem()->GetURL()); | 723 navigation_manager()->GetLastCommittedItem()->GetURL()); |
| 712 EXPECT_EQ(1, navigation_manager()->GetItemCount()); | 724 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 713 | 725 |
| 714 GURL new_url = GURL("http://www.new.com"); | 726 GURL new_url = GURL("http://www.new.com"); |
| 715 navigation_manager()->AddPendingItem( | 727 navigation_manager()->AddPendingItem( |
| 716 new_url, Referrer(), ui::PAGE_TRANSITION_TYPED, | 728 new_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 717 web::NavigationInitiationType::USER_INITIATED, | 729 web::NavigationInitiationType::USER_INITIATED, |
| 718 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 730 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 719 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 731 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 720 EXPECT_EQ(new_url, navigation_manager()->GetPendingItem()->GetURL()); | 732 EXPECT_EQ(new_url, navigation_manager()->GetPendingItem()->GetURL()); |
| 721 EXPECT_EQ(1, navigation_manager()->GetItemCount()); | 733 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 722 } | 734 } |
| 723 | 735 |
| 724 // Tests that when the last committed item exists, adding a pending item with | 736 // Tests that when the last committed item exists, adding a pending item with |
| 725 // the same URL fails if the new item is not form submission. | 737 // the same URL fails if the new item is not form submission. |
| 726 TEST_F(NavigationManagerTest, NotAddSameUrlPendingItemIfNotFormSubmission) { | 738 TEST_P(NavigationManagerTest, NotAddSameUrlPendingItemIfNotFormSubmission) { |
| 727 GURL existing_url = GURL("http://www.existing.com"); | 739 GURL existing_url = GURL("http://www.existing.com"); |
| 728 navigation_manager()->AddPendingItem( | 740 navigation_manager()->AddPendingItem( |
| 729 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, | 741 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 730 web::NavigationInitiationType::USER_INITIATED, | 742 web::NavigationInitiationType::USER_INITIATED, |
| 731 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 743 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 732 [session_controller() commitPendingItem]; | 744 [session_controller() commitPendingItem]; |
| 733 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); | 745 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 734 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( | 746 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 735 navigation_manager()->GetLastCommittedItem()->GetTransitionType(), | 747 navigation_manager()->GetLastCommittedItem()->GetTransitionType(), |
| 736 ui::PAGE_TRANSITION_TYPED)); | 748 ui::PAGE_TRANSITION_TYPED)); |
| 737 EXPECT_FALSE(navigation_manager()->GetPendingItem()); | 749 EXPECT_FALSE(navigation_manager()->GetPendingItem()); |
| 738 EXPECT_EQ(1, navigation_manager()->GetItemCount()); | 750 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 739 | 751 |
| 740 navigation_manager()->AddPendingItem( | 752 navigation_manager()->AddPendingItem( |
| 741 existing_url, Referrer(), ui::PAGE_TRANSITION_LINK, | 753 existing_url, Referrer(), ui::PAGE_TRANSITION_LINK, |
| 742 web::NavigationInitiationType::USER_INITIATED, | 754 web::NavigationInitiationType::USER_INITIATED, |
| 743 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 755 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 744 EXPECT_FALSE(navigation_manager()->GetPendingItem()); | 756 EXPECT_FALSE(navigation_manager()->GetPendingItem()); |
| 745 EXPECT_EQ(1, navigation_manager()->GetItemCount()); | 757 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 746 } | 758 } |
| 747 | 759 |
| 748 // Tests that when the last committed item exists, adding a pending item with | 760 // Tests that when the last committed item exists, adding a pending item with |
| 749 // the same URL succeeds if the new item is a form submission while the last | 761 // the same URL succeeds if the new item is a form submission while the last |
| 750 // committed item is not. | 762 // committed item is not. |
| 751 TEST_F(NavigationManagerTest, AddSameUrlPendingItemIfFormSubmission) { | 763 TEST_P(NavigationManagerTest, AddSameUrlPendingItemIfFormSubmission) { |
| 752 GURL existing_url = GURL("http://www.existing.com"); | 764 GURL existing_url = GURL("http://www.existing.com"); |
| 753 navigation_manager()->AddPendingItem( | 765 navigation_manager()->AddPendingItem( |
| 754 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, | 766 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 755 web::NavigationInitiationType::USER_INITIATED, | 767 web::NavigationInitiationType::USER_INITIATED, |
| 756 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 768 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 757 [session_controller() commitPendingItem]; | 769 [session_controller() commitPendingItem]; |
| 758 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); | 770 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 759 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( | 771 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 760 navigation_manager()->GetLastCommittedItem()->GetTransitionType(), | 772 navigation_manager()->GetLastCommittedItem()->GetTransitionType(), |
| 761 ui::PAGE_TRANSITION_TYPED)); | 773 ui::PAGE_TRANSITION_TYPED)); |
| 762 EXPECT_FALSE(navigation_manager()->GetPendingItem()); | 774 EXPECT_FALSE(navigation_manager()->GetPendingItem()); |
| 763 EXPECT_EQ(1, navigation_manager()->GetItemCount()); | 775 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 764 | 776 |
| 765 // Add if new transition is a form submission. | 777 // Add if new transition is a form submission. |
| 766 navigation_manager()->AddPendingItem( | 778 navigation_manager()->AddPendingItem( |
| 767 existing_url, Referrer(), ui::PAGE_TRANSITION_FORM_SUBMIT, | 779 existing_url, Referrer(), ui::PAGE_TRANSITION_FORM_SUBMIT, |
| 768 web::NavigationInitiationType::USER_INITIATED, | 780 web::NavigationInitiationType::USER_INITIATED, |
| 769 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 781 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 770 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 782 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 771 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( | 783 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 772 navigation_manager()->GetPendingItem()->GetTransitionType(), | 784 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 773 ui::PAGE_TRANSITION_FORM_SUBMIT)); | 785 ui::PAGE_TRANSITION_FORM_SUBMIT)); |
| 774 EXPECT_EQ(1, navigation_manager()->GetItemCount()); | 786 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 775 } | 787 } |
| 776 | 788 |
| 777 // Tests that when the last committed item exists, adding a pending item with | 789 // Tests that when the last committed item exists, adding a pending item with |
| 778 // the same URL fails if both the new item and the last committed item are form | 790 // the same URL fails if both the new item and the last committed item are form |
| 779 // submissions. | 791 // submissions. |
| 780 TEST_F(NavigationManagerTest, | 792 TEST_P(NavigationManagerTest, |
| 781 NotAddSameUrlPendingItemIfDuplicateFormSubmission) { | 793 NotAddSameUrlPendingItemIfDuplicateFormSubmission) { |
| 782 GURL existing_url = GURL("http://www.existing.com"); | 794 GURL existing_url = GURL("http://www.existing.com"); |
| 783 navigation_manager()->AddPendingItem( | 795 navigation_manager()->AddPendingItem( |
| 784 existing_url, Referrer(), ui::PAGE_TRANSITION_FORM_SUBMIT, | 796 existing_url, Referrer(), ui::PAGE_TRANSITION_FORM_SUBMIT, |
| 785 web::NavigationInitiationType::USER_INITIATED, | 797 web::NavigationInitiationType::USER_INITIATED, |
| 786 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 798 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 787 [session_controller() commitPendingItem]; | 799 [session_controller() commitPendingItem]; |
| 788 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); | 800 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 789 EXPECT_FALSE(navigation_manager()->GetPendingItem()); | 801 EXPECT_FALSE(navigation_manager()->GetPendingItem()); |
| 790 EXPECT_EQ(1, navigation_manager()->GetItemCount()); | 802 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 791 | 803 |
| 792 navigation_manager()->AddPendingItem( | 804 navigation_manager()->AddPendingItem( |
| 793 existing_url, Referrer(), ui::PAGE_TRANSITION_FORM_SUBMIT, | 805 existing_url, Referrer(), ui::PAGE_TRANSITION_FORM_SUBMIT, |
| 794 web::NavigationInitiationType::USER_INITIATED, | 806 web::NavigationInitiationType::USER_INITIATED, |
| 795 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 807 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 796 EXPECT_FALSE(navigation_manager()->GetPendingItem()); | 808 EXPECT_FALSE(navigation_manager()->GetPendingItem()); |
| 797 EXPECT_EQ(1, navigation_manager()->GetItemCount()); | 809 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 798 } | 810 } |
| 799 | 811 |
| 800 // Tests that when the last committed item exists, adding a pending item with | 812 // Tests that when the last committed item exists, adding a pending item with |
| 801 // the same URL fails if the user agent override option is INHERIT. | 813 // the same URL fails if the user agent override option is INHERIT. |
| 802 TEST_F(NavigationManagerTest, NotAddSameUrlPendingItemIfOverrideInherit) { | 814 TEST_P(NavigationManagerTest, NotAddSameUrlPendingItemIfOverrideInherit) { |
| 803 GURL existing_url = GURL("http://www.existing.com"); | 815 GURL existing_url = GURL("http://www.existing.com"); |
| 804 navigation_manager()->AddPendingItem( | 816 navigation_manager()->AddPendingItem( |
| 805 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, | 817 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 806 web::NavigationInitiationType::USER_INITIATED, | 818 web::NavigationInitiationType::USER_INITIATED, |
| 807 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 819 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 808 [session_controller() commitPendingItem]; | 820 [session_controller() commitPendingItem]; |
| 809 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); | 821 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 810 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( | 822 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 811 navigation_manager()->GetLastCommittedItem()->GetTransitionType(), | 823 navigation_manager()->GetLastCommittedItem()->GetTransitionType(), |
| 812 ui::PAGE_TRANSITION_TYPED)); | 824 ui::PAGE_TRANSITION_TYPED)); |
| 813 EXPECT_EQ(1, navigation_manager()->GetItemCount()); | 825 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 814 | 826 |
| 815 navigation_manager()->AddPendingItem( | 827 navigation_manager()->AddPendingItem( |
| 816 existing_url, Referrer(), ui::PAGE_TRANSITION_RELOAD, | 828 existing_url, Referrer(), ui::PAGE_TRANSITION_RELOAD, |
| 817 web::NavigationInitiationType::USER_INITIATED, | 829 web::NavigationInitiationType::USER_INITIATED, |
| 818 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 830 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 819 EXPECT_FALSE(navigation_manager()->GetPendingItem()); | 831 EXPECT_FALSE(navigation_manager()->GetPendingItem()); |
| 820 EXPECT_EQ(1, navigation_manager()->GetItemCount()); | 832 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 821 } | 833 } |
| 822 | 834 |
| 823 // Tests that when the last committed item exists, adding a pending item with | 835 // Tests that when the last committed item exists, adding a pending item with |
| 824 // the same URL succeeds if the user agent override option is DESKTOP. | 836 // the same URL succeeds if the user agent override option is DESKTOP. |
| 825 TEST_F(NavigationManagerTest, AddSameUrlPendingItemIfOverrideDesktop) { | 837 TEST_P(NavigationManagerTest, AddSameUrlPendingItemIfOverrideDesktop) { |
| 826 GURL existing_url = GURL("http://www.existing.com"); | 838 GURL existing_url = GURL("http://www.existing.com"); |
| 827 navigation_manager()->AddPendingItem( | 839 navigation_manager()->AddPendingItem( |
| 828 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, | 840 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 829 web::NavigationInitiationType::USER_INITIATED, | 841 web::NavigationInitiationType::USER_INITIATED, |
| 830 web::NavigationManager::UserAgentOverrideOption::MOBILE); | 842 web::NavigationManager::UserAgentOverrideOption::MOBILE); |
| 831 [session_controller() commitPendingItem]; | 843 [session_controller() commitPendingItem]; |
| 832 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); | 844 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 833 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( | 845 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 834 navigation_manager()->GetLastCommittedItem()->GetTransitionType(), | 846 navigation_manager()->GetLastCommittedItem()->GetTransitionType(), |
| 835 ui::PAGE_TRANSITION_TYPED)); | 847 ui::PAGE_TRANSITION_TYPED)); |
| 836 EXPECT_EQ(web::UserAgentType::MOBILE, | 848 EXPECT_EQ(web::UserAgentType::MOBILE, |
| 837 navigation_manager()->GetLastCommittedItem()->GetUserAgentType()); | 849 navigation_manager()->GetLastCommittedItem()->GetUserAgentType()); |
| 838 EXPECT_EQ(1, navigation_manager()->GetItemCount()); | 850 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 839 | 851 |
| 840 navigation_manager()->AddPendingItem( | 852 navigation_manager()->AddPendingItem( |
| 841 existing_url, Referrer(), ui::PAGE_TRANSITION_RELOAD, | 853 existing_url, Referrer(), ui::PAGE_TRANSITION_RELOAD, |
| 842 web::NavigationInitiationType::USER_INITIATED, | 854 web::NavigationInitiationType::USER_INITIATED, |
| 843 web::NavigationManager::UserAgentOverrideOption::DESKTOP); | 855 web::NavigationManager::UserAgentOverrideOption::DESKTOP); |
| 844 | 856 |
| 845 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 857 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 846 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( | 858 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 847 navigation_manager()->GetPendingItem()->GetTransitionType(), | 859 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 848 ui::PAGE_TRANSITION_RELOAD)); | 860 ui::PAGE_TRANSITION_RELOAD)); |
| 849 EXPECT_EQ(1, navigation_manager()->GetItemCount()); | 861 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 850 } | 862 } |
| 851 | 863 |
| 852 // Tests that when the last committed item exists, adding a pending item with | 864 // Tests that when the last committed item exists, adding a pending item with |
| 853 // the same URL succeeds if the user agent override option is MOBILE. | 865 // the same URL succeeds if the user agent override option is MOBILE. |
| 854 TEST_F(NavigationManagerTest, AddSameUrlPendingItemIfOverrideMobile) { | 866 TEST_P(NavigationManagerTest, AddSameUrlPendingItemIfOverrideMobile) { |
| 855 GURL existing_url = GURL("http://www.existing.com"); | 867 GURL existing_url = GURL("http://www.existing.com"); |
| 856 navigation_manager()->AddPendingItem( | 868 navigation_manager()->AddPendingItem( |
| 857 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, | 869 existing_url, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 858 web::NavigationInitiationType::USER_INITIATED, | 870 web::NavigationInitiationType::USER_INITIATED, |
| 859 web::NavigationManager::UserAgentOverrideOption::DESKTOP); | 871 web::NavigationManager::UserAgentOverrideOption::DESKTOP); |
| 860 [session_controller() commitPendingItem]; | 872 [session_controller() commitPendingItem]; |
| 861 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); | 873 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 862 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( | 874 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 863 navigation_manager()->GetLastCommittedItem()->GetTransitionType(), | 875 navigation_manager()->GetLastCommittedItem()->GetTransitionType(), |
| 864 ui::PAGE_TRANSITION_TYPED)); | 876 ui::PAGE_TRANSITION_TYPED)); |
| 865 EXPECT_EQ(web::UserAgentType::DESKTOP, | 877 EXPECT_EQ(web::UserAgentType::DESKTOP, |
| 866 navigation_manager()->GetLastCommittedItem()->GetUserAgentType()); | 878 navigation_manager()->GetLastCommittedItem()->GetUserAgentType()); |
| 867 EXPECT_EQ(1, navigation_manager()->GetItemCount()); | 879 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 868 | 880 |
| 869 navigation_manager()->AddPendingItem( | 881 navigation_manager()->AddPendingItem( |
| 870 existing_url, Referrer(), ui::PAGE_TRANSITION_RELOAD, | 882 existing_url, Referrer(), ui::PAGE_TRANSITION_RELOAD, |
| 871 web::NavigationInitiationType::USER_INITIATED, | 883 web::NavigationInitiationType::USER_INITIATED, |
| 872 web::NavigationManager::UserAgentOverrideOption::MOBILE); | 884 web::NavigationManager::UserAgentOverrideOption::MOBILE); |
| 873 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 885 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 874 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( | 886 EXPECT_TRUE(ui::PageTransitionCoreTypeIs( |
| 875 navigation_manager()->GetPendingItem()->GetTransitionType(), | 887 navigation_manager()->GetPendingItem()->GetTransitionType(), |
| 876 ui::PAGE_TRANSITION_RELOAD)); | 888 ui::PAGE_TRANSITION_RELOAD)); |
| 877 EXPECT_EQ(1, navigation_manager()->GetItemCount()); | 889 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 878 } | 890 } |
| 879 | 891 |
| 880 // Tests that desktop user agent can be enforced to use for next pending item | 892 // Tests that desktop user agent can be enforced to use for next pending item |
| 881 // when UserAgentOverrideOption is DESKTOP. | 893 // when UserAgentOverrideOption is DESKTOP. |
| 882 TEST_F(NavigationManagerTest, OverrideUserAgentWithDesktop) { | 894 TEST_P(NavigationManagerTest, OverrideUserAgentWithDesktop) { |
| 883 navigation_manager()->AddPendingItem( | 895 navigation_manager()->AddPendingItem( |
| 884 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 896 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 885 web::NavigationInitiationType::USER_INITIATED, | 897 web::NavigationInitiationType::USER_INITIATED, |
| 886 web::NavigationManager::UserAgentOverrideOption::MOBILE); | 898 web::NavigationManager::UserAgentOverrideOption::MOBILE); |
| 887 [session_controller() commitPendingItem]; | 899 [session_controller() commitPendingItem]; |
| 888 NavigationItem* last_committed_item = | 900 NavigationItem* last_committed_item = |
| 889 navigation_manager()->GetLastCommittedItem(); | 901 navigation_manager()->GetLastCommittedItem(); |
| 890 EXPECT_EQ(UserAgentType::MOBILE, last_committed_item->GetUserAgentType()); | 902 EXPECT_EQ(UserAgentType::MOBILE, last_committed_item->GetUserAgentType()); |
| 891 EXPECT_EQ(1, navigation_manager()->GetItemCount()); | 903 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 892 | 904 |
| 893 navigation_manager()->AddPendingItem( | 905 navigation_manager()->AddPendingItem( |
| 894 GURL("http://www.2.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 906 GURL("http://www.2.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 895 web::NavigationInitiationType::USER_INITIATED, | 907 web::NavigationInitiationType::USER_INITIATED, |
| 896 web::NavigationManager::UserAgentOverrideOption::DESKTOP); | 908 web::NavigationManager::UserAgentOverrideOption::DESKTOP); |
| 897 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 909 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 898 EXPECT_EQ(UserAgentType::DESKTOP, | 910 EXPECT_EQ(UserAgentType::DESKTOP, |
| 899 navigation_manager()->GetPendingItem()->GetUserAgentType()); | 911 navigation_manager()->GetPendingItem()->GetUserAgentType()); |
| 900 EXPECT_EQ(1, navigation_manager()->GetItemCount()); | 912 EXPECT_EQ(1, navigation_manager()->GetItemCount()); |
| 901 } | 913 } |
| 902 | 914 |
| 903 // Tests that mobile user agent can be enforced to use for next pending item | 915 // Tests that mobile user agent can be enforced to use for next pending item |
| 904 // when UserAgentOverrideOption is MOBILE. | 916 // when UserAgentOverrideOption is MOBILE. |
| 905 TEST_F(NavigationManagerTest, OverrideUserAgentWithMobile) { | 917 TEST_P(NavigationManagerTest, OverrideUserAgentWithMobile) { |
| 906 navigation_manager()->AddPendingItem( | 918 navigation_manager()->AddPendingItem( |
| 907 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 919 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 908 web::NavigationInitiationType::USER_INITIATED, | 920 web::NavigationInitiationType::USER_INITIATED, |
| 909 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 921 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 910 [session_controller() commitPendingItem]; | 922 [session_controller() commitPendingItem]; |
| 911 NavigationItem* last_committed_item = | 923 NavigationItem* last_committed_item = |
| 912 navigation_manager()->GetLastCommittedItem(); | 924 navigation_manager()->GetLastCommittedItem(); |
| 913 last_committed_item->SetUserAgentType(UserAgentType::DESKTOP); | 925 last_committed_item->SetUserAgentType(UserAgentType::DESKTOP); |
| 914 EXPECT_EQ(UserAgentType::DESKTOP, last_committed_item->GetUserAgentType()); | 926 EXPECT_EQ(UserAgentType::DESKTOP, last_committed_item->GetUserAgentType()); |
| 915 | 927 |
| 916 navigation_manager()->AddPendingItem( | 928 navigation_manager()->AddPendingItem( |
| 917 GURL("http://www.2.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 929 GURL("http://www.2.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 918 web::NavigationInitiationType::USER_INITIATED, | 930 web::NavigationInitiationType::USER_INITIATED, |
| 919 web::NavigationManager::UserAgentOverrideOption::MOBILE); | 931 web::NavigationManager::UserAgentOverrideOption::MOBILE); |
| 920 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 932 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 921 EXPECT_EQ(UserAgentType::MOBILE, | 933 EXPECT_EQ(UserAgentType::MOBILE, |
| 922 navigation_manager()->GetPendingItem()->GetUserAgentType()); | 934 navigation_manager()->GetPendingItem()->GetUserAgentType()); |
| 923 } | 935 } |
| 924 | 936 |
| 925 // Tests that the UserAgentType of an INHERIT item is propagated to subsequent | 937 // Tests that the UserAgentType of an INHERIT item is propagated to subsequent |
| 926 // item when UserAgentOverrideOption is INHERIT | 938 // item when UserAgentOverrideOption is INHERIT |
| 927 TEST_F(NavigationManagerTest, OverrideUserAgentWithInheritAfterInherit) { | 939 TEST_P(NavigationManagerTest, OverrideUserAgentWithInheritAfterInherit) { |
| 928 navigation_manager()->AddPendingItem( | 940 navigation_manager()->AddPendingItem( |
| 929 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 941 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 930 web::NavigationInitiationType::USER_INITIATED, | 942 web::NavigationInitiationType::USER_INITIATED, |
| 931 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 943 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 932 [session_controller() commitPendingItem]; | 944 [session_controller() commitPendingItem]; |
| 933 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); | 945 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 934 EXPECT_EQ(web::UserAgentType::MOBILE, | 946 EXPECT_EQ(web::UserAgentType::MOBILE, |
| 935 navigation_manager()->GetLastCommittedItem()->GetUserAgentType()); | 947 navigation_manager()->GetLastCommittedItem()->GetUserAgentType()); |
| 936 | 948 |
| 937 navigation_manager()->AddPendingItem( | 949 navigation_manager()->AddPendingItem( |
| 938 GURL("http://www.2.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 950 GURL("http://www.2.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 939 web::NavigationInitiationType::USER_INITIATED, | 951 web::NavigationInitiationType::USER_INITIATED, |
| 940 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 952 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 941 [session_controller() commitPendingItem]; | 953 [session_controller() commitPendingItem]; |
| 942 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); | 954 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 943 EXPECT_EQ(web::UserAgentType::MOBILE, | 955 EXPECT_EQ(web::UserAgentType::MOBILE, |
| 944 navigation_manager()->GetLastCommittedItem()->GetUserAgentType()); | 956 navigation_manager()->GetLastCommittedItem()->GetUserAgentType()); |
| 945 } | 957 } |
| 946 | 958 |
| 947 // Tests that the UserAgentType of a MOBILE item is propagated to subsequent | 959 // Tests that the UserAgentType of a MOBILE item is propagated to subsequent |
| 948 // item when UserAgentOverrideOption is INHERIT | 960 // item when UserAgentOverrideOption is INHERIT |
| 949 TEST_F(NavigationManagerTest, OverrideUserAgentWithInheritAfterMobile) { | 961 TEST_P(NavigationManagerTest, OverrideUserAgentWithInheritAfterMobile) { |
| 950 navigation_manager()->AddPendingItem( | 962 navigation_manager()->AddPendingItem( |
| 951 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 963 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 952 web::NavigationInitiationType::USER_INITIATED, | 964 web::NavigationInitiationType::USER_INITIATED, |
| 953 web::NavigationManager::UserAgentOverrideOption::MOBILE); | 965 web::NavigationManager::UserAgentOverrideOption::MOBILE); |
| 954 [session_controller() commitPendingItem]; | 966 [session_controller() commitPendingItem]; |
| 955 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); | 967 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 956 EXPECT_EQ(web::UserAgentType::MOBILE, | 968 EXPECT_EQ(web::UserAgentType::MOBILE, |
| 957 navigation_manager()->GetLastCommittedItem()->GetUserAgentType()); | 969 navigation_manager()->GetLastCommittedItem()->GetUserAgentType()); |
| 958 | 970 |
| 959 navigation_manager()->AddPendingItem( | 971 navigation_manager()->AddPendingItem( |
| 960 GURL("http://www.2.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 972 GURL("http://www.2.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 961 web::NavigationInitiationType::USER_INITIATED, | 973 web::NavigationInitiationType::USER_INITIATED, |
| 962 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 974 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 963 [session_controller() commitPendingItem]; | 975 [session_controller() commitPendingItem]; |
| 964 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); | 976 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 965 EXPECT_EQ(web::UserAgentType::MOBILE, | 977 EXPECT_EQ(web::UserAgentType::MOBILE, |
| 966 navigation_manager()->GetLastCommittedItem()->GetUserAgentType()); | 978 navigation_manager()->GetLastCommittedItem()->GetUserAgentType()); |
| 967 } | 979 } |
| 968 | 980 |
| 969 // Tests that the UserAgentType of a DESKTOP item is propagated to subsequent | 981 // Tests that the UserAgentType of a DESKTOP item is propagated to subsequent |
| 970 // item when UserAgentOverrideOption is INHERIT | 982 // item when UserAgentOverrideOption is INHERIT |
| 971 TEST_F(NavigationManagerTest, OverrideUserAgentWithInheritAfterDesktop) { | 983 TEST_P(NavigationManagerTest, OverrideUserAgentWithInheritAfterDesktop) { |
| 972 navigation_manager()->AddPendingItem( | 984 navigation_manager()->AddPendingItem( |
| 973 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 985 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 974 web::NavigationInitiationType::USER_INITIATED, | 986 web::NavigationInitiationType::USER_INITIATED, |
| 975 web::NavigationManager::UserAgentOverrideOption::DESKTOP); | 987 web::NavigationManager::UserAgentOverrideOption::DESKTOP); |
| 976 [session_controller() commitPendingItem]; | 988 [session_controller() commitPendingItem]; |
| 977 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); | 989 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 978 EXPECT_EQ(web::UserAgentType::DESKTOP, | 990 EXPECT_EQ(web::UserAgentType::DESKTOP, |
| 979 navigation_manager()->GetLastCommittedItem()->GetUserAgentType()); | 991 navigation_manager()->GetLastCommittedItem()->GetUserAgentType()); |
| 980 | 992 |
| 981 navigation_manager()->AddPendingItem( | 993 navigation_manager()->AddPendingItem( |
| 982 GURL("http://www.2.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 994 GURL("http://www.2.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 983 web::NavigationInitiationType::USER_INITIATED, | 995 web::NavigationInitiationType::USER_INITIATED, |
| 984 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 996 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 985 [session_controller() commitPendingItem]; | 997 [session_controller() commitPendingItem]; |
| 986 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); | 998 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 987 EXPECT_EQ(web::UserAgentType::DESKTOP, | 999 EXPECT_EQ(web::UserAgentType::DESKTOP, |
| 988 navigation_manager()->GetLastCommittedItem()->GetUserAgentType()); | 1000 navigation_manager()->GetLastCommittedItem()->GetUserAgentType()); |
| 989 } | 1001 } |
| 990 | 1002 |
| 991 // Tests that the UserAgentType is propagated to subsequent NavigationItems if | 1003 // Tests that the UserAgentType is propagated to subsequent NavigationItems if |
| 992 // a native URL exists in between naviations. | 1004 // a native URL exists in between naviations. |
| 993 TEST_F(NavigationManagerTest, UserAgentTypePropagationPastNativeItems) { | 1005 TEST_P(NavigationManagerTest, UserAgentTypePropagationPastNativeItems) { |
| 994 // GURL::Replacements that will replace a GURL's scheme with the test native | 1006 // GURL::Replacements that will replace a GURL's scheme with the test native |
| 995 // scheme. | 1007 // scheme. |
| 996 GURL::Replacements native_scheme_replacement; | 1008 GURL::Replacements native_scheme_replacement; |
| 997 native_scheme_replacement.SetSchemeStr(kTestNativeContentScheme); | 1009 native_scheme_replacement.SetSchemeStr(kTestNativeContentScheme); |
| 998 | 1010 |
| 999 // Create two non-native navigations that are separated by a native one. | 1011 // Create two non-native navigations that are separated by a native one. |
| 1000 navigation_manager()->AddPendingItem( | 1012 navigation_manager()->AddPendingItem( |
| 1001 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 1013 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 1002 web::NavigationInitiationType::USER_INITIATED, | 1014 web::NavigationInitiationType::USER_INITIATED, |
| 1003 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 1015 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1040 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 1052 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 1041 [session_controller() commitPendingItem]; | 1053 [session_controller() commitPendingItem]; |
| 1042 web::NavigationItem* item3 = navigation_manager()->GetLastCommittedItem(); | 1054 web::NavigationItem* item3 = navigation_manager()->GetLastCommittedItem(); |
| 1043 | 1055 |
| 1044 // Verify that |item2|'s UserAgentType is propagated to |item3|. | 1056 // Verify that |item2|'s UserAgentType is propagated to |item3|. |
| 1045 EXPECT_EQ(item2->GetUserAgentType(), item3->GetUserAgentType()); | 1057 EXPECT_EQ(item2->GetUserAgentType(), item3->GetUserAgentType()); |
| 1046 } | 1058 } |
| 1047 | 1059 |
| 1048 // Tests that adding transient item for a pending item with mobile user agent | 1060 // Tests that adding transient item for a pending item with mobile user agent |
| 1049 // type results in a transient item with mobile user agent type. | 1061 // type results in a transient item with mobile user agent type. |
| 1050 TEST_F(NavigationManagerTest, AddTransientItemForMobilePendingItem) { | 1062 TEST_P(NavigationManagerTest, AddTransientItemForMobilePendingItem) { |
| 1051 navigation_manager()->AddPendingItem( | 1063 navigation_manager()->AddPendingItem( |
| 1052 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 1064 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 1053 web::NavigationInitiationType::USER_INITIATED, | 1065 web::NavigationInitiationType::USER_INITIATED, |
| 1054 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 1066 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 1055 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 1067 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 1056 navigation_manager()->GetPendingItem()->SetUserAgentType( | 1068 navigation_manager()->GetPendingItem()->SetUserAgentType( |
| 1057 UserAgentType::MOBILE); | 1069 UserAgentType::MOBILE); |
| 1058 | 1070 |
| 1059 navigation_manager()->AddTransientItem(GURL("http://www.url.com")); | 1071 navigation_manager()->AddTransientItem(GURL("http://www.url.com")); |
| 1060 ASSERT_TRUE(navigation_manager()->GetTransientItem()); | 1072 ASSERT_TRUE(navigation_manager()->GetTransientItem()); |
| 1061 EXPECT_EQ(UserAgentType::MOBILE, | 1073 EXPECT_EQ(UserAgentType::MOBILE, |
| 1062 navigation_manager()->GetTransientItem()->GetUserAgentType()); | 1074 navigation_manager()->GetTransientItem()->GetUserAgentType()); |
| 1063 EXPECT_EQ(UserAgentType::MOBILE, | 1075 EXPECT_EQ(UserAgentType::MOBILE, |
| 1064 navigation_manager()->GetPendingItem()->GetUserAgentType()); | 1076 navigation_manager()->GetPendingItem()->GetUserAgentType()); |
| 1065 } | 1077 } |
| 1066 | 1078 |
| 1067 // Tests that adding transient item for a pending item with desktop user agent | 1079 // Tests that adding transient item for a pending item with desktop user agent |
| 1068 // type results in a transient item with desktop user agent type. | 1080 // type results in a transient item with desktop user agent type. |
| 1069 TEST_F(NavigationManagerTest, AddTransientItemForDesktopPendingItem) { | 1081 TEST_P(NavigationManagerTest, AddTransientItemForDesktopPendingItem) { |
| 1070 navigation_manager()->AddPendingItem( | 1082 navigation_manager()->AddPendingItem( |
| 1071 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 1083 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 1072 web::NavigationInitiationType::USER_INITIATED, | 1084 web::NavigationInitiationType::USER_INITIATED, |
| 1073 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 1085 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 1074 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 1086 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 1075 navigation_manager()->GetPendingItem()->SetUserAgentType( | 1087 navigation_manager()->GetPendingItem()->SetUserAgentType( |
| 1076 UserAgentType::DESKTOP); | 1088 UserAgentType::DESKTOP); |
| 1077 | 1089 |
| 1078 navigation_manager()->AddTransientItem(GURL("http://www.url.com")); | 1090 navigation_manager()->AddTransientItem(GURL("http://www.url.com")); |
| 1079 ASSERT_TRUE(navigation_manager()->GetTransientItem()); | 1091 ASSERT_TRUE(navigation_manager()->GetTransientItem()); |
| 1080 EXPECT_EQ(UserAgentType::DESKTOP, | 1092 EXPECT_EQ(UserAgentType::DESKTOP, |
| 1081 navigation_manager()->GetTransientItem()->GetUserAgentType()); | 1093 navigation_manager()->GetTransientItem()->GetUserAgentType()); |
| 1082 EXPECT_EQ(UserAgentType::DESKTOP, | 1094 EXPECT_EQ(UserAgentType::DESKTOP, |
| 1083 navigation_manager()->GetPendingItem()->GetUserAgentType()); | 1095 navigation_manager()->GetPendingItem()->GetUserAgentType()); |
| 1084 } | 1096 } |
| 1085 | 1097 |
| 1086 // Tests that calling |Reload| with web::ReloadType::NORMAL is no-op when there | 1098 // Tests that calling |Reload| with web::ReloadType::NORMAL is no-op when there |
| 1087 // are no transient, pending and committed items. | 1099 // are no transient, pending and committed items. |
| 1088 TEST_F(NavigationManagerTest, ReloadEmptyWithNormalType) { | 1100 TEST_P(NavigationManagerTest, ReloadEmptyWithNormalType) { |
| 1089 ASSERT_FALSE(navigation_manager()->GetTransientItem()); | 1101 ASSERT_FALSE(navigation_manager()->GetTransientItem()); |
| 1090 ASSERT_FALSE(navigation_manager()->GetPendingItem()); | 1102 ASSERT_FALSE(navigation_manager()->GetPendingItem()); |
| 1091 ASSERT_FALSE(navigation_manager()->GetLastCommittedItem()); | 1103 ASSERT_FALSE(navigation_manager()->GetLastCommittedItem()); |
| 1092 | 1104 |
| 1093 navigation_manager()->Reload(web::ReloadType::NORMAL, | 1105 navigation_manager()->Reload(web::ReloadType::NORMAL, |
| 1094 false /* check_for_repost */); | 1106 false /* check_for_repost */); |
| 1095 EXPECT_FALSE(navigation_manager_delegate().reload_called()); | 1107 EXPECT_FALSE(navigation_manager_delegate().reload_called()); |
| 1096 | 1108 |
| 1097 ASSERT_FALSE(navigation_manager()->GetTransientItem()); | 1109 ASSERT_FALSE(navigation_manager()->GetTransientItem()); |
| 1098 ASSERT_FALSE(navigation_manager()->GetPendingItem()); | 1110 ASSERT_FALSE(navigation_manager()->GetPendingItem()); |
| 1099 ASSERT_FALSE(navigation_manager()->GetLastCommittedItem()); | 1111 ASSERT_FALSE(navigation_manager()->GetLastCommittedItem()); |
| 1100 } | 1112 } |
| 1101 | 1113 |
| 1102 // Tests that calling |Reload| with web::ReloadType::NORMAL leaves the url of | 1114 // Tests that calling |Reload| with web::ReloadType::NORMAL leaves the url of |
| 1103 // the renderer initiated pending item unchanged when there is one. | 1115 // the renderer initiated pending item unchanged when there is one. |
| 1104 TEST_F(NavigationManagerTest, ReloadRendererPendingItemWithNormalType) { | 1116 TEST_P(NavigationManagerTest, ReloadRendererPendingItemWithNormalType) { |
| 1105 GURL url_before_reload = GURL("http://www.url.com"); | 1117 GURL url_before_reload = GURL("http://www.url.com"); |
| 1106 navigation_manager()->AddPendingItem( | 1118 navigation_manager()->AddPendingItem( |
| 1107 url_before_reload, Referrer(), ui::PAGE_TRANSITION_TYPED, | 1119 url_before_reload, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 1108 web::NavigationInitiationType::RENDERER_INITIATED, | 1120 web::NavigationInitiationType::RENDERER_INITIATED, |
| 1109 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 1121 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 1110 | 1122 |
| 1111 navigation_manager()->Reload(web::ReloadType::NORMAL, | 1123 navigation_manager()->Reload(web::ReloadType::NORMAL, |
| 1112 false /* check_for_repost */); | 1124 false /* check_for_repost */); |
| 1113 EXPECT_TRUE(navigation_manager_delegate().reload_called()); | 1125 EXPECT_TRUE(navigation_manager_delegate().reload_called()); |
| 1114 | 1126 |
| 1115 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 1127 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 1116 EXPECT_EQ(url_before_reload, | 1128 EXPECT_EQ(url_before_reload, |
| 1117 navigation_manager()->GetPendingItem()->GetURL()); | 1129 navigation_manager()->GetPendingItem()->GetURL()); |
| 1118 } | 1130 } |
| 1119 | 1131 |
| 1120 // Tests that calling |Reload| with web::ReloadType::NORMAL leaves the url of | 1132 // Tests that calling |Reload| with web::ReloadType::NORMAL leaves the url of |
| 1121 // the user initiated pending item unchanged when there is one. | 1133 // the user initiated pending item unchanged when there is one. |
| 1122 TEST_F(NavigationManagerTest, ReloadUserPendingItemWithNormalType) { | 1134 TEST_P(NavigationManagerTest, ReloadUserPendingItemWithNormalType) { |
| 1123 GURL url_before_reload = GURL("http://www.url.com"); | 1135 GURL url_before_reload = GURL("http://www.url.com"); |
| 1124 navigation_manager()->AddPendingItem( | 1136 navigation_manager()->AddPendingItem( |
| 1125 url_before_reload, Referrer(), ui::PAGE_TRANSITION_TYPED, | 1137 url_before_reload, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 1126 web::NavigationInitiationType::USER_INITIATED, | 1138 web::NavigationInitiationType::USER_INITIATED, |
| 1127 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 1139 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 1128 | 1140 |
| 1129 navigation_manager()->Reload(web::ReloadType::NORMAL, | 1141 navigation_manager()->Reload(web::ReloadType::NORMAL, |
| 1130 false /* check_for_repost */); | 1142 false /* check_for_repost */); |
| 1131 EXPECT_TRUE(navigation_manager_delegate().reload_called()); | 1143 EXPECT_TRUE(navigation_manager_delegate().reload_called()); |
| 1132 | 1144 |
| 1133 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 1145 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 1134 EXPECT_EQ(url_before_reload, | 1146 EXPECT_EQ(url_before_reload, |
| 1135 navigation_manager()->GetPendingItem()->GetURL()); | 1147 navigation_manager()->GetPendingItem()->GetURL()); |
| 1136 } | 1148 } |
| 1137 | 1149 |
| 1138 // Tests that calling |Reload| with web::ReloadType::NORMAL leaves the url of | 1150 // Tests that calling |Reload| with web::ReloadType::NORMAL leaves the url of |
| 1139 // the last committed item unchanged when there is no pending item. | 1151 // the last committed item unchanged when there is no pending item. |
| 1140 TEST_F(NavigationManagerTest, ReloadLastCommittedItemWithNormalType) { | 1152 TEST_P(NavigationManagerTest, ReloadLastCommittedItemWithNormalType) { |
| 1141 navigation_manager()->AddPendingItem( | 1153 navigation_manager()->AddPendingItem( |
| 1142 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 1154 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 1143 web::NavigationInitiationType::USER_INITIATED, | 1155 web::NavigationInitiationType::USER_INITIATED, |
| 1144 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 1156 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 1145 [session_controller() commitPendingItem]; | 1157 [session_controller() commitPendingItem]; |
| 1146 | 1158 |
| 1147 GURL url_before_reload = GURL("http://www.url.com/1"); | 1159 GURL url_before_reload = GURL("http://www.url.com/1"); |
| 1148 navigation_manager()->AddPendingItem( | 1160 navigation_manager()->AddPendingItem( |
| 1149 url_before_reload, Referrer(), ui::PAGE_TRANSITION_TYPED, | 1161 url_before_reload, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 1150 web::NavigationInitiationType::USER_INITIATED, | 1162 web::NavigationInitiationType::USER_INITIATED, |
| 1151 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 1163 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 1152 [session_controller() commitPendingItem]; | 1164 [session_controller() commitPendingItem]; |
| 1153 | 1165 |
| 1154 navigation_manager()->Reload(web::ReloadType::NORMAL, | 1166 navigation_manager()->Reload(web::ReloadType::NORMAL, |
| 1155 false /* check_for_repost */); | 1167 false /* check_for_repost */); |
| 1156 EXPECT_TRUE(navigation_manager_delegate().reload_called()); | 1168 EXPECT_TRUE(navigation_manager_delegate().reload_called()); |
| 1157 | 1169 |
| 1158 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); | 1170 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 1159 EXPECT_EQ(url_before_reload, | 1171 EXPECT_EQ(url_before_reload, |
| 1160 navigation_manager()->GetLastCommittedItem()->GetURL()); | 1172 navigation_manager()->GetLastCommittedItem()->GetURL()); |
| 1161 } | 1173 } |
| 1162 | 1174 |
| 1163 // Tests that calling |Reload| with web::ReloadType::NORMAL leaves the url of | 1175 // Tests that calling |Reload| with web::ReloadType::NORMAL leaves the url of |
| 1164 // the last committed item unchanged when there is no pending item, but there | 1176 // the last committed item unchanged when there is no pending item, but there |
| 1165 // forward items after last committed item. | 1177 // forward items after last committed item. |
| 1166 TEST_F(NavigationManagerTest, | 1178 TEST_P(NavigationManagerTest, |
| 1167 ReloadLastCommittedItemWithNormalTypeWithForwardItems) { | 1179 ReloadLastCommittedItemWithNormalTypeWithForwardItems) { |
| 1168 navigation_manager()->AddPendingItem( | 1180 navigation_manager()->AddPendingItem( |
| 1169 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 1181 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 1170 web::NavigationInitiationType::USER_INITIATED, | 1182 web::NavigationInitiationType::USER_INITIATED, |
| 1171 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 1183 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 1172 [session_controller() commitPendingItem]; | 1184 [session_controller() commitPendingItem]; |
| 1173 | 1185 |
| 1174 GURL url_before_reload = GURL("http://www.url.com/1"); | 1186 GURL url_before_reload = GURL("http://www.url.com/1"); |
| 1175 navigation_manager()->AddPendingItem( | 1187 navigation_manager()->AddPendingItem( |
| 1176 url_before_reload, Referrer(), ui::PAGE_TRANSITION_TYPED, | 1188 url_before_reload, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| (...skipping 14 matching lines...) Expand all Loading... |
| 1191 false /* check_for_repost */); | 1203 false /* check_for_repost */); |
| 1192 EXPECT_TRUE(navigation_manager_delegate().reload_called()); | 1204 EXPECT_TRUE(navigation_manager_delegate().reload_called()); |
| 1193 | 1205 |
| 1194 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); | 1206 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 1195 EXPECT_EQ(url_before_reload, | 1207 EXPECT_EQ(url_before_reload, |
| 1196 navigation_manager()->GetLastCommittedItem()->GetURL()); | 1208 navigation_manager()->GetLastCommittedItem()->GetURL()); |
| 1197 } | 1209 } |
| 1198 | 1210 |
| 1199 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL is | 1211 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL is |
| 1200 // no-op when there are no transient, pending and committed items. | 1212 // no-op when there are no transient, pending and committed items. |
| 1201 TEST_F(NavigationManagerTest, ReloadEmptyWithOriginalType) { | 1213 TEST_P(NavigationManagerTest, ReloadEmptyWithOriginalType) { |
| 1202 ASSERT_FALSE(navigation_manager()->GetTransientItem()); | 1214 ASSERT_FALSE(navigation_manager()->GetTransientItem()); |
| 1203 ASSERT_FALSE(navigation_manager()->GetPendingItem()); | 1215 ASSERT_FALSE(navigation_manager()->GetPendingItem()); |
| 1204 ASSERT_FALSE(navigation_manager()->GetLastCommittedItem()); | 1216 ASSERT_FALSE(navigation_manager()->GetLastCommittedItem()); |
| 1205 | 1217 |
| 1206 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL, | 1218 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL, |
| 1207 false /* check_for_repost */); | 1219 false /* check_for_repost */); |
| 1208 EXPECT_FALSE(navigation_manager_delegate().reload_called()); | 1220 EXPECT_FALSE(navigation_manager_delegate().reload_called()); |
| 1209 | 1221 |
| 1210 ASSERT_FALSE(navigation_manager()->GetTransientItem()); | 1222 ASSERT_FALSE(navigation_manager()->GetTransientItem()); |
| 1211 ASSERT_FALSE(navigation_manager()->GetPendingItem()); | 1223 ASSERT_FALSE(navigation_manager()->GetPendingItem()); |
| 1212 ASSERT_FALSE(navigation_manager()->GetLastCommittedItem()); | 1224 ASSERT_FALSE(navigation_manager()->GetLastCommittedItem()); |
| 1213 } | 1225 } |
| 1214 | 1226 |
| 1215 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL | 1227 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL |
| 1216 // changes the renderer initiated pending item's url to its original request url | 1228 // changes the renderer initiated pending item's url to its original request url |
| 1217 // when there is one. | 1229 // when there is one. |
| 1218 TEST_F(NavigationManagerTest, ReloadRendererPendingItemWithOriginalType) { | 1230 TEST_P(NavigationManagerTest, ReloadRendererPendingItemWithOriginalType) { |
| 1219 navigation_manager()->AddPendingItem( | 1231 navigation_manager()->AddPendingItem( |
| 1220 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 1232 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 1221 web::NavigationInitiationType::RENDERER_INITIATED, | 1233 web::NavigationInitiationType::RENDERER_INITIATED, |
| 1222 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 1234 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 1223 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 1235 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 1224 GURL expected_original_url = GURL("http://www.url.com/original"); | 1236 GURL expected_original_url = GURL("http://www.url.com/original"); |
| 1225 navigation_manager()->GetPendingItem()->SetOriginalRequestURL( | 1237 navigation_manager()->GetPendingItem()->SetOriginalRequestURL( |
| 1226 expected_original_url); | 1238 expected_original_url); |
| 1227 | 1239 |
| 1228 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL, | 1240 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL, |
| 1229 false /* check_for_repost */); | 1241 false /* check_for_repost */); |
| 1230 EXPECT_TRUE(navigation_manager_delegate().reload_called()); | 1242 EXPECT_TRUE(navigation_manager_delegate().reload_called()); |
| 1231 | 1243 |
| 1232 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 1244 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 1233 EXPECT_EQ(expected_original_url, | 1245 EXPECT_EQ(expected_original_url, |
| 1234 navigation_manager()->GetPendingItem()->GetURL()); | 1246 navigation_manager()->GetPendingItem()->GetURL()); |
| 1235 } | 1247 } |
| 1236 | 1248 |
| 1237 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL | 1249 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL |
| 1238 // changes the user initiated pending item's url to its original request url | 1250 // changes the user initiated pending item's url to its original request url |
| 1239 // when there is one. | 1251 // when there is one. |
| 1240 TEST_F(NavigationManagerTest, ReloadUserPendingItemWithOriginalType) { | 1252 TEST_P(NavigationManagerTest, ReloadUserPendingItemWithOriginalType) { |
| 1241 navigation_manager()->AddPendingItem( | 1253 navigation_manager()->AddPendingItem( |
| 1242 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 1254 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 1243 web::NavigationInitiationType::USER_INITIATED, | 1255 web::NavigationInitiationType::USER_INITIATED, |
| 1244 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 1256 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 1245 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 1257 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 1246 GURL expected_original_url = GURL("http://www.url.com/original"); | 1258 GURL expected_original_url = GURL("http://www.url.com/original"); |
| 1247 navigation_manager()->GetPendingItem()->SetOriginalRequestURL( | 1259 navigation_manager()->GetPendingItem()->SetOriginalRequestURL( |
| 1248 expected_original_url); | 1260 expected_original_url); |
| 1249 | 1261 |
| 1250 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL, | 1262 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL, |
| 1251 false /* check_for_repost */); | 1263 false /* check_for_repost */); |
| 1252 EXPECT_TRUE(navigation_manager_delegate().reload_called()); | 1264 EXPECT_TRUE(navigation_manager_delegate().reload_called()); |
| 1253 | 1265 |
| 1254 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 1266 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 1255 EXPECT_EQ(expected_original_url, | 1267 EXPECT_EQ(expected_original_url, |
| 1256 navigation_manager()->GetPendingItem()->GetURL()); | 1268 navigation_manager()->GetPendingItem()->GetURL()); |
| 1257 } | 1269 } |
| 1258 | 1270 |
| 1259 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL | 1271 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL |
| 1260 // changes the last committed item's url to its original request url when there | 1272 // changes the last committed item's url to its original request url when there |
| 1261 // is no pending item. | 1273 // is no pending item. |
| 1262 TEST_F(NavigationManagerTest, ReloadLastCommittedItemWithOriginalType) { | 1274 TEST_P(NavigationManagerTest, ReloadLastCommittedItemWithOriginalType) { |
| 1263 navigation_manager()->AddPendingItem( | 1275 navigation_manager()->AddPendingItem( |
| 1264 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 1276 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 1265 web::NavigationInitiationType::USER_INITIATED, | 1277 web::NavigationInitiationType::USER_INITIATED, |
| 1266 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 1278 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 1267 [session_controller() commitPendingItem]; | 1279 [session_controller() commitPendingItem]; |
| 1268 | 1280 |
| 1269 navigation_manager()->AddPendingItem( | 1281 navigation_manager()->AddPendingItem( |
| 1270 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 1282 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 1271 web::NavigationInitiationType::USER_INITIATED, | 1283 web::NavigationInitiationType::USER_INITIATED, |
| 1272 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 1284 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 1273 GURL expected_original_url = GURL("http://www.url.com/1/original"); | 1285 GURL expected_original_url = GURL("http://www.url.com/1/original"); |
| 1274 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 1286 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 1275 navigation_manager()->GetPendingItem()->SetOriginalRequestURL( | 1287 navigation_manager()->GetPendingItem()->SetOriginalRequestURL( |
| 1276 expected_original_url); | 1288 expected_original_url); |
| 1277 [session_controller() commitPendingItem]; | 1289 [session_controller() commitPendingItem]; |
| 1278 | 1290 |
| 1279 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL, | 1291 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL, |
| 1280 false /* check_for_repost */); | 1292 false /* check_for_repost */); |
| 1281 EXPECT_TRUE(navigation_manager_delegate().reload_called()); | 1293 EXPECT_TRUE(navigation_manager_delegate().reload_called()); |
| 1282 | 1294 |
| 1283 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); | 1295 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 1284 EXPECT_EQ(expected_original_url, | 1296 EXPECT_EQ(expected_original_url, |
| 1285 navigation_manager()->GetLastCommittedItem()->GetURL()); | 1297 navigation_manager()->GetLastCommittedItem()->GetURL()); |
| 1286 } | 1298 } |
| 1287 | 1299 |
| 1288 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL | 1300 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL |
| 1289 // changes the last committed item's url to its original request url when there | 1301 // changes the last committed item's url to its original request url when there |
| 1290 // is no pending item, but there are forward items after last committed item. | 1302 // is no pending item, but there are forward items after last committed item. |
| 1291 TEST_F(NavigationManagerTest, | 1303 TEST_P(NavigationManagerTest, |
| 1292 ReloadLastCommittedItemWithOriginalTypeWithForwardItems) { | 1304 ReloadLastCommittedItemWithOriginalTypeWithForwardItems) { |
| 1293 navigation_manager()->AddPendingItem( | 1305 navigation_manager()->AddPendingItem( |
| 1294 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 1306 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 1295 web::NavigationInitiationType::USER_INITIATED, | 1307 web::NavigationInitiationType::USER_INITIATED, |
| 1296 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 1308 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 1297 [session_controller() commitPendingItem]; | 1309 [session_controller() commitPendingItem]; |
| 1298 | 1310 |
| 1299 navigation_manager()->AddPendingItem( | 1311 navigation_manager()->AddPendingItem( |
| 1300 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 1312 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 1301 web::NavigationInitiationType::USER_INITIATED, | 1313 web::NavigationInitiationType::USER_INITIATED, |
| (...skipping 17 matching lines...) Expand all Loading... |
| 1319 false /* check_for_repost */); | 1331 false /* check_for_repost */); |
| 1320 EXPECT_TRUE(navigation_manager_delegate().reload_called()); | 1332 EXPECT_TRUE(navigation_manager_delegate().reload_called()); |
| 1321 | 1333 |
| 1322 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); | 1334 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 1323 EXPECT_EQ(expected_original_url, | 1335 EXPECT_EQ(expected_original_url, |
| 1324 navigation_manager()->GetLastCommittedItem()->GetURL()); | 1336 navigation_manager()->GetLastCommittedItem()->GetURL()); |
| 1325 } | 1337 } |
| 1326 | 1338 |
| 1327 // Tests that app-specific URLs are not rewritten for renderer-initiated loads | 1339 // Tests that app-specific URLs are not rewritten for renderer-initiated loads |
| 1328 // unless requested by a page with app-specific url. | 1340 // unless requested by a page with app-specific url. |
| 1329 TEST_F(NavigationManagerTest, RewritingAppSpecificUrls) { | 1341 TEST_P(NavigationManagerTest, RewritingAppSpecificUrls) { |
| 1330 // URL should not be rewritten as there is no committed URL. | 1342 // URL should not be rewritten as there is no committed URL. |
| 1331 GURL url1(url::SchemeHostPort(kSchemeToRewrite, "test", 0).Serialize()); | 1343 GURL url1(url::SchemeHostPort(kSchemeToRewrite, "test", 0).Serialize()); |
| 1332 navigation_manager()->AddPendingItem( | 1344 navigation_manager()->AddPendingItem( |
| 1333 url1, Referrer(), ui::PAGE_TRANSITION_LINK, | 1345 url1, Referrer(), ui::PAGE_TRANSITION_LINK, |
| 1334 web::NavigationInitiationType::RENDERER_INITIATED, | 1346 web::NavigationInitiationType::RENDERER_INITIATED, |
| 1335 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 1347 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 1336 EXPECT_EQ(url1, navigation_manager()->GetPendingItem()->GetURL()); | 1348 EXPECT_EQ(url1, navigation_manager()->GetPendingItem()->GetURL()); |
| 1337 | 1349 |
| 1338 // URL should not be rewritten because last committed URL is not app-specific. | 1350 // URL should not be rewritten because last committed URL is not app-specific. |
| 1339 [session_controller() commitPendingItem]; | 1351 [session_controller() commitPendingItem]; |
| (...skipping 20 matching lines...) Expand all Loading... |
| 1360 navigation_manager()->AddPendingItem( | 1372 navigation_manager()->AddPendingItem( |
| 1361 url4, Referrer(), ui::PAGE_TRANSITION_LINK, | 1373 url4, Referrer(), ui::PAGE_TRANSITION_LINK, |
| 1362 web::NavigationInitiationType::RENDERER_INITIATED, | 1374 web::NavigationInitiationType::RENDERER_INITIATED, |
| 1363 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 1375 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 1364 GURL rewritten_url4( | 1376 GURL rewritten_url4( |
| 1365 url::SchemeHostPort(kTestWebUIScheme, "test4", 0).Serialize()); | 1377 url::SchemeHostPort(kTestWebUIScheme, "test4", 0).Serialize()); |
| 1366 EXPECT_EQ(rewritten_url4, navigation_manager()->GetPendingItem()->GetURL()); | 1378 EXPECT_EQ(rewritten_url4, navigation_manager()->GetPendingItem()->GetURL()); |
| 1367 } | 1379 } |
| 1368 | 1380 |
| 1369 // Tests that GetIndexOfItem() returns the correct values. | 1381 // Tests that GetIndexOfItem() returns the correct values. |
| 1370 TEST_F(NavigationManagerTest, GetIndexOfItem) { | 1382 TEST_P(NavigationManagerTest, GetIndexOfItem) { |
| 1371 // Create two items and add them to the NavigationManagerImpl. | 1383 // Create two items and add them to the NavigationManagerImpl. |
| 1372 navigation_manager()->AddPendingItem( | 1384 navigation_manager()->AddPendingItem( |
| 1373 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 1385 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 1374 web::NavigationInitiationType::USER_INITIATED, | 1386 web::NavigationInitiationType::USER_INITIATED, |
| 1375 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 1387 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 1376 navigation_manager()->CommitPendingItem(); | 1388 navigation_manager()->CommitPendingItem(); |
| 1377 web::NavigationItem* item0 = navigation_manager()->GetLastCommittedItem(); | 1389 web::NavigationItem* item0 = navigation_manager()->GetLastCommittedItem(); |
| 1378 navigation_manager()->AddPendingItem( | 1390 navigation_manager()->AddPendingItem( |
| 1379 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 1391 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 1380 web::NavigationInitiationType::USER_INITIATED, | 1392 web::NavigationInitiationType::USER_INITIATED, |
| 1381 web::NavigationManager::UserAgentOverrideOption::INHERIT); | 1393 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 1382 navigation_manager()->CommitPendingItem(); | 1394 navigation_manager()->CommitPendingItem(); |
| 1383 web::NavigationItem* item1 = navigation_manager()->GetLastCommittedItem(); | 1395 web::NavigationItem* item1 = navigation_manager()->GetLastCommittedItem(); |
| 1384 // Create an item that does not exist in the NavigationManagerImpl. | 1396 // Create an item that does not exist in the NavigationManagerImpl. |
| 1385 std::unique_ptr<web::NavigationItem> item_not_found = | 1397 std::unique_ptr<web::NavigationItem> item_not_found = |
| 1386 web::NavigationItem::Create(); | 1398 web::NavigationItem::Create(); |
| 1387 // Verify GetIndexOfItem() results. | 1399 // Verify GetIndexOfItem() results. |
| 1388 EXPECT_EQ(0, navigation_manager()->GetIndexOfItem(item0)); | 1400 EXPECT_EQ(0, navigation_manager()->GetIndexOfItem(item0)); |
| 1389 EXPECT_EQ(1, navigation_manager()->GetIndexOfItem(item1)); | 1401 EXPECT_EQ(1, navigation_manager()->GetIndexOfItem(item1)); |
| 1390 EXPECT_EQ(-1, navigation_manager()->GetIndexOfItem(item_not_found.get())); | 1402 EXPECT_EQ(-1, navigation_manager()->GetIndexOfItem(item_not_found.get())); |
| 1391 } | 1403 } |
| 1392 | 1404 |
| 1405 INSTANTIATE_TEST_CASE_P( |
| 1406 ProgrammaticNavigationManagerTest, |
| 1407 NavigationManagerTest, |
| 1408 ::testing::Values(true /* test_legacy_navigation_manager */)); |
| 1409 |
| 1393 } // namespace web | 1410 } // namespace web |
| OLD | NEW |