| 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 |