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 |