OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #include "base/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/time.h" | 6 #include "base/time.h" |
7 #include "content/browser/debugger/devtools_manager_impl.h" | 7 #include "content/browser/debugger/devtools_manager_impl.h" |
8 #include "content/browser/debugger/render_view_devtools_agent_host.h" | 8 #include "content/browser/debugger/render_view_devtools_agent_host.h" |
9 #include "content/browser/mock_content_browser_client.h" | 9 #include "content/browser/mock_content_browser_client.h" |
10 #include "content/browser/renderer_host/test_render_view_host.h" | 10 #include "content/browser/renderer_host/test_render_view_host.h" |
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
211 | 211 |
212 contents()->set_delegate(NULL); | 212 contents()->set_delegate(NULL); |
213 } | 213 } |
214 | 214 |
215 TEST_F(DevToolsManagerTest, ReattachOnCancelPendingNavigation) { | 215 TEST_F(DevToolsManagerTest, ReattachOnCancelPendingNavigation) { |
216 contents()->transition_cross_site = true; | 216 contents()->transition_cross_site = true; |
217 // Navigate to URL. First URL should use first RenderViewHost. | 217 // Navigate to URL. First URL should use first RenderViewHost. |
218 const GURL url("http://www.google.com"); | 218 const GURL url("http://www.google.com"); |
219 controller().LoadURL( | 219 controller().LoadURL( |
220 url, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string()); | 220 url, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string()); |
221 contents()->TestDidNavigate(rvh(), 1, url, content::PAGE_TRANSITION_TYPED); | 221 ViewHostMsg_FrameNavigate_Params params1; |
| 222 InitNavigateParams(¶ms1, 1, url, content::PAGE_TRANSITION_TYPED); |
| 223 TestRenderViewHost* orig_rvh = rvh(); |
| 224 contents()->TestDidNavigate(orig_rvh, params1); |
222 EXPECT_FALSE(contents()->cross_navigation_pending()); | 225 EXPECT_FALSE(contents()->cross_navigation_pending()); |
223 | 226 |
224 TestDevToolsClientHost client_host; | 227 TestDevToolsClientHost client_host; |
225 DevToolsManager* devtools_manager = DevToolsManager::GetInstance(); | 228 DevToolsManager* devtools_manager = DevToolsManager::GetInstance(); |
226 devtools_manager->RegisterDevToolsClientHostFor( | 229 devtools_manager->RegisterDevToolsClientHostFor( |
227 DevToolsAgentHostRegistry::GetDevToolsAgentHost(rvh()), | 230 DevToolsAgentHostRegistry::GetDevToolsAgentHost(rvh()), |
228 &client_host); | 231 &client_host); |
229 | 232 |
230 // Navigate to new site which should get a new RenderViewHost. | 233 // Navigate to new site which should get a new RenderViewHost. |
231 const GURL url2("http://www.yahoo.com"); | 234 const GURL url2("http://www.yahoo.com"); |
232 controller().LoadURL( | 235 controller().LoadURL( |
233 url2, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string()); | 236 url2, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string()); |
234 EXPECT_TRUE(contents()->cross_navigation_pending()); | 237 EXPECT_TRUE(contents()->cross_navigation_pending()); |
235 EXPECT_EQ(&client_host, devtools_manager->GetDevToolsClientHostFor( | 238 EXPECT_EQ(&client_host, devtools_manager->GetDevToolsClientHostFor( |
236 DevToolsAgentHostRegistry::GetDevToolsAgentHost(pending_rvh()))); | 239 DevToolsAgentHostRegistry::GetDevToolsAgentHost(pending_rvh()))); |
237 | 240 |
238 // Interrupt pending navigation and navigate back to the original site. | 241 // Interrupt pending navigation and navigate back to the original site. |
239 controller().LoadURL( | 242 controller().LoadURL( |
240 url, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string()); | 243 url, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string()); |
241 contents()->TestDidNavigate(rvh(), 1, url, content::PAGE_TRANSITION_TYPED); | 244 contents()->TestDidNavigate(orig_rvh, params1); |
242 EXPECT_FALSE(contents()->cross_navigation_pending()); | 245 EXPECT_FALSE(contents()->cross_navigation_pending()); |
243 EXPECT_EQ(&client_host, devtools_manager->GetDevToolsClientHostFor( | 246 EXPECT_EQ(&client_host, devtools_manager->GetDevToolsClientHostFor( |
244 DevToolsAgentHostRegistry::GetDevToolsAgentHost(rvh()))); | 247 DevToolsAgentHostRegistry::GetDevToolsAgentHost(rvh()))); |
245 client_host.Close(DevToolsManager::GetInstance()); | 248 client_host.Close(DevToolsManager::GetInstance()); |
246 } | 249 } |
OLD | NEW |