| 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 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 269 EXPECT_TRUE(delegate.renderer_unresponsive_received()); | 269 EXPECT_TRUE(delegate.renderer_unresponsive_received()); |
| 270 | 270 |
| 271 contents()->SetDelegate(NULL); | 271 contents()->SetDelegate(NULL); |
| 272 } | 272 } |
| 273 | 273 |
| 274 TEST_F(DevToolsManagerTest, ReattachOnCancelPendingNavigation) { | 274 TEST_F(DevToolsManagerTest, ReattachOnCancelPendingNavigation) { |
| 275 // Navigate to URL. First URL should use first RenderViewHost. | 275 // Navigate to URL. First URL should use first RenderViewHost. |
| 276 const GURL url("http://www.google.com"); | 276 const GURL url("http://www.google.com"); |
| 277 controller().LoadURL( | 277 controller().LoadURL( |
| 278 url, Referrer(), ui::PAGE_TRANSITION_TYPED, std::string()); | 278 url, Referrer(), ui::PAGE_TRANSITION_TYPED, std::string()); |
| 279 int pending_id = controller().GetPendingEntry()->GetUniqueID(); |
| 279 contents()->GetMainFrame()->PrepareForCommit(); | 280 contents()->GetMainFrame()->PrepareForCommit(); |
| 280 contents()->TestDidNavigate( | 281 contents()->TestDidNavigate(contents()->GetMainFrame(), 1, pending_id, true, |
| 281 contents()->GetMainFrame(), 1, url, ui::PAGE_TRANSITION_TYPED); | 282 url, ui::PAGE_TRANSITION_TYPED); |
| 282 EXPECT_FALSE(contents()->cross_navigation_pending()); | 283 EXPECT_FALSE(contents()->cross_navigation_pending()); |
| 283 | 284 |
| 284 TestDevToolsClientHost client_host; | 285 TestDevToolsClientHost client_host; |
| 285 client_host.InspectAgentHost( | 286 client_host.InspectAgentHost( |
| 286 DevToolsAgentHost::GetOrCreateFor(web_contents()).get()); | 287 DevToolsAgentHost::GetOrCreateFor(web_contents()).get()); |
| 287 | 288 |
| 288 // Navigate to new site which should get a new RenderViewHost. | 289 // Navigate to new site which should get a new RenderViewHost. |
| 289 const GURL url2("http://www.yahoo.com"); | 290 const GURL url2("http://www.yahoo.com"); |
| 290 controller().LoadURL( | 291 controller().LoadURL( |
| 291 url2, Referrer(), ui::PAGE_TRANSITION_TYPED, std::string()); | 292 url2, Referrer(), ui::PAGE_TRANSITION_TYPED, std::string()); |
| 292 contents()->GetMainFrame()->PrepareForCommit(); | 293 contents()->GetMainFrame()->PrepareForCommit(); |
| 293 EXPECT_TRUE(contents()->cross_navigation_pending()); | 294 EXPECT_TRUE(contents()->cross_navigation_pending()); |
| 294 EXPECT_EQ(client_host.agent_host(), | 295 EXPECT_EQ(client_host.agent_host(), |
| 295 DevToolsAgentHost::GetOrCreateFor(web_contents()).get()); | 296 DevToolsAgentHost::GetOrCreateFor(web_contents()).get()); |
| 296 | 297 |
| 297 // Interrupt pending navigation and navigate back to the original site. | 298 // Interrupt pending navigation and navigate back to the original site. |
| 298 controller().LoadURL( | 299 controller().LoadURL( |
| 299 url, Referrer(), ui::PAGE_TRANSITION_TYPED, std::string()); | 300 url, Referrer(), ui::PAGE_TRANSITION_TYPED, std::string()); |
| 301 pending_id = controller().GetPendingEntry()->GetUniqueID(); |
| 300 contents()->GetMainFrame()->PrepareForCommit(); | 302 contents()->GetMainFrame()->PrepareForCommit(); |
| 301 contents()->TestDidNavigate( | 303 contents()->TestDidNavigate(contents()->GetMainFrame(), 1, pending_id, false, |
| 302 contents()->GetMainFrame(), 1, url, ui::PAGE_TRANSITION_TYPED); | 304 url, ui::PAGE_TRANSITION_TYPED); |
| 303 EXPECT_FALSE(contents()->cross_navigation_pending()); | 305 EXPECT_FALSE(contents()->cross_navigation_pending()); |
| 304 EXPECT_EQ(client_host.agent_host(), | 306 EXPECT_EQ(client_host.agent_host(), |
| 305 DevToolsAgentHost::GetOrCreateFor(web_contents()).get()); | 307 DevToolsAgentHost::GetOrCreateFor(web_contents()).get()); |
| 306 client_host.Close(); | 308 client_host.Close(); |
| 307 } | 309 } |
| 308 | 310 |
| 309 class TestExternalAgentDelegate: public DevToolsExternalAgentProxyDelegate { | 311 class TestExternalAgentDelegate: public DevToolsExternalAgentProxyDelegate { |
| 310 std::map<std::string,int> event_counter_; | 312 std::map<std::string,int> event_counter_; |
| 311 | 313 |
| 312 void recordEvent(const std::string& name) { | 314 void recordEvent(const std::string& name) { |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 454 scheduler.Run(); | 456 scheduler.Run(); |
| 455 EXPECT_TRUE(scheduler.IsEmpty()); | 457 EXPECT_TRUE(scheduler.IsEmpty()); |
| 456 EXPECT_EQ(4, observer->updates_count()); | 458 EXPECT_EQ(4, observer->updates_count()); |
| 457 | 459 |
| 458 manager->RemoveObserver(observer.get()); | 460 manager->RemoveObserver(observer.get()); |
| 459 | 461 |
| 460 EXPECT_TRUE(scheduler.IsEmpty()); | 462 EXPECT_TRUE(scheduler.IsEmpty()); |
| 461 } | 463 } |
| 462 | 464 |
| 463 } // namespace content | 465 } // namespace content |
| OLD | NEW |