Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(641)

Side by Side Diff: content/browser/devtools/devtools_manager_unittest.cc

Issue 13305002: Remove redundant DevToolsManager methods and clean up its clients. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed comments Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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.h" 7 #include "base/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 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 RenderViewHostImplTestHarness::TearDown(); 123 RenderViewHostImplTestHarness::TearDown();
124 GetContentClient()->set_browser_for_testing(original_browser_client_); 124 GetContentClient()->set_browser_for_testing(original_browser_client_);
125 } 125 }
126 126
127 private: 127 private:
128 ContentBrowserClient* original_browser_client_; 128 ContentBrowserClient* original_browser_client_;
129 DevToolsManagerTestBrowserClient browser_client_; 129 DevToolsManagerTestBrowserClient browser_client_;
130 }; 130 };
131 131
132 TEST_F(DevToolsManagerTest, OpenAndManuallyCloseDevToolsClientHost) { 132 TEST_F(DevToolsManagerTest, OpenAndManuallyCloseDevToolsClientHost) {
133 DevToolsManagerImpl manager; 133 DevToolsManager* manager = DevToolsManager::GetInstance();
134 134
135 scoped_refptr<DevToolsAgentHost> agent( 135 scoped_refptr<DevToolsAgentHost> agent(
136 DevToolsAgentHost::GetOrCreateFor(rvh())); 136 DevToolsAgentHost::GetOrCreateFor(rvh()));
137 DevToolsClientHost* host = manager.GetDevToolsClientHostFor(agent); 137 EXPECT_FALSE(agent->IsAttached());
138 EXPECT_TRUE(NULL == host);
139 138
140 TestDevToolsClientHost client_host; 139 TestDevToolsClientHost client_host;
141 manager.RegisterDevToolsClientHostFor(agent, &client_host); 140 manager->RegisterDevToolsClientHostFor(agent, &client_host);
142 // Test that just registered devtools host is returned. 141 // Test that the connection is established.
143 host = manager.GetDevToolsClientHostFor(agent); 142 EXPECT_TRUE(agent->IsAttached());
144 EXPECT_TRUE(&client_host == host); 143 EXPECT_EQ(agent, manager->GetDevToolsAgentHostFor(&client_host));
145 EXPECT_EQ(0, TestDevToolsClientHost::close_counter); 144 EXPECT_EQ(0, TestDevToolsClientHost::close_counter);
146 145
147 // Test that the same devtools host is returned. 146 client_host.Close(manager);
148 host = manager.GetDevToolsClientHostFor(agent);
149 EXPECT_TRUE(&client_host == host);
150 EXPECT_EQ(0, TestDevToolsClientHost::close_counter);
151
152 client_host.Close(&manager);
153 EXPECT_EQ(1, TestDevToolsClientHost::close_counter); 147 EXPECT_EQ(1, TestDevToolsClientHost::close_counter);
154 host = manager.GetDevToolsClientHostFor(agent); 148 EXPECT_FALSE(agent->IsAttached());
155 EXPECT_TRUE(NULL == host);
156 } 149 }
157 150
158 TEST_F(DevToolsManagerTest, ForwardMessageToClient) { 151 TEST_F(DevToolsManagerTest, ForwardMessageToClient) {
159 DevToolsManagerImpl manager; 152 DevToolsManagerImpl* manager = DevToolsManagerImpl::GetInstance();
160 153
161 TestDevToolsClientHost client_host; 154 TestDevToolsClientHost client_host;
162 scoped_refptr<DevToolsAgentHost> agent_host( 155 scoped_refptr<DevToolsAgentHost> agent_host(
163 DevToolsAgentHost::GetOrCreateFor(rvh())); 156 DevToolsAgentHost::GetOrCreateFor(rvh()));
164 manager.RegisterDevToolsClientHostFor(agent_host, &client_host); 157 manager->RegisterDevToolsClientHostFor(agent_host, &client_host);
165 EXPECT_EQ(0, TestDevToolsClientHost::close_counter); 158 EXPECT_EQ(0, TestDevToolsClientHost::close_counter);
166 159
167 std::string m = "test message"; 160 std::string m = "test message";
168 agent_host = DevToolsAgentHost::GetOrCreateFor(rvh()); 161 agent_host = DevToolsAgentHost::GetOrCreateFor(rvh());
169 manager.DispatchOnInspectorFrontend(agent_host, m); 162 manager->DispatchOnInspectorFrontend(agent_host, m);
170 EXPECT_TRUE(&m == client_host.last_sent_message); 163 EXPECT_TRUE(&m == client_host.last_sent_message);
171 164
172 client_host.Close(&manager); 165 client_host.Close(manager);
173 EXPECT_EQ(1, TestDevToolsClientHost::close_counter); 166 EXPECT_EQ(1, TestDevToolsClientHost::close_counter);
174 } 167 }
175 168
176 TEST_F(DevToolsManagerTest, NoUnresponsiveDialogInInspectedContents) { 169 TEST_F(DevToolsManagerTest, NoUnresponsiveDialogInInspectedContents) {
177 TestRenderViewHost* inspected_rvh = test_rvh(); 170 TestRenderViewHost* inspected_rvh = test_rvh();
178 inspected_rvh->set_render_view_created(true); 171 inspected_rvh->set_render_view_created(true);
179 EXPECT_FALSE(contents()->GetDelegate()); 172 EXPECT_FALSE(contents()->GetDelegate());
180 TestWebContentsDelegate delegate; 173 TestWebContentsDelegate delegate;
181 contents()->SetDelegate(&delegate); 174 contents()->SetDelegate(&delegate);
182 175
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 DevToolsManager* devtools_manager = DevToolsManager::GetInstance(); 213 DevToolsManager* devtools_manager = DevToolsManager::GetInstance();
221 devtools_manager->RegisterDevToolsClientHostFor( 214 devtools_manager->RegisterDevToolsClientHostFor(
222 DevToolsAgentHost::GetOrCreateFor(rvh()), 215 DevToolsAgentHost::GetOrCreateFor(rvh()),
223 &client_host); 216 &client_host);
224 217
225 // Navigate to new site which should get a new RenderViewHost. 218 // Navigate to new site which should get a new RenderViewHost.
226 const GURL url2("http://www.yahoo.com"); 219 const GURL url2("http://www.yahoo.com");
227 controller().LoadURL( 220 controller().LoadURL(
228 url2, Referrer(), PAGE_TRANSITION_TYPED, std::string()); 221 url2, Referrer(), PAGE_TRANSITION_TYPED, std::string());
229 EXPECT_TRUE(contents()->cross_navigation_pending()); 222 EXPECT_TRUE(contents()->cross_navigation_pending());
230 EXPECT_EQ(&client_host, devtools_manager->GetDevToolsClientHostFor( 223 EXPECT_EQ(devtools_manager->GetDevToolsAgentHostFor(&client_host),
231 DevToolsAgentHost::GetOrCreateFor(pending_rvh()))); 224 DevToolsAgentHost::GetOrCreateFor(pending_rvh()));
232 225
233 // Interrupt pending navigation and navigate back to the original site. 226 // Interrupt pending navigation and navigate back to the original site.
234 controller().LoadURL( 227 controller().LoadURL(
235 url, Referrer(), PAGE_TRANSITION_TYPED, std::string()); 228 url, Referrer(), PAGE_TRANSITION_TYPED, std::string());
236 contents()->TestDidNavigate(rvh(), 1, url, PAGE_TRANSITION_TYPED); 229 contents()->TestDidNavigate(rvh(), 1, url, PAGE_TRANSITION_TYPED);
237 EXPECT_FALSE(contents()->cross_navigation_pending()); 230 EXPECT_FALSE(contents()->cross_navigation_pending());
238 EXPECT_EQ(&client_host, devtools_manager->GetDevToolsClientHostFor( 231 EXPECT_EQ(devtools_manager->GetDevToolsAgentHostFor(&client_host),
239 DevToolsAgentHost::GetOrCreateFor(rvh()))); 232 DevToolsAgentHost::GetOrCreateFor(rvh()));
240 client_host.Close(DevToolsManager::GetInstance()); 233 client_host.Close(DevToolsManager::GetInstance());
241 } 234 }
242 235
243 class TestExternalAgentDelegate: public DevToolsExternalAgentProxyDelegate { 236 class TestExternalAgentDelegate: public DevToolsExternalAgentProxyDelegate {
244 std::map<std::string,int> event_counter_; 237 std::map<std::string,int> event_counter_;
245 238
246 void recordEvent(const std::string& name) { 239 void recordEvent(const std::string& name) {
247 if (event_counter_.find(name) == event_counter_.end()) 240 if (event_counter_.find(name) == event_counter_.end())
248 event_counter_[name] = 0; 241 event_counter_[name] = 0;
249 event_counter_[name] = event_counter_[name] + 1; 242 event_counter_[name] = event_counter_[name] + 1;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 manager->RegisterDevToolsClientHostFor(agent_host, &client_host); 283 manager->RegisterDevToolsClientHostFor(agent_host, &client_host);
291 284
292 manager->DispatchOnInspectorBackend(&client_host, "message1"); 285 manager->DispatchOnInspectorBackend(&client_host, "message1");
293 manager->DispatchOnInspectorBackend(&client_host, "message2"); 286 manager->DispatchOnInspectorBackend(&client_host, "message2");
294 manager->DispatchOnInspectorBackend(&client_host, "message2"); 287 manager->DispatchOnInspectorBackend(&client_host, "message2");
295 288
296 client_host.Close(manager); 289 client_host.Close(manager);
297 } 290 }
298 291
299 } // namespace content 292 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/devtools/devtools_manager_impl.cc ('k') | content/browser/devtools/render_view_devtools_agent_host.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698