| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/memory/scoped_ptr.h" | 6 #include "base/memory/scoped_ptr.h" |
| 7 #include "base/time/time.h" | 7 #include "base/time/time.h" |
| 8 #include "content/browser/devtools/devtools_manager.h" | 8 #include "content/browser/devtools/devtools_manager.h" |
| 9 #include "content/browser/devtools/shared_worker_devtools_manager.h" | 9 #include "content/browser/devtools/shared_worker_devtools_manager.h" |
| 10 #include "content/browser/shared_worker/shared_worker_instance.h" | 10 #include "content/browser/shared_worker/shared_worker_instance.h" |
| (...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 244 EXPECT_TRUE(delegate.renderer_unresponsive_received()); | 244 EXPECT_TRUE(delegate.renderer_unresponsive_received()); |
| 245 | 245 |
| 246 contents()->SetDelegate(NULL); | 246 contents()->SetDelegate(NULL); |
| 247 } | 247 } |
| 248 | 248 |
| 249 TEST_F(DevToolsManagerTest, ReattachOnCancelPendingNavigation) { | 249 TEST_F(DevToolsManagerTest, ReattachOnCancelPendingNavigation) { |
| 250 // Navigate to URL. First URL should use first RenderViewHost. | 250 // Navigate to URL. First URL should use first RenderViewHost. |
| 251 const GURL url("http://www.google.com"); | 251 const GURL url("http://www.google.com"); |
| 252 controller().LoadURL( | 252 controller().LoadURL( |
| 253 url, Referrer(), ui::PAGE_TRANSITION_TYPED, std::string()); | 253 url, Referrer(), ui::PAGE_TRANSITION_TYPED, std::string()); |
| 254 int pending_id = controller().GetPendingEntry()->GetUniqueID(); | |
| 255 contents()->GetMainFrame()->PrepareForCommit(); | 254 contents()->GetMainFrame()->PrepareForCommit(); |
| 256 contents()->TestDidNavigate(contents()->GetMainFrame(), 1, pending_id, true, | 255 contents()->TestDidNavigate( |
| 257 url, ui::PAGE_TRANSITION_TYPED); | 256 contents()->GetMainFrame(), 1, url, ui::PAGE_TRANSITION_TYPED); |
| 258 EXPECT_FALSE(contents()->CrossProcessNavigationPending()); | 257 EXPECT_FALSE(contents()->CrossProcessNavigationPending()); |
| 259 | 258 |
| 260 TestDevToolsClientHost client_host; | 259 TestDevToolsClientHost client_host; |
| 261 client_host.InspectAgentHost( | 260 client_host.InspectAgentHost( |
| 262 DevToolsAgentHost::GetOrCreateFor(web_contents()).get()); | 261 DevToolsAgentHost::GetOrCreateFor(web_contents()).get()); |
| 263 | 262 |
| 264 // Navigate to new site which should get a new RenderViewHost. | 263 // Navigate to new site which should get a new RenderViewHost. |
| 265 const GURL url2("http://www.yahoo.com"); | 264 const GURL url2("http://www.yahoo.com"); |
| 266 controller().LoadURL( | 265 controller().LoadURL( |
| 267 url2, Referrer(), ui::PAGE_TRANSITION_TYPED, std::string()); | 266 url2, Referrer(), ui::PAGE_TRANSITION_TYPED, std::string()); |
| 268 contents()->GetMainFrame()->PrepareForCommit(); | 267 contents()->GetMainFrame()->PrepareForCommit(); |
| 269 EXPECT_TRUE(contents()->CrossProcessNavigationPending()); | 268 EXPECT_TRUE(contents()->CrossProcessNavigationPending()); |
| 270 EXPECT_EQ(client_host.agent_host(), | 269 EXPECT_EQ(client_host.agent_host(), |
| 271 DevToolsAgentHost::GetOrCreateFor(web_contents()).get()); | 270 DevToolsAgentHost::GetOrCreateFor(web_contents()).get()); |
| 272 | 271 |
| 273 // Interrupt pending navigation and navigate back to the original site. | 272 // Interrupt pending navigation and navigate back to the original site. |
| 274 controller().LoadURL( | 273 controller().LoadURL( |
| 275 url, Referrer(), ui::PAGE_TRANSITION_TYPED, std::string()); | 274 url, Referrer(), ui::PAGE_TRANSITION_TYPED, std::string()); |
| 276 pending_id = controller().GetPendingEntry()->GetUniqueID(); | |
| 277 contents()->GetMainFrame()->PrepareForCommit(); | 275 contents()->GetMainFrame()->PrepareForCommit(); |
| 278 contents()->TestDidNavigate(contents()->GetMainFrame(), 1, pending_id, false, | 276 contents()->TestDidNavigate( |
| 279 url, ui::PAGE_TRANSITION_TYPED); | 277 contents()->GetMainFrame(), 1, url, ui::PAGE_TRANSITION_TYPED); |
| 280 EXPECT_FALSE(contents()->CrossProcessNavigationPending()); | 278 EXPECT_FALSE(contents()->CrossProcessNavigationPending()); |
| 281 EXPECT_EQ(client_host.agent_host(), | 279 EXPECT_EQ(client_host.agent_host(), |
| 282 DevToolsAgentHost::GetOrCreateFor(web_contents()).get()); | 280 DevToolsAgentHost::GetOrCreateFor(web_contents()).get()); |
| 283 client_host.Close(); | 281 client_host.Close(); |
| 284 } | 282 } |
| 285 | 283 |
| 286 class TestExternalAgentDelegate: public DevToolsExternalAgentProxyDelegate { | 284 class TestExternalAgentDelegate: public DevToolsExternalAgentProxyDelegate { |
| 287 std::map<std::string,int> event_counter_; | 285 std::map<std::string,int> event_counter_; |
| 288 | 286 |
| 289 void recordEvent(const std::string& name) { | 287 void recordEvent(const std::string& name) { |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 326 TestDevToolsClientHost client_host; | 324 TestDevToolsClientHost client_host; |
| 327 client_host.InspectAgentHost(agent_host.get()); | 325 client_host.InspectAgentHost(agent_host.get()); |
| 328 agent_host->DispatchProtocolMessage("message1"); | 326 agent_host->DispatchProtocolMessage("message1"); |
| 329 agent_host->DispatchProtocolMessage("message2"); | 327 agent_host->DispatchProtocolMessage("message2"); |
| 330 agent_host->DispatchProtocolMessage("message2"); | 328 agent_host->DispatchProtocolMessage("message2"); |
| 331 | 329 |
| 332 client_host.Close(); | 330 client_host.Close(); |
| 333 } | 331 } |
| 334 | 332 |
| 335 } // namespace content | 333 } // namespace content |
| OLD | NEW |