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 |