| 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_impl.h" | 8 #include "content/browser/devtools/devtools_manager_impl.h" |
| 9 #include "content/browser/devtools/render_view_devtools_agent_host.h" | 9 #include "content/browser/devtools/render_view_devtools_agent_host.h" |
| 10 #include "content/browser/renderer_host/test_render_view_host.h" | 10 #include "content/browser/renderer_host/test_render_view_host.h" |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 80 } | 80 } |
| 81 | 81 |
| 82 bool renderer_unresponsive_received() const { | 82 bool renderer_unresponsive_received() const { |
| 83 return renderer_unresponsive_received_; | 83 return renderer_unresponsive_received_; |
| 84 } | 84 } |
| 85 | 85 |
| 86 private: | 86 private: |
| 87 bool renderer_unresponsive_received_; | 87 bool renderer_unresponsive_received_; |
| 88 }; | 88 }; |
| 89 | 89 |
| 90 class DevToolsManagerTestBrowserClient : public TestContentBrowserClient { | |
| 91 public: | |
| 92 DevToolsManagerTestBrowserClient() { | |
| 93 } | |
| 94 | |
| 95 virtual bool ShouldSwapProcessesForNavigation( | |
| 96 SiteInstance* site_instance, | |
| 97 const GURL& current_url, | |
| 98 const GURL& new_url) OVERRIDE { | |
| 99 return true; | |
| 100 } | |
| 101 | |
| 102 private: | |
| 103 DISALLOW_COPY_AND_ASSIGN(DevToolsManagerTestBrowserClient); | |
| 104 }; | |
| 105 | |
| 106 } // namespace | 90 } // namespace |
| 107 | 91 |
| 108 class DevToolsManagerTest : public RenderViewHostImplTestHarness { | 92 class DevToolsManagerTest : public RenderViewHostImplTestHarness { |
| 109 protected: | 93 protected: |
| 110 virtual void SetUp() OVERRIDE { | 94 virtual void SetUp() OVERRIDE { |
| 111 original_browser_client_ = SetBrowserClientForTesting(&browser_client_); | |
| 112 | |
| 113 RenderViewHostImplTestHarness::SetUp(); | 95 RenderViewHostImplTestHarness::SetUp(); |
| 114 TestDevToolsClientHost::ResetCounters(); | 96 TestDevToolsClientHost::ResetCounters(); |
| 115 } | 97 } |
| 116 | |
| 117 virtual void TearDown() OVERRIDE { | |
| 118 RenderViewHostImplTestHarness::TearDown(); | |
| 119 SetBrowserClientForTesting(original_browser_client_); | |
| 120 } | |
| 121 | |
| 122 private: | |
| 123 ContentBrowserClient* original_browser_client_; | |
| 124 DevToolsManagerTestBrowserClient browser_client_; | |
| 125 }; | 98 }; |
| 126 | 99 |
| 127 TEST_F(DevToolsManagerTest, OpenAndManuallyCloseDevToolsClientHost) { | 100 TEST_F(DevToolsManagerTest, OpenAndManuallyCloseDevToolsClientHost) { |
| 128 DevToolsManager* manager = DevToolsManager::GetInstance(); | 101 DevToolsManager* manager = DevToolsManager::GetInstance(); |
| 129 | 102 |
| 130 scoped_refptr<DevToolsAgentHost> agent( | 103 scoped_refptr<DevToolsAgentHost> agent( |
| 131 DevToolsAgentHost::GetOrCreateFor(rvh())); | 104 DevToolsAgentHost::GetOrCreateFor(rvh())); |
| 132 EXPECT_FALSE(agent->IsAttached()); | 105 EXPECT_FALSE(agent->IsAttached()); |
| 133 | 106 |
| 134 TestDevToolsClientHost client_host; | 107 TestDevToolsClientHost client_host; |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 193 FROM_HERE, | 166 FROM_HERE, |
| 194 base::MessageLoop::QuitClosure(), | 167 base::MessageLoop::QuitClosure(), |
| 195 TimeDelta::FromMilliseconds(10)); | 168 TimeDelta::FromMilliseconds(10)); |
| 196 base::MessageLoop::current()->Run(); | 169 base::MessageLoop::current()->Run(); |
| 197 EXPECT_TRUE(delegate.renderer_unresponsive_received()); | 170 EXPECT_TRUE(delegate.renderer_unresponsive_received()); |
| 198 | 171 |
| 199 contents()->SetDelegate(NULL); | 172 contents()->SetDelegate(NULL); |
| 200 } | 173 } |
| 201 | 174 |
| 202 TEST_F(DevToolsManagerTest, ReattachOnCancelPendingNavigation) { | 175 TEST_F(DevToolsManagerTest, ReattachOnCancelPendingNavigation) { |
| 203 contents()->transition_cross_site = true; | |
| 204 // Navigate to URL. First URL should use first RenderViewHost. | 176 // Navigate to URL. First URL should use first RenderViewHost. |
| 205 const GURL url("http://www.google.com"); | 177 const GURL url("http://www.google.com"); |
| 206 controller().LoadURL( | 178 controller().LoadURL( |
| 207 url, Referrer(), PAGE_TRANSITION_TYPED, std::string()); | 179 url, Referrer(), PAGE_TRANSITION_TYPED, std::string()); |
| 208 contents()->TestDidNavigate(rvh(), 1, url, PAGE_TRANSITION_TYPED); | 180 contents()->TestDidNavigate(rvh(), 1, url, PAGE_TRANSITION_TYPED); |
| 209 EXPECT_FALSE(contents()->cross_navigation_pending()); | 181 EXPECT_FALSE(contents()->cross_navigation_pending()); |
| 210 | 182 |
| 211 TestDevToolsClientHost client_host; | 183 TestDevToolsClientHost client_host; |
| 212 DevToolsManager* devtools_manager = DevToolsManager::GetInstance(); | 184 DevToolsManager* devtools_manager = DevToolsManager::GetInstance(); |
| 213 devtools_manager->RegisterDevToolsClientHostFor( | 185 devtools_manager->RegisterDevToolsClientHostFor( |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 281 manager->RegisterDevToolsClientHostFor(agent_host.get(), &client_host); | 253 manager->RegisterDevToolsClientHostFor(agent_host.get(), &client_host); |
| 282 | 254 |
| 283 manager->DispatchOnInspectorBackend(&client_host, "message1"); | 255 manager->DispatchOnInspectorBackend(&client_host, "message1"); |
| 284 manager->DispatchOnInspectorBackend(&client_host, "message2"); | 256 manager->DispatchOnInspectorBackend(&client_host, "message2"); |
| 285 manager->DispatchOnInspectorBackend(&client_host, "message2"); | 257 manager->DispatchOnInspectorBackend(&client_host, "message2"); |
| 286 | 258 |
| 287 client_host.Close(manager); | 259 client_host.Close(manager); |
| 288 } | 260 } |
| 289 | 261 |
| 290 } // namespace content | 262 } // namespace content |
| OLD | NEW |