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

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

Issue 479673004: DevTools: Use workerReadyForInspection event as a signal for DevTools attaching (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed test 2 Created 6 years, 3 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
« no previous file with comments | « content/browser/devtools/embedded_worker_devtools_agent_host.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "content/browser/devtools/embedded_worker_devtools_manager.h" 5 #include "content/browser/devtools/embedded_worker_devtools_manager.h"
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "base/run_loop.h" 9 #include "base/run_loop.h"
10 #include "content/browser/browser_thread_impl.h" 10 #include "content/browser/browser_thread_impl.h"
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 partition_id_); 106 partition_id_);
107 107
108 agent_host = manager_->GetDevToolsAgentHostForWorker(1, 1); 108 agent_host = manager_->GetDevToolsAgentHostForWorker(1, 1);
109 EXPECT_FALSE(agent_host.get()); 109 EXPECT_FALSE(agent_host.get());
110 110
111 // Created -> Started -> Destroyed 111 // Created -> Started -> Destroyed
112 CheckWorkerNotExist(1, 1); 112 CheckWorkerNotExist(1, 1);
113 manager_->SharedWorkerCreated(1, 1, instance1); 113 manager_->SharedWorkerCreated(1, 1, instance1);
114 CheckWorkerState(1, 1, WorkerState::WORKER_UNINSPECTED); 114 CheckWorkerState(1, 1, WorkerState::WORKER_UNINSPECTED);
115 manager_->WorkerReadyForInspection(1, 1); 115 manager_->WorkerReadyForInspection(1, 1);
116 CheckWorkerState(1, 1, WorkerState::WORKER_UNINSPECTED);
117 manager_->WorkerContextStarted(1, 1); 116 manager_->WorkerContextStarted(1, 1);
118 CheckWorkerState(1, 1, WorkerState::WORKER_UNINSPECTED); 117 CheckWorkerState(1, 1, WorkerState::WORKER_UNINSPECTED);
119 manager_->WorkerDestroyed(1, 1); 118 manager_->WorkerDestroyed(1, 1);
120 CheckWorkerNotExist(1, 1); 119 CheckWorkerNotExist(1, 1);
121 120
122 // Created -> GetDevToolsAgentHost -> Started -> Destroyed 121 // Created -> GetDevToolsAgentHost -> Started -> Destroyed
123 CheckWorkerNotExist(1, 2); 122 CheckWorkerNotExist(1, 2);
124 manager_->SharedWorkerCreated(1, 2, instance1); 123 manager_->SharedWorkerCreated(1, 2, instance1);
125 CheckWorkerState(1, 2, WorkerState::WORKER_UNINSPECTED); 124 CheckWorkerState(1, 2, WorkerState::WORKER_UNINSPECTED);
126 agent_host = manager_->GetDevToolsAgentHostForWorker(1, 2); 125 agent_host = manager_->GetDevToolsAgentHostForWorker(1, 2);
127 EXPECT_TRUE(agent_host.get()); 126 EXPECT_TRUE(agent_host.get());
128 CheckWorkerState(1, 2, WorkerState::WORKER_UNINSPECTED); 127 CheckWorkerState(1, 2, WorkerState::WORKER_UNINSPECTED);
129 EXPECT_EQ(agent_host.get(), manager_->GetDevToolsAgentHostForWorker(1, 2)); 128 EXPECT_EQ(agent_host.get(), manager_->GetDevToolsAgentHostForWorker(1, 2));
130 manager_->WorkerReadyForInspection(1, 2); 129 manager_->WorkerReadyForInspection(1, 2);
131 CheckWorkerState(1, 2, WorkerState::WORKER_UNINSPECTED);
132 manager_->WorkerContextStarted(1, 2); 130 manager_->WorkerContextStarted(1, 2);
133 CheckWorkerState(1, 2, WorkerState::WORKER_UNINSPECTED); 131 CheckWorkerState(1, 2, WorkerState::WORKER_UNINSPECTED);
134 manager_->WorkerDestroyed(1, 2); 132 manager_->WorkerDestroyed(1, 2);
135 CheckWorkerState(1, 2, WorkerState::WORKER_TERMINATED); 133 CheckWorkerState(1, 2, WorkerState::WORKER_TERMINATED);
136 agent_host = NULL; 134 agent_host = NULL;
137 CheckWorkerNotExist(1, 2); 135 CheckWorkerNotExist(1, 2);
138 136
139 // Created -> Started -> GetDevToolsAgentHost -> Destroyed 137 // Created -> Started -> GetDevToolsAgentHost -> Destroyed
140 CheckWorkerNotExist(1, 3); 138 CheckWorkerNotExist(1, 3);
141 manager_->SharedWorkerCreated(1, 3, instance1); 139 manager_->SharedWorkerCreated(1, 3, instance1);
142 CheckWorkerState(1, 3, WorkerState::WORKER_UNINSPECTED); 140 CheckWorkerState(1, 3, WorkerState::WORKER_UNINSPECTED);
143 manager_->WorkerReadyForInspection(1, 3); 141 manager_->WorkerReadyForInspection(1, 3);
144 CheckWorkerState(1, 3, WorkerState::WORKER_UNINSPECTED);
145 manager_->WorkerContextStarted(1, 3); 142 manager_->WorkerContextStarted(1, 3);
146 CheckWorkerState(1, 3, WorkerState::WORKER_UNINSPECTED); 143 CheckWorkerState(1, 3, WorkerState::WORKER_UNINSPECTED);
147 agent_host = manager_->GetDevToolsAgentHostForWorker(1, 3); 144 agent_host = manager_->GetDevToolsAgentHostForWorker(1, 3);
148 EXPECT_TRUE(agent_host.get()); 145 EXPECT_TRUE(agent_host.get());
149 CheckWorkerState(1, 3, WorkerState::WORKER_UNINSPECTED); 146 CheckWorkerState(1, 3, WorkerState::WORKER_UNINSPECTED);
150 manager_->WorkerDestroyed(1, 3); 147 manager_->WorkerDestroyed(1, 3);
151 CheckWorkerState(1, 3, WorkerState::WORKER_TERMINATED); 148 CheckWorkerState(1, 3, WorkerState::WORKER_TERMINATED);
152 agent_host = NULL; 149 agent_host = NULL;
153 CheckWorkerNotExist(1, 3); 150 CheckWorkerNotExist(1, 3);
154 151
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 CheckWorkerNotExist(2, 1); 202 CheckWorkerNotExist(2, 1);
206 manager_->SharedWorkerCreated(2, 1, instance1); 203 manager_->SharedWorkerCreated(2, 1, instance1);
207 CheckWorkerState(2, 1, WorkerState::WORKER_UNINSPECTED); 204 CheckWorkerState(2, 1, WorkerState::WORKER_UNINSPECTED);
208 agent_host1 = manager_->GetDevToolsAgentHostForWorker(2, 1); 205 agent_host1 = manager_->GetDevToolsAgentHostForWorker(2, 1);
209 EXPECT_TRUE(agent_host1.get()); 206 EXPECT_TRUE(agent_host1.get());
210 CheckWorkerState(2, 1, WorkerState::WORKER_UNINSPECTED); 207 CheckWorkerState(2, 1, WorkerState::WORKER_UNINSPECTED);
211 EXPECT_EQ(agent_host1.get(), manager_->GetDevToolsAgentHostForWorker(2, 1)); 208 EXPECT_EQ(agent_host1.get(), manager_->GetDevToolsAgentHostForWorker(2, 1));
212 client_host1->InspectAgentHost(agent_host1.get()); 209 client_host1->InspectAgentHost(agent_host1.get());
213 CheckWorkerState(2, 1, WorkerState::WORKER_INSPECTED); 210 CheckWorkerState(2, 1, WorkerState::WORKER_INSPECTED);
214 manager_->WorkerReadyForInspection(2, 1); 211 manager_->WorkerReadyForInspection(2, 1);
215 CheckWorkerState(2, 1, WorkerState::WORKER_INSPECTED);
216 manager_->WorkerContextStarted(2, 1); 212 manager_->WorkerContextStarted(2, 1);
217 CheckWorkerState(2, 1, WorkerState::WORKER_INSPECTED); 213 CheckWorkerState(2, 1, WorkerState::WORKER_INSPECTED);
218 manager_->WorkerDestroyed(2, 1); 214 manager_->WorkerDestroyed(2, 1);
219 CheckWorkerState(2, 1, WorkerState::WORKER_TERMINATED); 215 CheckWorkerState(2, 1, WorkerState::WORKER_TERMINATED);
220 EXPECT_EQ(agent_host1.get(), manager_->GetDevToolsAgentHostForWorker(2, 1)); 216 EXPECT_EQ(agent_host1.get(), manager_->GetDevToolsAgentHostForWorker(2, 1));
221 217
222 // Created -> Started -> GetDevToolsAgentHost -> Register -> Destroyed 218 // Created -> Started -> GetDevToolsAgentHost -> Register -> Destroyed
223 scoped_ptr<TestDevToolsClientHost> client_host2(new TestDevToolsClientHost()); 219 scoped_ptr<TestDevToolsClientHost> client_host2(new TestDevToolsClientHost());
224 manager_->SharedWorkerCreated(2, 2, instance2); 220 manager_->SharedWorkerCreated(2, 2, instance2);
225 CheckWorkerState(2, 2, WorkerState::WORKER_UNINSPECTED); 221 CheckWorkerState(2, 2, WorkerState::WORKER_UNINSPECTED);
226 manager_->WorkerReadyForInspection(2, 2); 222 manager_->WorkerReadyForInspection(2, 2);
227 CheckWorkerState(2, 2, WorkerState::WORKER_UNINSPECTED);
228 manager_->WorkerContextStarted(2, 2); 223 manager_->WorkerContextStarted(2, 2);
229 CheckWorkerState(2, 2, WorkerState::WORKER_UNINSPECTED); 224 CheckWorkerState(2, 2, WorkerState::WORKER_UNINSPECTED);
230 agent_host2 = manager_->GetDevToolsAgentHostForWorker(2, 2); 225 agent_host2 = manager_->GetDevToolsAgentHostForWorker(2, 2);
231 EXPECT_TRUE(agent_host2.get()); 226 EXPECT_TRUE(agent_host2.get());
232 EXPECT_NE(agent_host1.get(), agent_host2.get()); 227 EXPECT_NE(agent_host1.get(), agent_host2.get());
233 EXPECT_EQ(agent_host2.get(), manager_->GetDevToolsAgentHostForWorker(2, 2)); 228 EXPECT_EQ(agent_host2.get(), manager_->GetDevToolsAgentHostForWorker(2, 2));
234 CheckWorkerState(2, 2, WorkerState::WORKER_UNINSPECTED); 229 CheckWorkerState(2, 2, WorkerState::WORKER_UNINSPECTED);
235 client_host2->InspectAgentHost(agent_host2.get()); 230 client_host2->InspectAgentHost(agent_host2.get());
236 CheckWorkerState(2, 2, WorkerState::WORKER_INSPECTED); 231 CheckWorkerState(2, 2, WorkerState::WORKER_INSPECTED);
237 manager_->WorkerDestroyed(2, 2); 232 manager_->WorkerDestroyed(2, 2);
238 CheckWorkerState(2, 2, WorkerState::WORKER_TERMINATED); 233 CheckWorkerState(2, 2, WorkerState::WORKER_TERMINATED);
239 EXPECT_EQ(agent_host2.get(), manager_->GetDevToolsAgentHostForWorker(2, 2)); 234 EXPECT_EQ(agent_host2.get(), manager_->GetDevToolsAgentHostForWorker(2, 2));
240 235
241 // Re-created -> Started -> ClientHostClosing -> Destroyed 236 // Re-created -> Started -> ClientHostClosing -> Destroyed
242 CheckWorkerState(2, 1, WorkerState::WORKER_TERMINATED); 237 CheckWorkerState(2, 1, WorkerState::WORKER_TERMINATED);
243 manager_->SharedWorkerCreated(2, 3, instance1); 238 manager_->SharedWorkerCreated(2, 3, instance1);
244 CheckWorkerNotExist(2, 1); 239 CheckWorkerNotExist(2, 1);
245 CheckWorkerState(2, 3, WorkerState::WORKER_PAUSED_FOR_REATTACH); 240 CheckWorkerState(2, 3, WorkerState::WORKER_PAUSED_FOR_REATTACH);
246 EXPECT_EQ(agent_host1.get(), manager_->GetDevToolsAgentHostForWorker(2, 3)); 241 EXPECT_EQ(agent_host1.get(), manager_->GetDevToolsAgentHostForWorker(2, 3));
247 manager_->WorkerReadyForInspection(2, 3); 242 manager_->WorkerReadyForInspection(2, 3);
248 CheckWorkerState(2, 3, WorkerState::WORKER_PAUSED_FOR_REATTACH);
249 manager_->WorkerContextStarted(2, 3); 243 manager_->WorkerContextStarted(2, 3);
250 CheckWorkerState(2, 3, WorkerState::WORKER_INSPECTED); 244 CheckWorkerState(2, 3, WorkerState::WORKER_INSPECTED);
251 client_host1->InspectAgentHost(NULL); 245 client_host1->InspectAgentHost(NULL);
252 manager_->WorkerDestroyed(2, 3); 246 manager_->WorkerDestroyed(2, 3);
253 CheckWorkerState(2, 3, WorkerState::WORKER_TERMINATED); 247 CheckWorkerState(2, 3, WorkerState::WORKER_TERMINATED);
254 agent_host1 = NULL; 248 agent_host1 = NULL;
255 CheckWorkerNotExist(2, 3); 249 CheckWorkerNotExist(2, 3);
256 250
257 // Re-created -> Destroyed 251 // Re-created -> Destroyed
258 CheckWorkerState(2, 2, WorkerState::WORKER_TERMINATED); 252 CheckWorkerState(2, 2, WorkerState::WORKER_TERMINATED);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 manager_->SharedWorkerCreated(3, 2, instance); 296 manager_->SharedWorkerCreated(3, 2, instance);
303 CheckWorkerState(3, 2, WorkerState::WORKER_UNINSPECTED); 297 CheckWorkerState(3, 2, WorkerState::WORKER_UNINSPECTED);
304 agent_host = NULL; 298 agent_host = NULL;
305 CheckWorkerState(3, 2, WorkerState::WORKER_UNINSPECTED); 299 CheckWorkerState(3, 2, WorkerState::WORKER_UNINSPECTED);
306 manager_->WorkerDestroyed(3, 2); 300 manager_->WorkerDestroyed(3, 2);
307 CheckWorkerNotExist(3, 2); 301 CheckWorkerNotExist(3, 2);
308 CheckWorkerCount(0); 302 CheckWorkerCount(0);
309 } 303 }
310 304
311 } // namespace content 305 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/devtools/embedded_worker_devtools_agent_host.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698