| 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 |