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