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

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 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 DevToolsManagerImpl manager;
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(manager.IsAttached(agent));
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(manager.IsAttached(agent));
144 EXPECT_TRUE(&client_host == host); 143 EXPECT_EQ(agent, manager.GetDevToolsAgentHostFor(&client_host));
145 EXPECT_EQ(0, TestDevToolsClientHost::close_counter);
146
147 // Test that the same devtools host is returned.
148 host = manager.GetDevToolsClientHostFor(agent);
149 EXPECT_TRUE(&client_host == host);
150 EXPECT_EQ(0, TestDevToolsClientHost::close_counter); 144 EXPECT_EQ(0, TestDevToolsClientHost::close_counter);
151 145
152 client_host.Close(&manager); 146 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(manager.IsAttached(agent));
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;
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);
(...skipping 54 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

Powered by Google App Engine
This is Rietveld 408576698