OLD | NEW |
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 10 matching lines...) Expand all Loading... |
21 class TestDevToolsClientHost : public DevToolsAgentHostClient { | 21 class TestDevToolsClientHost : public DevToolsAgentHostClient { |
22 public: | 22 public: |
23 TestDevToolsClientHost() {} | 23 TestDevToolsClientHost() {} |
24 virtual ~TestDevToolsClientHost() {} | 24 virtual ~TestDevToolsClientHost() {} |
25 virtual void DispatchProtocolMessage( | 25 virtual void DispatchProtocolMessage( |
26 DevToolsAgentHost* agent_host, const std::string& message) OVERRIDE {} | 26 DevToolsAgentHost* agent_host, const std::string& message) OVERRIDE {} |
27 virtual void AgentHostClosed( | 27 virtual void AgentHostClosed( |
28 DevToolsAgentHost* agent_host, bool replaced) OVERRIDE {} | 28 DevToolsAgentHost* agent_host, bool replaced) OVERRIDE {} |
29 | 29 |
30 void InspectAgentHost(DevToolsAgentHost* agent_host) { | 30 void InspectAgentHost(DevToolsAgentHost* agent_host) { |
31 if (agent_host_) | 31 if (agent_host_.get()) |
32 agent_host_->DetachClient(); | 32 agent_host_->DetachClient(); |
33 agent_host_ = agent_host; | 33 agent_host_ = agent_host; |
34 if (agent_host_) | 34 if (agent_host_.get()) |
35 agent_host_->AttachClient(this); | 35 agent_host_->AttachClient(this); |
36 } | 36 } |
37 private: | 37 private: |
38 scoped_refptr<DevToolsAgentHost> agent_host_; | 38 scoped_refptr<DevToolsAgentHost> agent_host_; |
39 DISALLOW_COPY_AND_ASSIGN(TestDevToolsClientHost); | 39 DISALLOW_COPY_AND_ASSIGN(TestDevToolsClientHost); |
40 }; | 40 }; |
41 } | 41 } |
42 | 42 |
43 class EmbeddedWorkerDevToolsManagerTest : public testing::Test { | 43 class EmbeddedWorkerDevToolsManagerTest : public testing::Test { |
44 public: | 44 public: |
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
225 CheckWorkerState(2, 2, WorkerState::WORKER_UNINSPECTED); | 225 CheckWorkerState(2, 2, WorkerState::WORKER_UNINSPECTED); |
226 manager_->WorkerReadyForInspection(2, 2); | 226 manager_->WorkerReadyForInspection(2, 2); |
227 CheckWorkerState(2, 2, WorkerState::WORKER_UNINSPECTED); | 227 CheckWorkerState(2, 2, WorkerState::WORKER_UNINSPECTED); |
228 manager_->WorkerContextStarted(2, 2); | 228 manager_->WorkerContextStarted(2, 2); |
229 CheckWorkerState(2, 2, WorkerState::WORKER_UNINSPECTED); | 229 CheckWorkerState(2, 2, WorkerState::WORKER_UNINSPECTED); |
230 agent_host2 = manager_->GetDevToolsAgentHostForWorker(2, 2); | 230 agent_host2 = manager_->GetDevToolsAgentHostForWorker(2, 2); |
231 EXPECT_TRUE(agent_host2.get()); | 231 EXPECT_TRUE(agent_host2.get()); |
232 EXPECT_NE(agent_host1.get(), agent_host2.get()); | 232 EXPECT_NE(agent_host1.get(), agent_host2.get()); |
233 EXPECT_EQ(agent_host2.get(), manager_->GetDevToolsAgentHostForWorker(2, 2)); | 233 EXPECT_EQ(agent_host2.get(), manager_->GetDevToolsAgentHostForWorker(2, 2)); |
234 CheckWorkerState(2, 2, WorkerState::WORKER_UNINSPECTED); | 234 CheckWorkerState(2, 2, WorkerState::WORKER_UNINSPECTED); |
235 client_host2->InspectAgentHost(agent_host2); | 235 client_host2->InspectAgentHost(agent_host2.get()); |
236 CheckWorkerState(2, 2, WorkerState::WORKER_INSPECTED); | 236 CheckWorkerState(2, 2, WorkerState::WORKER_INSPECTED); |
237 manager_->WorkerDestroyed(2, 2); | 237 manager_->WorkerDestroyed(2, 2); |
238 CheckWorkerState(2, 2, WorkerState::WORKER_TERMINATED); | 238 CheckWorkerState(2, 2, WorkerState::WORKER_TERMINATED); |
239 EXPECT_EQ(agent_host2.get(), manager_->GetDevToolsAgentHostForWorker(2, 2)); | 239 EXPECT_EQ(agent_host2.get(), manager_->GetDevToolsAgentHostForWorker(2, 2)); |
240 | 240 |
241 // Re-created -> Started -> ClientHostClosing -> Destroyed | 241 // Re-created -> Started -> ClientHostClosing -> Destroyed |
242 CheckWorkerState(2, 1, WorkerState::WORKER_TERMINATED); | 242 CheckWorkerState(2, 1, WorkerState::WORKER_TERMINATED); |
243 manager_->SharedWorkerCreated(2, 3, instance1); | 243 manager_->SharedWorkerCreated(2, 3, instance1); |
244 CheckWorkerNotExist(2, 1); | 244 CheckWorkerNotExist(2, 1); |
245 CheckWorkerState(2, 3, WorkerState::WORKER_PAUSED_FOR_REATTACH); | 245 CheckWorkerState(2, 3, WorkerState::WORKER_PAUSED_FOR_REATTACH); |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
302 manager_->SharedWorkerCreated(3, 2, instance); | 302 manager_->SharedWorkerCreated(3, 2, instance); |
303 CheckWorkerState(3, 2, WorkerState::WORKER_UNINSPECTED); | 303 CheckWorkerState(3, 2, WorkerState::WORKER_UNINSPECTED); |
304 agent_host = NULL; | 304 agent_host = NULL; |
305 CheckWorkerState(3, 2, WorkerState::WORKER_UNINSPECTED); | 305 CheckWorkerState(3, 2, WorkerState::WORKER_UNINSPECTED); |
306 manager_->WorkerDestroyed(3, 2); | 306 manager_->WorkerDestroyed(3, 2); |
307 CheckWorkerNotExist(3, 2); | 307 CheckWorkerNotExist(3, 2); |
308 CheckWorkerCount(0); | 308 CheckWorkerCount(0); |
309 } | 309 } |
310 | 310 |
311 } // namespace content | 311 } // namespace content |
OLD | NEW |