| Index: content/browser/devtools/embedded_worker_devtools_manager_unittest.cc
|
| diff --git a/content/browser/devtools/embedded_worker_devtools_manager_unittest.cc b/content/browser/devtools/embedded_worker_devtools_manager_unittest.cc
|
| deleted file mode 100644
|
| index 35a0b301ac20886cfbb5fd0b0d71912b5a2a4d8e..0000000000000000000000000000000000000000
|
| --- a/content/browser/devtools/embedded_worker_devtools_manager_unittest.cc
|
| +++ /dev/null
|
| @@ -1,298 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "content/browser/devtools/embedded_worker_devtools_manager.h"
|
| -
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "base/message_loop/message_loop.h"
|
| -#include "base/run_loop.h"
|
| -#include "content/browser/browser_thread_impl.h"
|
| -#include "content/browser/devtools/devtools_agent_host_impl.h"
|
| -#include "content/browser/devtools/embedded_worker_devtools_agent_host.h"
|
| -#include "content/browser/shared_worker/shared_worker_instance.h"
|
| -#include "content/browser/shared_worker/worker_storage_partition.h"
|
| -#include "content/public/test/test_browser_context.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -namespace content {
|
| -namespace {
|
| -
|
| -class TestDevToolsClientHost : public DevToolsAgentHostClient {
|
| - public:
|
| - TestDevToolsClientHost() {}
|
| - ~TestDevToolsClientHost() override {}
|
| - void DispatchProtocolMessage(DevToolsAgentHost* agent_host,
|
| - const std::string& message) override {}
|
| - void AgentHostClosed(DevToolsAgentHost* agent_host, bool replaced) override {}
|
| -
|
| - void InspectAgentHost(DevToolsAgentHost* agent_host) {
|
| - if (agent_host_.get())
|
| - agent_host_->DetachClient();
|
| - agent_host_ = agent_host;
|
| - if (agent_host_.get())
|
| - agent_host_->AttachClient(this);
|
| - }
|
| - private:
|
| - scoped_refptr<DevToolsAgentHost> agent_host_;
|
| - DISALLOW_COPY_AND_ASSIGN(TestDevToolsClientHost);
|
| -};
|
| -}
|
| -
|
| -class EmbeddedWorkerDevToolsManagerTest : public testing::Test {
|
| - public:
|
| - typedef EmbeddedWorkerDevToolsAgentHost::WorkerState WorkerState;
|
| -
|
| - EmbeddedWorkerDevToolsManagerTest()
|
| - : ui_thread_(BrowserThread::UI, &message_loop_),
|
| - browser_context_(new TestBrowserContext()),
|
| - partition_(
|
| - new WorkerStoragePartition(browser_context_->GetRequestContext(),
|
| - NULL,
|
| - NULL,
|
| - NULL,
|
| - NULL,
|
| - NULL,
|
| - NULL,
|
| - NULL)),
|
| - partition_id_(*partition_.get()) {}
|
| -
|
| - protected:
|
| - void SetUp() override {
|
| - manager_ = EmbeddedWorkerDevToolsManager::GetInstance();
|
| - }
|
| - void TearDown() override {
|
| - EmbeddedWorkerDevToolsManager::GetInstance()->ResetForTesting();
|
| - }
|
| -
|
| - void CheckWorkerState(int worker_process_id,
|
| - int worker_route_id,
|
| - WorkerState state) {
|
| - const EmbeddedWorkerDevToolsManager::WorkerId id(worker_process_id,
|
| - worker_route_id);
|
| - EmbeddedWorkerDevToolsManager::AgentHostMap::iterator it =
|
| - manager_->workers_.find(id);
|
| - EXPECT_TRUE(manager_->workers_.end() != it);
|
| - EXPECT_EQ(state, it->second->state_);
|
| - }
|
| -
|
| - void CheckWorkerNotExist(int worker_process_id, int worker_route_id) {
|
| - const EmbeddedWorkerDevToolsManager::WorkerId id(worker_process_id,
|
| - worker_route_id);
|
| - EXPECT_TRUE(manager_->workers_.end() == manager_->workers_.find(id));
|
| - }
|
| -
|
| - void CheckWorkerCount(size_t size) {
|
| - EXPECT_EQ(size, manager_->workers_.size());
|
| - }
|
| -
|
| - base::MessageLoopForIO message_loop_;
|
| - BrowserThreadImpl ui_thread_;
|
| - scoped_ptr<TestBrowserContext> browser_context_;
|
| - scoped_ptr<WorkerStoragePartition> partition_;
|
| - const WorkerStoragePartitionId partition_id_;
|
| - EmbeddedWorkerDevToolsManager* manager_;
|
| -};
|
| -
|
| -TEST_F(EmbeddedWorkerDevToolsManagerTest, BasicTest) {
|
| - scoped_refptr<DevToolsAgentHostImpl> agent_host;
|
| -
|
| - SharedWorkerInstance instance1(GURL("http://example.com/w.js"),
|
| - base::string16(),
|
| - base::string16(),
|
| - blink::WebContentSecurityPolicyTypeReport,
|
| - browser_context_->GetResourceContext(),
|
| - partition_id_);
|
| -
|
| - agent_host = manager_->GetDevToolsAgentHostForWorker(1, 1);
|
| - EXPECT_FALSE(agent_host.get());
|
| -
|
| - // Created -> Started -> Destroyed
|
| - CheckWorkerNotExist(1, 1);
|
| - manager_->SharedWorkerCreated(1, 1, instance1);
|
| - CheckWorkerState(1, 1, WorkerState::WORKER_UNINSPECTED);
|
| - manager_->WorkerReadyForInspection(1, 1);
|
| - CheckWorkerState(1, 1, WorkerState::WORKER_UNINSPECTED);
|
| - manager_->WorkerDestroyed(1, 1);
|
| - CheckWorkerNotExist(1, 1);
|
| -
|
| - // Created -> GetDevToolsAgentHost -> Started -> Destroyed
|
| - CheckWorkerNotExist(1, 2);
|
| - manager_->SharedWorkerCreated(1, 2, instance1);
|
| - CheckWorkerState(1, 2, WorkerState::WORKER_UNINSPECTED);
|
| - agent_host = manager_->GetDevToolsAgentHostForWorker(1, 2);
|
| - EXPECT_TRUE(agent_host.get());
|
| - CheckWorkerState(1, 2, WorkerState::WORKER_UNINSPECTED);
|
| - EXPECT_EQ(agent_host.get(), manager_->GetDevToolsAgentHostForWorker(1, 2));
|
| - manager_->WorkerReadyForInspection(1, 2);
|
| - CheckWorkerState(1, 2, WorkerState::WORKER_UNINSPECTED);
|
| - manager_->WorkerDestroyed(1, 2);
|
| - CheckWorkerState(1, 2, WorkerState::WORKER_TERMINATED);
|
| - agent_host = NULL;
|
| - CheckWorkerNotExist(1, 2);
|
| -
|
| - // Created -> Started -> GetDevToolsAgentHost -> Destroyed
|
| - CheckWorkerNotExist(1, 3);
|
| - manager_->SharedWorkerCreated(1, 3, instance1);
|
| - CheckWorkerState(1, 3, WorkerState::WORKER_UNINSPECTED);
|
| - manager_->WorkerReadyForInspection(1, 3);
|
| - CheckWorkerState(1, 3, WorkerState::WORKER_UNINSPECTED);
|
| - agent_host = manager_->GetDevToolsAgentHostForWorker(1, 3);
|
| - EXPECT_TRUE(agent_host.get());
|
| - CheckWorkerState(1, 3, WorkerState::WORKER_UNINSPECTED);
|
| - manager_->WorkerDestroyed(1, 3);
|
| - CheckWorkerState(1, 3, WorkerState::WORKER_TERMINATED);
|
| - agent_host = NULL;
|
| - CheckWorkerNotExist(1, 3);
|
| -
|
| - // Created -> Destroyed
|
| - CheckWorkerNotExist(1, 4);
|
| - manager_->SharedWorkerCreated(1, 4, instance1);
|
| - CheckWorkerState(1, 4, WorkerState::WORKER_UNINSPECTED);
|
| - manager_->WorkerDestroyed(1, 4);
|
| - CheckWorkerNotExist(1, 4);
|
| -
|
| - // Created -> GetDevToolsAgentHost -> Destroyed
|
| - CheckWorkerNotExist(1, 5);
|
| - manager_->SharedWorkerCreated(1, 5, instance1);
|
| - CheckWorkerState(1, 5, WorkerState::WORKER_UNINSPECTED);
|
| - agent_host = manager_->GetDevToolsAgentHostForWorker(1, 5);
|
| - EXPECT_TRUE(agent_host.get());
|
| - CheckWorkerState(1, 5, WorkerState::WORKER_UNINSPECTED);
|
| - manager_->WorkerDestroyed(1, 5);
|
| - CheckWorkerState(1, 5, WorkerState::WORKER_TERMINATED);
|
| - agent_host = NULL;
|
| - CheckWorkerNotExist(1, 5);
|
| -
|
| - // Created -> GetDevToolsAgentHost -> Free agent_host -> Destroyed
|
| - CheckWorkerNotExist(1, 6);
|
| - manager_->SharedWorkerCreated(1, 6, instance1);
|
| - CheckWorkerState(1, 6, WorkerState::WORKER_UNINSPECTED);
|
| - agent_host = manager_->GetDevToolsAgentHostForWorker(1, 6);
|
| - EXPECT_TRUE(agent_host.get());
|
| - CheckWorkerState(1, 6, WorkerState::WORKER_UNINSPECTED);
|
| - agent_host = NULL;
|
| - manager_->WorkerDestroyed(1, 6);
|
| - CheckWorkerNotExist(1, 6);
|
| -}
|
| -
|
| -TEST_F(EmbeddedWorkerDevToolsManagerTest, AttachTest) {
|
| - scoped_refptr<DevToolsAgentHostImpl> agent_host1;
|
| - scoped_refptr<DevToolsAgentHostImpl> agent_host2;
|
| -
|
| - SharedWorkerInstance instance1(GURL("http://example.com/w1.js"),
|
| - base::string16(),
|
| - base::string16(),
|
| - blink::WebContentSecurityPolicyTypeReport,
|
| - browser_context_->GetResourceContext(),
|
| - partition_id_);
|
| - SharedWorkerInstance instance2(GURL("http://example.com/w2.js"),
|
| - base::string16(),
|
| - base::string16(),
|
| - blink::WebContentSecurityPolicyTypeReport,
|
| - browser_context_->GetResourceContext(),
|
| - partition_id_);
|
| -
|
| - // Created -> GetDevToolsAgentHost -> Register -> Started -> Destroyed
|
| - scoped_ptr<TestDevToolsClientHost> client_host1(new TestDevToolsClientHost());
|
| - CheckWorkerNotExist(2, 1);
|
| - manager_->SharedWorkerCreated(2, 1, instance1);
|
| - CheckWorkerState(2, 1, WorkerState::WORKER_UNINSPECTED);
|
| - agent_host1 = manager_->GetDevToolsAgentHostForWorker(2, 1);
|
| - EXPECT_TRUE(agent_host1.get());
|
| - CheckWorkerState(2, 1, WorkerState::WORKER_UNINSPECTED);
|
| - EXPECT_EQ(agent_host1.get(), manager_->GetDevToolsAgentHostForWorker(2, 1));
|
| - client_host1->InspectAgentHost(agent_host1.get());
|
| - CheckWorkerState(2, 1, WorkerState::WORKER_INSPECTED);
|
| - manager_->WorkerReadyForInspection(2, 1);
|
| - CheckWorkerState(2, 1, WorkerState::WORKER_INSPECTED);
|
| - manager_->WorkerDestroyed(2, 1);
|
| - CheckWorkerState(2, 1, WorkerState::WORKER_TERMINATED);
|
| - EXPECT_EQ(agent_host1.get(), manager_->GetDevToolsAgentHostForWorker(2, 1));
|
| -
|
| - // Created -> Started -> GetDevToolsAgentHost -> Register -> Destroyed
|
| - scoped_ptr<TestDevToolsClientHost> client_host2(new TestDevToolsClientHost());
|
| - manager_->SharedWorkerCreated(2, 2, instance2);
|
| - CheckWorkerState(2, 2, WorkerState::WORKER_UNINSPECTED);
|
| - manager_->WorkerReadyForInspection(2, 2);
|
| - CheckWorkerState(2, 2, WorkerState::WORKER_UNINSPECTED);
|
| - agent_host2 = manager_->GetDevToolsAgentHostForWorker(2, 2);
|
| - EXPECT_TRUE(agent_host2.get());
|
| - EXPECT_NE(agent_host1.get(), agent_host2.get());
|
| - EXPECT_EQ(agent_host2.get(), manager_->GetDevToolsAgentHostForWorker(2, 2));
|
| - CheckWorkerState(2, 2, WorkerState::WORKER_UNINSPECTED);
|
| - client_host2->InspectAgentHost(agent_host2.get());
|
| - CheckWorkerState(2, 2, WorkerState::WORKER_INSPECTED);
|
| - manager_->WorkerDestroyed(2, 2);
|
| - CheckWorkerState(2, 2, WorkerState::WORKER_TERMINATED);
|
| - EXPECT_EQ(agent_host2.get(), manager_->GetDevToolsAgentHostForWorker(2, 2));
|
| -
|
| - // Re-created -> Started -> ClientHostClosing -> Destroyed
|
| - CheckWorkerState(2, 1, WorkerState::WORKER_TERMINATED);
|
| - manager_->SharedWorkerCreated(2, 3, instance1);
|
| - CheckWorkerNotExist(2, 1);
|
| - CheckWorkerState(2, 3, WorkerState::WORKER_PAUSED_FOR_REATTACH);
|
| - EXPECT_EQ(agent_host1.get(), manager_->GetDevToolsAgentHostForWorker(2, 3));
|
| - manager_->WorkerReadyForInspection(2, 3);
|
| - CheckWorkerState(2, 3, WorkerState::WORKER_INSPECTED);
|
| - client_host1->InspectAgentHost(NULL);
|
| - manager_->WorkerDestroyed(2, 3);
|
| - CheckWorkerState(2, 3, WorkerState::WORKER_TERMINATED);
|
| - agent_host1 = NULL;
|
| - CheckWorkerNotExist(2, 3);
|
| -
|
| - // Re-created -> Destroyed
|
| - CheckWorkerState(2, 2, WorkerState::WORKER_TERMINATED);
|
| - manager_->SharedWorkerCreated(2, 4, instance2);
|
| - CheckWorkerNotExist(2, 2);
|
| - CheckWorkerState(2, 4, WorkerState::WORKER_PAUSED_FOR_REATTACH);
|
| - EXPECT_EQ(agent_host2.get(), manager_->GetDevToolsAgentHostForWorker(2, 4));
|
| - manager_->WorkerDestroyed(2, 4);
|
| - CheckWorkerNotExist(2, 2);
|
| - CheckWorkerState(2, 4, WorkerState::WORKER_TERMINATED);
|
| -
|
| - // Re-created -> ClientHostClosing -> Destroyed
|
| - manager_->SharedWorkerCreated(2, 5, instance2);
|
| - CheckWorkerNotExist(2, 2);
|
| - CheckWorkerState(2, 5, WorkerState::WORKER_PAUSED_FOR_REATTACH);
|
| - EXPECT_EQ(agent_host2.get(), manager_->GetDevToolsAgentHostForWorker(2, 5));
|
| - client_host2->InspectAgentHost(NULL);
|
| - CheckWorkerCount(1);
|
| - agent_host2 = NULL;
|
| - CheckWorkerCount(1);
|
| - manager_->WorkerDestroyed(2, 5);
|
| - CheckWorkerCount(0);
|
| -}
|
| -
|
| -TEST_F(EmbeddedWorkerDevToolsManagerTest, ReattachTest) {
|
| - SharedWorkerInstance instance(GURL("http://example.com/w3.js"),
|
| - base::string16(),
|
| - base::string16(),
|
| - blink::WebContentSecurityPolicyTypeReport,
|
| - browser_context_->GetResourceContext(),
|
| - partition_id_);
|
| - scoped_ptr<TestDevToolsClientHost> client_host(new TestDevToolsClientHost());
|
| - // Created -> GetDevToolsAgentHost -> Register -> Destroyed
|
| - manager_->SharedWorkerCreated(3, 1, instance);
|
| - CheckWorkerState(3, 1, WorkerState::WORKER_UNINSPECTED);
|
| - scoped_refptr<DevToolsAgentHost> agent_host(
|
| - manager_->GetDevToolsAgentHostForWorker(3, 1));
|
| - EXPECT_TRUE(agent_host.get());
|
| - CheckWorkerState(3, 1, WorkerState::WORKER_UNINSPECTED);
|
| - client_host->InspectAgentHost(agent_host.get());
|
| - CheckWorkerState(3, 1, WorkerState::WORKER_INSPECTED);
|
| - manager_->WorkerDestroyed(3, 1);
|
| - CheckWorkerState(3, 1, WorkerState::WORKER_TERMINATED);
|
| - // ClientHostClosing -> Re-created -> release agent_host -> Destroyed
|
| - client_host->InspectAgentHost(NULL);
|
| - CheckWorkerState(3, 1, WorkerState::WORKER_TERMINATED);
|
| - manager_->SharedWorkerCreated(3, 2, instance);
|
| - CheckWorkerState(3, 2, WorkerState::WORKER_UNINSPECTED);
|
| - agent_host = NULL;
|
| - CheckWorkerState(3, 2, WorkerState::WORKER_UNINSPECTED);
|
| - manager_->WorkerDestroyed(3, 2);
|
| - CheckWorkerNotExist(3, 2);
|
| - CheckWorkerCount(0);
|
| -}
|
| -
|
| -} // namespace content
|
|
|