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 */)); | |
Eugene But (OOO till 7-30)
2017/06/20 22:49:03
Is it possible to pass NavigationManagerImpl insta
danyao
2017/06/20 23:00:45
It has to be a copyable type. We could use raw poi
Eugene But (OOO till 7-30)
2017/06/21 00:15:37
Thanks! I thought it is possible to pass std::uniq
| |
1409 | |
1393 } // namespace web | 1410 } // namespace web |
OLD | NEW |