| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #import "ios/web/navigation/navigation_manager_impl.h" | 5 #import "ios/web/navigation/navigation_manager_impl.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #import "base/mac/scoped_nsobject.h" | 8 #import "base/mac/scoped_nsobject.h" |
| 9 #import "ios/web/navigation/crw_session_controller+private_constructors.h" | 9 #import "ios/web/navigation/crw_session_controller+private_constructors.h" |
| 10 #import "ios/web/navigation/navigation_manager_delegate.h" | 10 #import "ios/web/navigation/navigation_manager_delegate.h" |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 65 EXPECT_EQ(-1, navigation_manager()->GetLastCommittedItemIndex()); | 65 EXPECT_EQ(-1, navigation_manager()->GetLastCommittedItemIndex()); |
| 66 EXPECT_FALSE(navigation_manager()->GetPendingItem()); | 66 EXPECT_FALSE(navigation_manager()->GetPendingItem()); |
| 67 EXPECT_EQ(-1, navigation_manager()->GetPendingItemIndex()); | 67 EXPECT_EQ(-1, navigation_manager()->GetPendingItemIndex()); |
| 68 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(0)); | 68 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(0)); |
| 69 } | 69 } |
| 70 | 70 |
| 71 // Tests that GetPendingItemIndex() returns -1 if there is no pending entry. | 71 // Tests that GetPendingItemIndex() returns -1 if there is no pending entry. |
| 72 TEST_F(NavigationManagerTest, GetPendingItemIndexWithoutPendingEntry) { | 72 TEST_F(NavigationManagerTest, GetPendingItemIndexWithoutPendingEntry) { |
| 73 navigation_manager()->AddPendingItem( | 73 navigation_manager()->AddPendingItem( |
| 74 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 74 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 75 web::NavigationInitiationType::USER_INITIATED); | 75 web::NavigationInitiationType::USER_INITIATED, |
| 76 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 76 [session_controller() commitPendingItem]; | 77 [session_controller() commitPendingItem]; |
| 77 EXPECT_EQ(-1, navigation_manager()->GetPendingItemIndex()); | 78 EXPECT_EQ(-1, navigation_manager()->GetPendingItemIndex()); |
| 78 } | 79 } |
| 79 | 80 |
| 80 // Tests that GetPendingItemIndex() returns current item index if there is a | 81 // Tests that GetPendingItemIndex() returns current item index if there is a |
| 81 // pending entry. | 82 // pending entry. |
| 82 TEST_F(NavigationManagerTest, GetPendingItemIndexWithPendingEntry) { | 83 TEST_F(NavigationManagerTest, GetPendingItemIndexWithPendingEntry) { |
| 83 navigation_manager()->AddPendingItem( | 84 navigation_manager()->AddPendingItem( |
| 84 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 85 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 85 web::NavigationInitiationType::USER_INITIATED); | 86 web::NavigationInitiationType::USER_INITIATED, |
| 87 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 86 [session_controller() commitPendingItem]; | 88 [session_controller() commitPendingItem]; |
| 87 navigation_manager()->AddPendingItem( | 89 navigation_manager()->AddPendingItem( |
| 88 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 90 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 89 web::NavigationInitiationType::USER_INITIATED); | 91 web::NavigationInitiationType::USER_INITIATED, |
| 92 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 90 EXPECT_EQ(0, navigation_manager()->GetPendingItemIndex()); | 93 EXPECT_EQ(0, navigation_manager()->GetPendingItemIndex()); |
| 91 } | 94 } |
| 92 | 95 |
| 93 // Tests that GetPendingItemIndex() returns same index as was set by | 96 // Tests that GetPendingItemIndex() returns same index as was set by |
| 94 // -[CRWSessionController setPendingItemIndex:]. | 97 // -[CRWSessionController setPendingItemIndex:]. |
| 95 TEST_F(NavigationManagerTest, GetPendingItemIndexWithIndexedPendingEntry) { | 98 TEST_F(NavigationManagerTest, GetPendingItemIndexWithIndexedPendingEntry) { |
| 96 navigation_manager()->AddPendingItem( | 99 navigation_manager()->AddPendingItem( |
| 97 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 100 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 98 web::NavigationInitiationType::USER_INITIATED); | 101 web::NavigationInitiationType::USER_INITIATED, |
| 102 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 99 [session_controller() commitPendingItem]; | 103 [session_controller() commitPendingItem]; |
| 100 navigation_manager()->AddPendingItem( | 104 navigation_manager()->AddPendingItem( |
| 101 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 105 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 102 web::NavigationInitiationType::USER_INITIATED); | 106 web::NavigationInitiationType::USER_INITIATED, |
| 107 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 103 [session_controller() commitPendingItem]; | 108 [session_controller() commitPendingItem]; |
| 104 | 109 |
| 105 EXPECT_EQ(-1, navigation_manager()->GetPendingItemIndex()); | 110 EXPECT_EQ(-1, navigation_manager()->GetPendingItemIndex()); |
| 106 [session_controller() setPendingItemIndex:0]; | 111 [session_controller() setPendingItemIndex:0]; |
| 107 EXPECT_EQ(0, navigation_manager()->GetPendingItemIndex()); | 112 EXPECT_EQ(0, navigation_manager()->GetPendingItemIndex()); |
| 108 } | 113 } |
| 109 | 114 |
| 110 // Tests that going back or negative offset is not possible without a committed | 115 // Tests that going back or negative offset is not possible without a committed |
| 111 // item. | 116 // item. |
| 112 TEST_F(NavigationManagerTest, CanGoBackWithoutCommitedItem) { | 117 TEST_F(NavigationManagerTest, CanGoBackWithoutCommitedItem) { |
| 113 EXPECT_FALSE(navigation_manager()->CanGoBack()); | 118 EXPECT_FALSE(navigation_manager()->CanGoBack()); |
| 114 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); | 119 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); |
| 115 } | 120 } |
| 116 | 121 |
| 117 // Tests that going back or negative offset is not possible if there is a | 122 // Tests that going back or negative offset is not possible if there is a |
| 118 // transient item, but not committed items. | 123 // transient item, but not committed items. |
| 119 TEST_F(NavigationManagerTest, CanGoBackWithTransientItem) { | 124 TEST_F(NavigationManagerTest, CanGoBackWithTransientItem) { |
| 120 [session_controller() addTransientItemWithURL:GURL("http://www.url.com")]; | 125 [session_controller() addTransientItemWithURL:GURL("http://www.url.com")]; |
| 121 | 126 |
| 122 EXPECT_FALSE(navigation_manager()->CanGoBack()); | 127 EXPECT_FALSE(navigation_manager()->CanGoBack()); |
| 123 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); | 128 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); |
| 124 } | 129 } |
| 125 | 130 |
| 126 // Tests that going back or negative offset is possible if there is a transient | 131 // Tests that going back or negative offset is possible if there is a transient |
| 127 // item and at least one committed item. | 132 // item and at least one committed item. |
| 128 TEST_F(NavigationManagerTest, CanGoBackWithTransientItemAndCommittedItem) { | 133 TEST_F(NavigationManagerTest, CanGoBackWithTransientItemAndCommittedItem) { |
| 129 navigation_manager()->AddPendingItem( | 134 navigation_manager()->AddPendingItem( |
| 130 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 135 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 131 web::NavigationInitiationType::USER_INITIATED); | 136 web::NavigationInitiationType::USER_INITIATED, |
| 137 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 132 [session_controller() commitPendingItem]; | 138 [session_controller() commitPendingItem]; |
| 133 [session_controller() addTransientItemWithURL:GURL("http://www.url.com/0")]; | 139 [session_controller() addTransientItemWithURL:GURL("http://www.url.com/0")]; |
| 134 | 140 |
| 135 EXPECT_TRUE(navigation_manager()->CanGoBack()); | 141 EXPECT_TRUE(navigation_manager()->CanGoBack()); |
| 136 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); | 142 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); |
| 137 } | 143 } |
| 138 | 144 |
| 139 // Tests that going back or negative offset is not possible if there is ony one | 145 // Tests that going back or negative offset is not possible if there is ony one |
| 140 // committed item and no transient item. | 146 // committed item and no transient item. |
| 141 TEST_F(NavigationManagerTest, CanGoBackWithSingleCommitedItem) { | 147 TEST_F(NavigationManagerTest, CanGoBackWithSingleCommitedItem) { |
| 142 navigation_manager()->AddPendingItem( | 148 navigation_manager()->AddPendingItem( |
| 143 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 149 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 144 web::NavigationInitiationType::USER_INITIATED); | 150 web::NavigationInitiationType::USER_INITIATED, |
| 151 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 145 [session_controller() commitPendingItem]; | 152 [session_controller() commitPendingItem]; |
| 146 | 153 |
| 147 EXPECT_FALSE(navigation_manager()->CanGoBack()); | 154 EXPECT_FALSE(navigation_manager()->CanGoBack()); |
| 148 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); | 155 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); |
| 149 } | 156 } |
| 150 | 157 |
| 151 // Tests going back possibility with multiple committed items. | 158 // Tests going back possibility with multiple committed items. |
| 152 TEST_F(NavigationManagerTest, CanGoBackWithMultipleCommitedItems) { | 159 TEST_F(NavigationManagerTest, CanGoBackWithMultipleCommitedItems) { |
| 153 navigation_manager()->AddPendingItem( | 160 navigation_manager()->AddPendingItem( |
| 154 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 161 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 155 web::NavigationInitiationType::USER_INITIATED); | 162 web::NavigationInitiationType::USER_INITIATED, |
| 163 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 156 [session_controller() commitPendingItem]; | 164 [session_controller() commitPendingItem]; |
| 157 navigation_manager()->AddPendingItem( | 165 navigation_manager()->AddPendingItem( |
| 158 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 166 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 159 web::NavigationInitiationType::USER_INITIATED); | 167 web::NavigationInitiationType::USER_INITIATED, |
| 168 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 160 [session_controller() commitPendingItem]; | 169 [session_controller() commitPendingItem]; |
| 161 navigation_manager()->AddPendingItem( | 170 navigation_manager()->AddPendingItem( |
| 162 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 171 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 163 web::NavigationInitiationType::USER_INITIATED); | 172 web::NavigationInitiationType::USER_INITIATED, |
| 173 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 164 [session_controller() commitPendingItem]; | 174 [session_controller() commitPendingItem]; |
| 165 | 175 |
| 166 EXPECT_TRUE(navigation_manager()->CanGoBack()); | 176 EXPECT_TRUE(navigation_manager()->CanGoBack()); |
| 167 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); | 177 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); |
| 168 | 178 |
| 169 [session_controller() goToItemAtIndex:1]; | 179 [session_controller() goToItemAtIndex:1]; |
| 170 EXPECT_TRUE(navigation_manager()->CanGoBack()); | 180 EXPECT_TRUE(navigation_manager()->CanGoBack()); |
| 171 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); | 181 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); |
| 172 | 182 |
| 173 [session_controller() goToItemAtIndex:0]; | 183 [session_controller() goToItemAtIndex:0]; |
| 174 EXPECT_FALSE(navigation_manager()->CanGoBack()); | 184 EXPECT_FALSE(navigation_manager()->CanGoBack()); |
| 175 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); | 185 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); |
| 176 | 186 |
| 177 [session_controller() goToItemAtIndex:1]; | 187 [session_controller() goToItemAtIndex:1]; |
| 178 EXPECT_TRUE(navigation_manager()->CanGoBack()); | 188 EXPECT_TRUE(navigation_manager()->CanGoBack()); |
| 179 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); | 189 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); |
| 180 } | 190 } |
| 181 | 191 |
| 182 // Tests that going forward or positive offset is not possible if there is a | 192 // Tests that going forward or positive offset is not possible if there is a |
| 183 // pending entry. | 193 // pending entry. |
| 184 TEST_F(NavigationManagerTest, CanGoForwardWithPendingItem) { | 194 TEST_F(NavigationManagerTest, CanGoForwardWithPendingItem) { |
| 185 navigation_manager()->AddPendingItem( | 195 navigation_manager()->AddPendingItem( |
| 186 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 196 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 187 web::NavigationInitiationType::USER_INITIATED); | 197 web::NavigationInitiationType::USER_INITIATED, |
| 198 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 188 [session_controller() commitPendingItem]; | 199 [session_controller() commitPendingItem]; |
| 189 navigation_manager()->AddPendingItem( | 200 navigation_manager()->AddPendingItem( |
| 190 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 201 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 191 web::NavigationInitiationType::USER_INITIATED); | 202 web::NavigationInitiationType::USER_INITIATED, |
| 203 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 192 [session_controller() commitPendingItem]; | 204 [session_controller() commitPendingItem]; |
| 193 [session_controller() goToItemAtIndex:0]; | 205 [session_controller() goToItemAtIndex:0]; |
| 194 navigation_manager()->AddPendingItem( | 206 navigation_manager()->AddPendingItem( |
| 195 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 207 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 196 web::NavigationInitiationType::USER_INITIATED); | 208 web::NavigationInitiationType::USER_INITIATED, |
| 209 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 197 | 210 |
| 198 // Pending entry should not allow going forward. | 211 // Pending entry should not allow going forward. |
| 199 EXPECT_FALSE(navigation_manager()->CanGoForward()); | 212 EXPECT_FALSE(navigation_manager()->CanGoForward()); |
| 200 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); | 213 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); |
| 201 } | 214 } |
| 202 | 215 |
| 203 // Tests that going forward or positive offset is not possible without a | 216 // Tests that going forward or positive offset is not possible without a |
| 204 // committed item. | 217 // committed item. |
| 205 TEST_F(NavigationManagerTest, CanGoForwardWithoutCommitedItem) { | 218 TEST_F(NavigationManagerTest, CanGoForwardWithoutCommitedItem) { |
| 206 EXPECT_FALSE(navigation_manager()->CanGoForward()); | 219 EXPECT_FALSE(navigation_manager()->CanGoForward()); |
| 207 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); | 220 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); |
| 208 } | 221 } |
| 209 | 222 |
| 210 // Tests that going forward or positive offset is not possible if there is ony | 223 // Tests that going forward or positive offset is not possible if there is ony |
| 211 // one committed item and no transient item. | 224 // one committed item and no transient item. |
| 212 TEST_F(NavigationManagerTest, CanGoForwardWithSingleCommitedItem) { | 225 TEST_F(NavigationManagerTest, CanGoForwardWithSingleCommitedItem) { |
| 213 navigation_manager()->AddPendingItem( | 226 navigation_manager()->AddPendingItem( |
| 214 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 227 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 215 web::NavigationInitiationType::USER_INITIATED); | 228 web::NavigationInitiationType::USER_INITIATED, |
| 229 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 216 [session_controller() commitPendingItem]; | 230 [session_controller() commitPendingItem]; |
| 217 | 231 |
| 218 EXPECT_FALSE(navigation_manager()->CanGoForward()); | 232 EXPECT_FALSE(navigation_manager()->CanGoForward()); |
| 219 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); | 233 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); |
| 220 } | 234 } |
| 221 | 235 |
| 222 // Tests going forward possibility with multiple committed items. | 236 // Tests going forward possibility with multiple committed items. |
| 223 TEST_F(NavigationManagerTest, CanGoForwardWithMultipleCommitedEntries) { | 237 TEST_F(NavigationManagerTest, CanGoForwardWithMultipleCommitedEntries) { |
| 224 navigation_manager()->AddPendingItem( | 238 navigation_manager()->AddPendingItem( |
| 225 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 239 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 226 web::NavigationInitiationType::USER_INITIATED); | 240 web::NavigationInitiationType::USER_INITIATED, |
| 241 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 227 [session_controller() commitPendingItem]; | 242 [session_controller() commitPendingItem]; |
| 228 navigation_manager()->AddPendingItem( | 243 navigation_manager()->AddPendingItem( |
| 229 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 244 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 230 web::NavigationInitiationType::USER_INITIATED); | 245 web::NavigationInitiationType::USER_INITIATED, |
| 246 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 231 [session_controller() commitPendingItem]; | 247 [session_controller() commitPendingItem]; |
| 232 navigation_manager()->AddPendingItem( | 248 navigation_manager()->AddPendingItem( |
| 233 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 249 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 234 web::NavigationInitiationType::USER_INITIATED); | 250 web::NavigationInitiationType::USER_INITIATED, |
| 251 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 235 [session_controller() commitPendingItem]; | 252 [session_controller() commitPendingItem]; |
| 236 | 253 |
| 237 EXPECT_FALSE(navigation_manager()->CanGoForward()); | 254 EXPECT_FALSE(navigation_manager()->CanGoForward()); |
| 238 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); | 255 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); |
| 239 | 256 |
| 240 [session_controller() goToItemAtIndex:1]; | 257 [session_controller() goToItemAtIndex:1]; |
| 241 EXPECT_TRUE(navigation_manager()->CanGoForward()); | 258 EXPECT_TRUE(navigation_manager()->CanGoForward()); |
| 242 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); | 259 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); |
| 243 | 260 |
| 244 [session_controller() goToItemAtIndex:0]; | 261 [session_controller() goToItemAtIndex:0]; |
| 245 EXPECT_TRUE(navigation_manager()->CanGoForward()); | 262 EXPECT_TRUE(navigation_manager()->CanGoForward()); |
| 246 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); | 263 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); |
| 247 | 264 |
| 248 [session_controller() goToItemAtIndex:1]; | 265 [session_controller() goToItemAtIndex:1]; |
| 249 EXPECT_TRUE(navigation_manager()->CanGoForward()); | 266 EXPECT_TRUE(navigation_manager()->CanGoForward()); |
| 250 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); | 267 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); |
| 251 | 268 |
| 252 [session_controller() goToItemAtIndex:2]; | 269 [session_controller() goToItemAtIndex:2]; |
| 253 EXPECT_FALSE(navigation_manager()->CanGoForward()); | 270 EXPECT_FALSE(navigation_manager()->CanGoForward()); |
| 254 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); | 271 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); |
| 255 } | 272 } |
| 256 | 273 |
| 257 // Tests CanGoToOffset API for positive, negative and zero delta. Tested | 274 // Tests CanGoToOffset API for positive, negative and zero delta. Tested |
| 258 // navigation manager will have redirect entries to make sure they are | 275 // navigation manager will have redirect entries to make sure they are |
| 259 // appropriately skipped. | 276 // appropriately skipped. |
| 260 TEST_F(NavigationManagerTest, OffsetsWithoutPendingIndex) { | 277 TEST_F(NavigationManagerTest, OffsetsWithoutPendingIndex) { |
| 261 navigation_manager()->AddPendingItem( | 278 navigation_manager()->AddPendingItem( |
| 262 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_LINK, | 279 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_LINK, |
| 263 web::NavigationInitiationType::USER_INITIATED); | 280 web::NavigationInitiationType::USER_INITIATED, |
| 281 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 264 [session_controller() commitPendingItem]; | 282 [session_controller() commitPendingItem]; |
| 265 navigation_manager()->AddPendingItem( | 283 navigation_manager()->AddPendingItem( |
| 266 GURL("http://www.url.com/redirect"), Referrer(), | 284 GURL("http://www.url.com/redirect"), Referrer(), |
| 267 ui::PAGE_TRANSITION_CLIENT_REDIRECT, | 285 ui::PAGE_TRANSITION_CLIENT_REDIRECT, |
| 268 web::NavigationInitiationType::USER_INITIATED); | 286 web::NavigationInitiationType::USER_INITIATED, |
| 287 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 269 [session_controller() commitPendingItem]; | 288 [session_controller() commitPendingItem]; |
| 270 navigation_manager()->AddPendingItem( | 289 navigation_manager()->AddPendingItem( |
| 271 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_LINK, | 290 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_LINK, |
| 272 web::NavigationInitiationType::USER_INITIATED); | 291 web::NavigationInitiationType::USER_INITIATED, |
| 292 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 273 [session_controller() commitPendingItem]; | 293 [session_controller() commitPendingItem]; |
| 274 navigation_manager()->AddPendingItem( | 294 navigation_manager()->AddPendingItem( |
| 275 GURL("http://www.url.com/2"), Referrer(), ui::PAGE_TRANSITION_LINK, | 295 GURL("http://www.url.com/2"), Referrer(), ui::PAGE_TRANSITION_LINK, |
| 276 web::NavigationInitiationType::USER_INITIATED); | 296 web::NavigationInitiationType::USER_INITIATED, |
| 297 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 277 [session_controller() commitPendingItem]; | 298 [session_controller() commitPendingItem]; |
| 278 navigation_manager()->AddPendingItem( | 299 navigation_manager()->AddPendingItem( |
| 279 GURL("http://www.url.com/redirect"), Referrer(), | 300 GURL("http://www.url.com/redirect"), Referrer(), |
| 280 ui::PAGE_TRANSITION_CLIENT_REDIRECT, | 301 ui::PAGE_TRANSITION_CLIENT_REDIRECT, |
| 281 web::NavigationInitiationType::USER_INITIATED); | 302 web::NavigationInitiationType::USER_INITIATED, |
| 303 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 282 [session_controller() commitPendingItem]; | 304 [session_controller() commitPendingItem]; |
| 283 ASSERT_EQ(5, navigation_manager()->GetItemCount()); | 305 ASSERT_EQ(5, navigation_manager()->GetItemCount()); |
| 284 ASSERT_EQ(4, navigation_manager()->GetLastCommittedItemIndex()); | 306 ASSERT_EQ(4, navigation_manager()->GetLastCommittedItemIndex()); |
| 285 | 307 |
| 286 // Go to entry at index 1 and test API from that state. | 308 // Go to entry at index 1 and test API from that state. |
| 287 [session_controller() goToItemAtIndex:1]; | 309 [session_controller() goToItemAtIndex:1]; |
| 288 ASSERT_EQ(1, navigation_manager()->GetLastCommittedItemIndex()); | 310 ASSERT_EQ(1, navigation_manager()->GetLastCommittedItemIndex()); |
| 289 ASSERT_EQ(-1, navigation_manager()->GetPendingItemIndex()); | 311 ASSERT_EQ(-1, navigation_manager()->GetPendingItemIndex()); |
| 290 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); | 312 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); |
| 291 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(-1)); | 313 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(-1)); |
| (...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 477 } | 499 } |
| 478 | 500 |
| 479 // Tests offsets with pending transient entries (specifically gong back and | 501 // Tests offsets with pending transient entries (specifically gong back and |
| 480 // forward from a pending navigation entry that is added to the middle of the | 502 // forward from a pending navigation entry that is added to the middle of the |
| 481 // navigation stack). | 503 // navigation stack). |
| 482 TEST_F(NavigationManagerTest, OffsetsWithPendingTransientEntry) { | 504 TEST_F(NavigationManagerTest, OffsetsWithPendingTransientEntry) { |
| 483 // Create a transient item in the middle of the navigation stack and go back | 505 // Create a transient item in the middle of the navigation stack and go back |
| 484 // to it (pending index is 1, current index is 2). | 506 // to it (pending index is 1, current index is 2). |
| 485 navigation_manager()->AddPendingItem( | 507 navigation_manager()->AddPendingItem( |
| 486 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_LINK, | 508 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_LINK, |
| 487 web::NavigationInitiationType::USER_INITIATED); | 509 web::NavigationInitiationType::USER_INITIATED, |
| 510 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 488 [session_controller() commitPendingItem]; | 511 [session_controller() commitPendingItem]; |
| 489 navigation_manager()->AddPendingItem( | 512 navigation_manager()->AddPendingItem( |
| 490 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_LINK, | 513 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_LINK, |
| 491 web::NavigationInitiationType::USER_INITIATED); | 514 web::NavigationInitiationType::USER_INITIATED, |
| 515 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 492 [session_controller() commitPendingItem]; | 516 [session_controller() commitPendingItem]; |
| 493 navigation_manager()->AddPendingItem( | 517 navigation_manager()->AddPendingItem( |
| 494 GURL("http://www.url.com/2"), Referrer(), ui::PAGE_TRANSITION_LINK, | 518 GURL("http://www.url.com/2"), Referrer(), ui::PAGE_TRANSITION_LINK, |
| 495 web::NavigationInitiationType::USER_INITIATED); | 519 web::NavigationInitiationType::USER_INITIATED, |
| 520 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 496 [session_controller() commitPendingItem]; | 521 [session_controller() commitPendingItem]; |
| 497 [session_controller() addTransientItemWithURL:GURL("http://www.url.com/1")]; | 522 [session_controller() addTransientItemWithURL:GURL("http://www.url.com/1")]; |
| 498 [session_controller() setPendingItemIndex:1]; | 523 [session_controller() setPendingItemIndex:1]; |
| 499 | 524 |
| 500 ASSERT_EQ(3, navigation_manager()->GetItemCount()); | 525 ASSERT_EQ(3, navigation_manager()->GetItemCount()); |
| 501 ASSERT_EQ(2, navigation_manager()->GetLastCommittedItemIndex()); | 526 ASSERT_EQ(2, navigation_manager()->GetLastCommittedItemIndex()); |
| 502 ASSERT_EQ(1, navigation_manager()->GetPendingItemIndex()); | 527 ASSERT_EQ(1, navigation_manager()->GetPendingItemIndex()); |
| 503 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(1)); | 528 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(1)); |
| 504 EXPECT_EQ(0, navigation_manager()->GetIndexForOffset(-1)); | 529 EXPECT_EQ(0, navigation_manager()->GetIndexForOffset(-1)); |
| 505 | 530 |
| 506 // Now go forward to that middle transient item (pending index is 1, | 531 // Now go forward to that middle transient item (pending index is 1, |
| 507 // current index is 0). | 532 // current index is 0). |
| 508 [session_controller() goToItemAtIndex:0]; | 533 [session_controller() goToItemAtIndex:0]; |
| 509 [session_controller() setPendingItemIndex:1]; | 534 [session_controller() setPendingItemIndex:1]; |
| 510 ASSERT_EQ(3, navigation_manager()->GetItemCount()); | 535 ASSERT_EQ(3, navigation_manager()->GetItemCount()); |
| 511 ASSERT_EQ(0, navigation_manager()->GetLastCommittedItemIndex()); | 536 ASSERT_EQ(0, navigation_manager()->GetLastCommittedItemIndex()); |
| 512 ASSERT_EQ(1, navigation_manager()->GetPendingItemIndex()); | 537 ASSERT_EQ(1, navigation_manager()->GetPendingItemIndex()); |
| 513 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(1)); | 538 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(1)); |
| 514 EXPECT_EQ(0, navigation_manager()->GetIndexForOffset(-1)); | 539 EXPECT_EQ(0, navigation_manager()->GetIndexForOffset(-1)); |
| 515 } | 540 } |
| 516 | 541 |
| 517 // Tests that desktop user agent can be enforced to use for next pending item. | 542 // Tests that desktop user agent can be enforced to use for next pending item |
| 518 TEST_F(NavigationManagerTest, OverrideDesktopUserAgent) { | 543 // when UserAgentOverrideOption is DESKTOP. |
| 519 navigation_manager()->OverrideDesktopUserAgentForNextPendingItem(); | 544 TEST_F(NavigationManagerTest, OverrideUserAgentWithDesktop) { |
| 520 navigation_manager()->AddPendingItem( | 545 navigation_manager()->AddPendingItem( |
| 521 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 546 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 522 web::NavigationInitiationType::USER_INITIATED); | 547 web::NavigationInitiationType::USER_INITIATED, |
| 548 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 523 [session_controller() commitPendingItem]; | 549 [session_controller() commitPendingItem]; |
| 524 NavigationItem* visible_item = navigation_manager()->GetVisibleItem(); | 550 NavigationItem* last_committed_item = |
| 525 EXPECT_EQ(visible_item->GetUserAgentType(), UserAgentType::DESKTOP); | 551 navigation_manager()->GetLastCommittedItem(); |
| 552 EXPECT_EQ(UserAgentType::MOBILE, last_committed_item->GetUserAgentType()); |
| 553 |
| 554 navigation_manager()->AddPendingItem( |
| 555 GURL("http://www.2.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 556 web::NavigationInitiationType::USER_INITIATED, |
| 557 web::NavigationManager::UserAgentOverrideOption::DESKTOP); |
| 558 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 559 EXPECT_EQ(UserAgentType::DESKTOP, |
| 560 navigation_manager()->GetPendingItem()->GetUserAgentType()); |
| 526 } | 561 } |
| 527 | 562 |
| 528 // Tests that the UserAgentType is propagated to subsequent NavigationItems. | 563 // Tests that mobile user agent can be enforced to use for next pending item |
| 529 TEST_F(NavigationManagerTest, UserAgentTypePropagation) { | 564 // when UserAgentOverrideOption is MOBILE. |
| 565 TEST_F(NavigationManagerTest, OverrideUserAgentWithMobile) { |
| 566 navigation_manager()->AddPendingItem( |
| 567 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 568 web::NavigationInitiationType::USER_INITIATED, |
| 569 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 570 [session_controller() commitPendingItem]; |
| 571 NavigationItem* last_committed_item = |
| 572 navigation_manager()->GetLastCommittedItem(); |
| 573 last_committed_item->SetUserAgentType(UserAgentType::DESKTOP); |
| 574 EXPECT_EQ(UserAgentType::DESKTOP, last_committed_item->GetUserAgentType()); |
| 575 |
| 576 navigation_manager()->AddPendingItem( |
| 577 GURL("http://www.2.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 578 web::NavigationInitiationType::USER_INITIATED, |
| 579 web::NavigationManager::UserAgentOverrideOption::MOBILE); |
| 580 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 581 EXPECT_EQ(UserAgentType::MOBILE, |
| 582 navigation_manager()->GetPendingItem()->GetUserAgentType()); |
| 583 } |
| 584 |
| 585 // Tests that the UserAgentType is propagated to subsequent NavigationItems when |
| 586 // UserAgentOverrideOption is INHERIT. |
| 587 TEST_F(NavigationManagerTest, OverrideUserAgentWithInherit) { |
| 530 // Add and commit two NavigationItems. | 588 // Add and commit two NavigationItems. |
| 531 navigation_manager()->AddPendingItem( | 589 navigation_manager()->AddPendingItem( |
| 532 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 590 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 533 web::NavigationInitiationType::USER_INITIATED); | 591 web::NavigationInitiationType::USER_INITIATED, |
| 592 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 534 [session_controller() commitPendingItem]; | 593 [session_controller() commitPendingItem]; |
| 535 web::NavigationItem* item1 = navigation_manager()->GetLastCommittedItem(); | 594 web::NavigationItem* item1 = navigation_manager()->GetLastCommittedItem(); |
| 536 ASSERT_EQ(web::UserAgentType::MOBILE, item1->GetUserAgentType()); | 595 ASSERT_EQ(web::UserAgentType::MOBILE, item1->GetUserAgentType()); |
| 537 navigation_manager()->AddPendingItem( | 596 navigation_manager()->AddPendingItem( |
| 538 GURL("http://www.2.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 597 GURL("http://www.2.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 539 web::NavigationInitiationType::USER_INITIATED); | 598 web::NavigationInitiationType::USER_INITIATED, |
| 599 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 540 [session_controller() commitPendingItem]; | 600 [session_controller() commitPendingItem]; |
| 541 web::NavigationItem* item2 = navigation_manager()->GetLastCommittedItem(); | 601 web::NavigationItem* item2 = navigation_manager()->GetLastCommittedItem(); |
| 542 | 602 |
| 543 // Verify that the second item's UserAgentType is equal to the first. | 603 // Verify that the second item's UserAgentType is equal to the first. |
| 544 EXPECT_EQ(item1->GetUserAgentType(), item2->GetUserAgentType()); | 604 EXPECT_EQ(item1->GetUserAgentType(), item2->GetUserAgentType()); |
| 545 | 605 |
| 546 // Update |item2|'s UA type to DESKTOP and commit a new item. | 606 // Update |item2|'s user agent type to DESKTOP and commit a new item. |
| 547 item2->SetUserAgentType(web::UserAgentType::DESKTOP); | 607 item2->SetUserAgentType(web::UserAgentType::DESKTOP); |
| 548 ASSERT_EQ(web::UserAgentType::DESKTOP, item2->GetUserAgentType()); | 608 ASSERT_EQ(web::UserAgentType::DESKTOP, item2->GetUserAgentType()); |
| 549 navigation_manager()->AddPendingItem( | 609 navigation_manager()->AddPendingItem( |
| 550 GURL("http://www.3.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 610 GURL("http://www.3.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 551 web::NavigationInitiationType::USER_INITIATED); | 611 web::NavigationInitiationType::USER_INITIATED, |
| 612 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 552 [session_controller() commitPendingItem]; | 613 [session_controller() commitPendingItem]; |
| 553 web::NavigationItem* item3 = navigation_manager()->GetLastCommittedItem(); | 614 web::NavigationItem* item3 = navigation_manager()->GetLastCommittedItem(); |
| 554 | 615 |
| 555 // Verify that the third item's UserAgentType is equal to the second. | 616 // Verify that the third item's UserAgentType is equal to the second. |
| 556 EXPECT_EQ(item2->GetUserAgentType(), item3->GetUserAgentType()); | 617 EXPECT_EQ(item2->GetUserAgentType(), item3->GetUserAgentType()); |
| 557 } | 618 } |
| 558 | 619 |
| 559 // Tests that the UserAgentType is propagated to subsequent NavigationItems if | 620 // Tests that the UserAgentType is propagated to subsequent NavigationItems if |
| 560 // a native URL exists in between naviations. | 621 // a native URL exists in between naviations. |
| 561 TEST_F(NavigationManagerTest, UserAgentTypePropagationPastNativeItems) { | 622 TEST_F(NavigationManagerTest, UserAgentTypePropagationPastNativeItems) { |
| 562 // GURL::Replacements that will replace a GURL's scheme with the test native | 623 // GURL::Replacements that will replace a GURL's scheme with the test native |
| 563 // scheme. | 624 // scheme. |
| 564 GURL::Replacements native_scheme_replacement; | 625 GURL::Replacements native_scheme_replacement; |
| 565 native_scheme_replacement.SetSchemeStr(kTestNativeContentScheme); | 626 native_scheme_replacement.SetSchemeStr(kTestNativeContentScheme); |
| 566 | 627 |
| 567 // Create two non-native navigations that are separated by a native one. | 628 // Create two non-native navigations that are separated by a native one. |
| 568 navigation_manager()->AddPendingItem( | 629 navigation_manager()->AddPendingItem( |
| 569 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 630 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 570 web::NavigationInitiationType::USER_INITIATED); | 631 web::NavigationInitiationType::USER_INITIATED, |
| 632 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 571 [session_controller() commitPendingItem]; | 633 [session_controller() commitPendingItem]; |
| 572 web::NavigationItem* item1 = navigation_manager()->GetLastCommittedItem(); | 634 web::NavigationItem* item1 = navigation_manager()->GetLastCommittedItem(); |
| 573 ASSERT_EQ(web::UserAgentType::MOBILE, item1->GetUserAgentType()); | 635 ASSERT_EQ(web::UserAgentType::MOBILE, item1->GetUserAgentType()); |
| 574 navigation_manager()->AddPendingItem( | 636 navigation_manager()->AddPendingItem( |
| 575 item1->GetURL().ReplaceComponents(native_scheme_replacement), Referrer(), | 637 item1->GetURL().ReplaceComponents(native_scheme_replacement), Referrer(), |
| 576 ui::PAGE_TRANSITION_TYPED, web::NavigationInitiationType::USER_INITIATED); | 638 ui::PAGE_TRANSITION_TYPED, web::NavigationInitiationType::USER_INITIATED, |
| 639 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 577 [session_controller() commitPendingItem]; | 640 [session_controller() commitPendingItem]; |
| 578 web::NavigationItem* native_item1 = | 641 web::NavigationItem* native_item1 = |
| 579 navigation_manager()->GetLastCommittedItem(); | 642 navigation_manager()->GetLastCommittedItem(); |
| 580 ASSERT_EQ(web::UserAgentType::NONE, native_item1->GetUserAgentType()); | 643 ASSERT_EQ(web::UserAgentType::NONE, native_item1->GetUserAgentType()); |
| 581 navigation_manager()->AddPendingItem( | 644 navigation_manager()->AddPendingItem( |
| 582 GURL("http://www.2.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 645 GURL("http://www.2.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 583 web::NavigationInitiationType::USER_INITIATED); | 646 web::NavigationInitiationType::USER_INITIATED, |
| 647 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 584 [session_controller() commitPendingItem]; | 648 [session_controller() commitPendingItem]; |
| 585 web::NavigationItem* item2 = navigation_manager()->GetLastCommittedItem(); | 649 web::NavigationItem* item2 = navigation_manager()->GetLastCommittedItem(); |
| 586 | 650 |
| 587 // Verify that |item1|'s UserAgentType is propagated to |item2|. | 651 // Verify that |item1|'s UserAgentType is propagated to |item2|. |
| 588 EXPECT_EQ(item1->GetUserAgentType(), item2->GetUserAgentType()); | 652 EXPECT_EQ(item1->GetUserAgentType(), item2->GetUserAgentType()); |
| 589 | 653 |
| 590 // Update |item2|'s UA type to DESKTOP and add a third non-native navigation, | 654 // Update |item2|'s UA type to DESKTOP and add a third non-native navigation, |
| 591 // once again separated by a native one. | 655 // once again separated by a native one. |
| 592 item2->SetUserAgentType(web::UserAgentType::DESKTOP); | 656 item2->SetUserAgentType(web::UserAgentType::DESKTOP); |
| 593 ASSERT_EQ(web::UserAgentType::DESKTOP, item2->GetUserAgentType()); | 657 ASSERT_EQ(web::UserAgentType::DESKTOP, item2->GetUserAgentType()); |
| 594 navigation_manager()->AddPendingItem( | 658 navigation_manager()->AddPendingItem( |
| 595 item2->GetURL().ReplaceComponents(native_scheme_replacement), Referrer(), | 659 item2->GetURL().ReplaceComponents(native_scheme_replacement), Referrer(), |
| 596 ui::PAGE_TRANSITION_TYPED, web::NavigationInitiationType::USER_INITIATED); | 660 ui::PAGE_TRANSITION_TYPED, web::NavigationInitiationType::USER_INITIATED, |
| 661 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 597 [session_controller() commitPendingItem]; | 662 [session_controller() commitPendingItem]; |
| 598 web::NavigationItem* native_item2 = | 663 web::NavigationItem* native_item2 = |
| 599 navigation_manager()->GetLastCommittedItem(); | 664 navigation_manager()->GetLastCommittedItem(); |
| 600 ASSERT_EQ(web::UserAgentType::NONE, native_item2->GetUserAgentType()); | 665 ASSERT_EQ(web::UserAgentType::NONE, native_item2->GetUserAgentType()); |
| 601 navigation_manager()->AddPendingItem( | 666 navigation_manager()->AddPendingItem( |
| 602 GURL("http://www.3.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 667 GURL("http://www.3.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 603 web::NavigationInitiationType::USER_INITIATED); | 668 web::NavigationInitiationType::USER_INITIATED, |
| 669 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 604 [session_controller() commitPendingItem]; | 670 [session_controller() commitPendingItem]; |
| 605 web::NavigationItem* item3 = navigation_manager()->GetLastCommittedItem(); | 671 web::NavigationItem* item3 = navigation_manager()->GetLastCommittedItem(); |
| 606 | 672 |
| 607 // Verify that |item2|'s UserAgentType is propagated to |item3|. | 673 // Verify that |item2|'s UserAgentType is propagated to |item3|. |
| 608 EXPECT_EQ(item2->GetUserAgentType(), item3->GetUserAgentType()); | 674 EXPECT_EQ(item2->GetUserAgentType(), item3->GetUserAgentType()); |
| 609 } | 675 } |
| 610 | 676 |
| 611 // Tests that calling |Reload| with web::ReloadType::NORMAL is no-op when there | 677 // Tests that calling |Reload| with web::ReloadType::NORMAL is no-op when there |
| 612 // are no transient, pending and committed items. | 678 // are no transient, pending and committed items. |
| 613 TEST_F(NavigationManagerTest, ReloadEmptyWithNormalType) { | 679 TEST_F(NavigationManagerTest, ReloadEmptyWithNormalType) { |
| 614 ASSERT_FALSE(navigation_manager()->GetTransientItem()); | 680 ASSERT_FALSE(navigation_manager()->GetTransientItem()); |
| 615 ASSERT_FALSE(navigation_manager()->GetPendingItem()); | 681 ASSERT_FALSE(navigation_manager()->GetPendingItem()); |
| 616 ASSERT_FALSE(navigation_manager()->GetLastCommittedItem()); | 682 ASSERT_FALSE(navigation_manager()->GetLastCommittedItem()); |
| 617 | 683 |
| 618 navigation_manager()->Reload(web::ReloadType::NORMAL, | 684 navigation_manager()->Reload(web::ReloadType::NORMAL, |
| 619 false /* check_for_repost */); | 685 false /* check_for_repost */); |
| 620 EXPECT_FALSE(navigation_manager_delegate().reload_called()); | 686 EXPECT_FALSE(navigation_manager_delegate().reload_called()); |
| 621 | 687 |
| 622 ASSERT_FALSE(navigation_manager()->GetTransientItem()); | 688 ASSERT_FALSE(navigation_manager()->GetTransientItem()); |
| 623 ASSERT_FALSE(navigation_manager()->GetPendingItem()); | 689 ASSERT_FALSE(navigation_manager()->GetPendingItem()); |
| 624 ASSERT_FALSE(navigation_manager()->GetLastCommittedItem()); | 690 ASSERT_FALSE(navigation_manager()->GetLastCommittedItem()); |
| 625 } | 691 } |
| 626 | 692 |
| 627 // Tests that calling |Reload| with web::ReloadType::NORMAL leaves the url of | 693 // Tests that calling |Reload| with web::ReloadType::NORMAL leaves the url of |
| 628 // the renderer initiated pending item unchanged when there is one. | 694 // the renderer initiated pending item unchanged when there is one. |
| 629 TEST_F(NavigationManagerTest, ReloadRendererPendingItemWithNormalType) { | 695 TEST_F(NavigationManagerTest, ReloadRendererPendingItemWithNormalType) { |
| 630 GURL url_before_reload = GURL("http://www.url.com"); | 696 GURL url_before_reload = GURL("http://www.url.com"); |
| 631 navigation_manager()->AddPendingItem( | 697 navigation_manager()->AddPendingItem( |
| 632 url_before_reload, Referrer(), ui::PAGE_TRANSITION_TYPED, | 698 url_before_reload, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 633 web::NavigationInitiationType::RENDERER_INITIATED); | 699 web::NavigationInitiationType::USER_INITIATED, |
| 700 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 634 | 701 |
| 635 navigation_manager()->Reload(web::ReloadType::NORMAL, | 702 navigation_manager()->Reload(web::ReloadType::NORMAL, |
| 636 false /* check_for_repost */); | 703 false /* check_for_repost */); |
| 637 EXPECT_TRUE(navigation_manager_delegate().reload_called()); | 704 EXPECT_TRUE(navigation_manager_delegate().reload_called()); |
| 638 | 705 |
| 639 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 706 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 640 EXPECT_EQ(url_before_reload, | 707 EXPECT_EQ(url_before_reload, |
| 641 navigation_manager()->GetPendingItem()->GetURL()); | 708 navigation_manager()->GetPendingItem()->GetURL()); |
| 642 } | 709 } |
| 643 | 710 |
| 644 // Tests that calling |Reload| with web::ReloadType::NORMAL leaves the url of | 711 // Tests that calling |Reload| with web::ReloadType::NORMAL leaves the url of |
| 645 // the user initiated pending item unchanged when there is one. | 712 // the user initiated pending item unchanged when there is one. |
| 646 TEST_F(NavigationManagerTest, ReloadUserPendingItemWithNormalType) { | 713 TEST_F(NavigationManagerTest, ReloadUserPendingItemWithNormalType) { |
| 647 GURL url_before_reload = GURL("http://www.url.com"); | 714 GURL url_before_reload = GURL("http://www.url.com"); |
| 648 navigation_manager()->AddPendingItem( | 715 navigation_manager()->AddPendingItem( |
| 649 url_before_reload, Referrer(), ui::PAGE_TRANSITION_TYPED, | 716 url_before_reload, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 650 web::NavigationInitiationType::USER_INITIATED); | 717 web::NavigationInitiationType::USER_INITIATED, |
| 718 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 651 | 719 |
| 652 navigation_manager()->Reload(web::ReloadType::NORMAL, | 720 navigation_manager()->Reload(web::ReloadType::NORMAL, |
| 653 false /* check_for_repost */); | 721 false /* check_for_repost */); |
| 654 EXPECT_TRUE(navigation_manager_delegate().reload_called()); | 722 EXPECT_TRUE(navigation_manager_delegate().reload_called()); |
| 655 | 723 |
| 656 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 724 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 657 EXPECT_EQ(url_before_reload, | 725 EXPECT_EQ(url_before_reload, |
| 658 navigation_manager()->GetPendingItem()->GetURL()); | 726 navigation_manager()->GetPendingItem()->GetURL()); |
| 659 } | 727 } |
| 660 | 728 |
| 661 // Tests that calling |Reload| with web::ReloadType::NORMAL leaves the url of | 729 // Tests that calling |Reload| with web::ReloadType::NORMAL leaves the url of |
| 662 // the last committed item unchanged when there is no pending item. | 730 // the last committed item unchanged when there is no pending item. |
| 663 TEST_F(NavigationManagerTest, ReloadLastCommittedItemWithNormalType) { | 731 TEST_F(NavigationManagerTest, ReloadLastCommittedItemWithNormalType) { |
| 664 navigation_manager()->AddPendingItem( | 732 navigation_manager()->AddPendingItem( |
| 665 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 733 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 666 web::NavigationInitiationType::USER_INITIATED); | 734 web::NavigationInitiationType::USER_INITIATED, |
| 735 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 667 [session_controller() commitPendingItem]; | 736 [session_controller() commitPendingItem]; |
| 668 | 737 |
| 669 GURL url_before_reload = GURL("http://www.url.com/1"); | 738 GURL url_before_reload = GURL("http://www.url.com/1"); |
| 670 navigation_manager()->AddPendingItem( | 739 navigation_manager()->AddPendingItem( |
| 671 url_before_reload, Referrer(), ui::PAGE_TRANSITION_TYPED, | 740 url_before_reload, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 672 web::NavigationInitiationType::USER_INITIATED); | 741 web::NavigationInitiationType::USER_INITIATED, |
| 742 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 673 [session_controller() commitPendingItem]; | 743 [session_controller() commitPendingItem]; |
| 674 | 744 |
| 675 navigation_manager()->Reload(web::ReloadType::NORMAL, | 745 navigation_manager()->Reload(web::ReloadType::NORMAL, |
| 676 false /* check_for_repost */); | 746 false /* check_for_repost */); |
| 677 EXPECT_TRUE(navigation_manager_delegate().reload_called()); | 747 EXPECT_TRUE(navigation_manager_delegate().reload_called()); |
| 678 | 748 |
| 679 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); | 749 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 680 EXPECT_EQ(url_before_reload, | 750 EXPECT_EQ(url_before_reload, |
| 681 navigation_manager()->GetLastCommittedItem()->GetURL()); | 751 navigation_manager()->GetLastCommittedItem()->GetURL()); |
| 682 } | 752 } |
| 683 | 753 |
| 684 // Tests that calling |Reload| with web::ReloadType::NORMAL leaves the url of | 754 // Tests that calling |Reload| with web::ReloadType::NORMAL leaves the url of |
| 685 // the last committed item unchanged when there is no pending item, but there | 755 // the last committed item unchanged when there is no pending item, but there |
| 686 // forward items after last committed item. | 756 // forward items after last committed item. |
| 687 TEST_F(NavigationManagerTest, | 757 TEST_F(NavigationManagerTest, |
| 688 ReloadLastCommittedItemWithNormalTypeWithForwardItems) { | 758 ReloadLastCommittedItemWithNormalTypeWithForwardItems) { |
| 689 navigation_manager()->AddPendingItem( | 759 navigation_manager()->AddPendingItem( |
| 690 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 760 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 691 web::NavigationInitiationType::USER_INITIATED); | 761 web::NavigationInitiationType::USER_INITIATED, |
| 762 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 692 [session_controller() commitPendingItem]; | 763 [session_controller() commitPendingItem]; |
| 693 | 764 |
| 694 GURL url_before_reload = GURL("http://www.url.com/1"); | 765 GURL url_before_reload = GURL("http://www.url.com/1"); |
| 695 navigation_manager()->AddPendingItem( | 766 navigation_manager()->AddPendingItem( |
| 696 url_before_reload, Referrer(), ui::PAGE_TRANSITION_TYPED, | 767 url_before_reload, Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 697 web::NavigationInitiationType::USER_INITIATED); | 768 web::NavigationInitiationType::USER_INITIATED, |
| 769 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 698 [session_controller() commitPendingItem]; | 770 [session_controller() commitPendingItem]; |
| 699 | 771 |
| 700 navigation_manager()->AddPendingItem( | 772 navigation_manager()->AddPendingItem( |
| 701 GURL("http://www.url.com/2"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 773 GURL("http://www.url.com/2"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 702 web::NavigationInitiationType::USER_INITIATED); | 774 web::NavigationInitiationType::USER_INITIATED, |
| 775 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 703 [session_controller() commitPendingItem]; | 776 [session_controller() commitPendingItem]; |
| 704 | 777 |
| 705 [session_controller() goToItemAtIndex:1]; | 778 [session_controller() goToItemAtIndex:1]; |
| 706 EXPECT_EQ(1, navigation_manager()->GetLastCommittedItemIndex()); | 779 EXPECT_EQ(1, navigation_manager()->GetLastCommittedItemIndex()); |
| 707 | 780 |
| 708 navigation_manager()->Reload(web::ReloadType::NORMAL, | 781 navigation_manager()->Reload(web::ReloadType::NORMAL, |
| 709 false /* check_for_repost */); | 782 false /* check_for_repost */); |
| 710 EXPECT_TRUE(navigation_manager_delegate().reload_called()); | 783 EXPECT_TRUE(navigation_manager_delegate().reload_called()); |
| 711 | 784 |
| 712 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); | 785 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 729 ASSERT_FALSE(navigation_manager()->GetPendingItem()); | 802 ASSERT_FALSE(navigation_manager()->GetPendingItem()); |
| 730 ASSERT_FALSE(navigation_manager()->GetLastCommittedItem()); | 803 ASSERT_FALSE(navigation_manager()->GetLastCommittedItem()); |
| 731 } | 804 } |
| 732 | 805 |
| 733 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL | 806 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL |
| 734 // changes the renderer initiated pending item's url to its original request url | 807 // changes the renderer initiated pending item's url to its original request url |
| 735 // when there is one. | 808 // when there is one. |
| 736 TEST_F(NavigationManagerTest, ReloadRendererPendingItemWithOriginalType) { | 809 TEST_F(NavigationManagerTest, ReloadRendererPendingItemWithOriginalType) { |
| 737 navigation_manager()->AddPendingItem( | 810 navigation_manager()->AddPendingItem( |
| 738 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 811 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 739 web::NavigationInitiationType::RENDERER_INITIATED); | 812 web::NavigationInitiationType::USER_INITIATED, |
| 813 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 740 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 814 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 741 GURL expected_original_url = GURL("http://www.url.com/original"); | 815 GURL expected_original_url = GURL("http://www.url.com/original"); |
| 742 navigation_manager()->GetPendingItem()->SetOriginalRequestURL( | 816 navigation_manager()->GetPendingItem()->SetOriginalRequestURL( |
| 743 expected_original_url); | 817 expected_original_url); |
| 744 | 818 |
| 745 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL, | 819 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL, |
| 746 false /* check_for_repost */); | 820 false /* check_for_repost */); |
| 747 EXPECT_TRUE(navigation_manager_delegate().reload_called()); | 821 EXPECT_TRUE(navigation_manager_delegate().reload_called()); |
| 748 | 822 |
| 749 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 823 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 750 EXPECT_EQ(expected_original_url, | 824 EXPECT_EQ(expected_original_url, |
| 751 navigation_manager()->GetPendingItem()->GetURL()); | 825 navigation_manager()->GetPendingItem()->GetURL()); |
| 752 } | 826 } |
| 753 | 827 |
| 754 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL | 828 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL |
| 755 // changes the user initiated pending item's url to its original request url | 829 // changes the user initiated pending item's url to its original request url |
| 756 // when there is one. | 830 // when there is one. |
| 757 TEST_F(NavigationManagerTest, ReloadUserPendingItemWithOriginalType) { | 831 TEST_F(NavigationManagerTest, ReloadUserPendingItemWithOriginalType) { |
| 758 navigation_manager()->AddPendingItem( | 832 navigation_manager()->AddPendingItem( |
| 759 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 833 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 760 web::NavigationInitiationType::USER_INITIATED); | 834 web::NavigationInitiationType::USER_INITIATED, |
| 835 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 761 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 836 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 762 GURL expected_original_url = GURL("http://www.url.com/original"); | 837 GURL expected_original_url = GURL("http://www.url.com/original"); |
| 763 navigation_manager()->GetPendingItem()->SetOriginalRequestURL( | 838 navigation_manager()->GetPendingItem()->SetOriginalRequestURL( |
| 764 expected_original_url); | 839 expected_original_url); |
| 765 | 840 |
| 766 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL, | 841 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL, |
| 767 false /* check_for_repost */); | 842 false /* check_for_repost */); |
| 768 EXPECT_TRUE(navigation_manager_delegate().reload_called()); | 843 EXPECT_TRUE(navigation_manager_delegate().reload_called()); |
| 769 | 844 |
| 770 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 845 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 771 EXPECT_EQ(expected_original_url, | 846 EXPECT_EQ(expected_original_url, |
| 772 navigation_manager()->GetPendingItem()->GetURL()); | 847 navigation_manager()->GetPendingItem()->GetURL()); |
| 773 } | 848 } |
| 774 | 849 |
| 775 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL | 850 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL |
| 776 // changes the last committed item's url to its original request url when there | 851 // changes the last committed item's url to its original request url when there |
| 777 // is no pending item. | 852 // is no pending item. |
| 778 TEST_F(NavigationManagerTest, ReloadLastCommittedItemWithOriginalType) { | 853 TEST_F(NavigationManagerTest, ReloadLastCommittedItemWithOriginalType) { |
| 779 navigation_manager()->AddPendingItem( | 854 navigation_manager()->AddPendingItem( |
| 780 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 855 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 781 web::NavigationInitiationType::USER_INITIATED); | 856 web::NavigationInitiationType::USER_INITIATED, |
| 857 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 782 [session_controller() commitPendingItem]; | 858 [session_controller() commitPendingItem]; |
| 783 | 859 |
| 784 navigation_manager()->AddPendingItem( | 860 navigation_manager()->AddPendingItem( |
| 785 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 861 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 786 web::NavigationInitiationType::USER_INITIATED); | 862 web::NavigationInitiationType::USER_INITIATED, |
| 863 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 787 GURL expected_original_url = GURL("http://www.url.com/1/original"); | 864 GURL expected_original_url = GURL("http://www.url.com/1/original"); |
| 788 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 865 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 789 navigation_manager()->GetPendingItem()->SetOriginalRequestURL( | 866 navigation_manager()->GetPendingItem()->SetOriginalRequestURL( |
| 790 expected_original_url); | 867 expected_original_url); |
| 791 [session_controller() commitPendingItem]; | 868 [session_controller() commitPendingItem]; |
| 792 | 869 |
| 793 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL, | 870 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL, |
| 794 false /* check_for_repost */); | 871 false /* check_for_repost */); |
| 795 EXPECT_TRUE(navigation_manager_delegate().reload_called()); | 872 EXPECT_TRUE(navigation_manager_delegate().reload_called()); |
| 796 | 873 |
| 797 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); | 874 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 798 EXPECT_EQ(expected_original_url, | 875 EXPECT_EQ(expected_original_url, |
| 799 navigation_manager()->GetLastCommittedItem()->GetURL()); | 876 navigation_manager()->GetLastCommittedItem()->GetURL()); |
| 800 } | 877 } |
| 801 | 878 |
| 802 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL | 879 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL |
| 803 // changes the last committed item's url to its original request url when there | 880 // changes the last committed item's url to its original request url when there |
| 804 // is no pending item, but there are forward items after last committed item. | 881 // is no pending item, but there are forward items after last committed item. |
| 805 TEST_F(NavigationManagerTest, | 882 TEST_F(NavigationManagerTest, |
| 806 ReloadLastCommittedItemWithOriginalTypeWithForwardItems) { | 883 ReloadLastCommittedItemWithOriginalTypeWithForwardItems) { |
| 807 navigation_manager()->AddPendingItem( | 884 navigation_manager()->AddPendingItem( |
| 808 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 885 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 809 web::NavigationInitiationType::USER_INITIATED); | 886 web::NavigationInitiationType::USER_INITIATED, |
| 887 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 810 [session_controller() commitPendingItem]; | 888 [session_controller() commitPendingItem]; |
| 811 | 889 |
| 812 navigation_manager()->AddPendingItem( | 890 navigation_manager()->AddPendingItem( |
| 813 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 891 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 814 web::NavigationInitiationType::USER_INITIATED); | 892 web::NavigationInitiationType::USER_INITIATED, |
| 893 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 815 GURL expected_original_url = GURL("http://www.url.com/1/original"); | 894 GURL expected_original_url = GURL("http://www.url.com/1/original"); |
| 816 ASSERT_TRUE(navigation_manager()->GetPendingItem()); | 895 ASSERT_TRUE(navigation_manager()->GetPendingItem()); |
| 817 navigation_manager()->GetPendingItem()->SetOriginalRequestURL( | 896 navigation_manager()->GetPendingItem()->SetOriginalRequestURL( |
| 818 expected_original_url); | 897 expected_original_url); |
| 819 [session_controller() commitPendingItem]; | 898 [session_controller() commitPendingItem]; |
| 820 | 899 |
| 821 navigation_manager()->AddPendingItem( | 900 navigation_manager()->AddPendingItem( |
| 822 GURL("http://www.url.com/2"), Referrer(), ui::PAGE_TRANSITION_TYPED, | 901 GURL("http://www.url.com/2"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
| 823 web::NavigationInitiationType::USER_INITIATED); | 902 web::NavigationInitiationType::USER_INITIATED, |
| 903 web::NavigationManager::UserAgentOverrideOption::INHERIT); |
| 824 [session_controller() commitPendingItem]; | 904 [session_controller() commitPendingItem]; |
| 825 | 905 |
| 826 [session_controller() goToItemAtIndex:1]; | 906 [session_controller() goToItemAtIndex:1]; |
| 827 EXPECT_EQ(1, navigation_manager()->GetLastCommittedItemIndex()); | 907 EXPECT_EQ(1, navigation_manager()->GetLastCommittedItemIndex()); |
| 828 | 908 |
| 829 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL, | 909 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL, |
| 830 false /* check_for_repost */); | 910 false /* check_for_repost */); |
| 831 EXPECT_TRUE(navigation_manager_delegate().reload_called()); | 911 EXPECT_TRUE(navigation_manager_delegate().reload_called()); |
| 832 | 912 |
| 833 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); | 913 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); |
| 834 EXPECT_EQ(expected_original_url, | 914 EXPECT_EQ(expected_original_url, |
| 835 navigation_manager()->GetLastCommittedItem()->GetURL()); | 915 navigation_manager()->GetLastCommittedItem()->GetURL()); |
| 836 } | 916 } |
| 837 | 917 |
| 838 } // namespace web | 918 } // namespace web |
| OLD | NEW |