Commit ff61d987 authored by Dmitry Gozman's avatar Dmitry Gozman Committed by Commit Bot

[DevTools] Remove more route_id usages for shared workers

This is a preparation step to migrate DevTools for shared workers to Mojo.

Bug: 776009
Change-Id: I3960cb7ae593f5c46ef8b28b2c70b6b5d2a2e722
Reviewed-on: https://chromium-review.googlesource.com/777746
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: default avatarAlexei Filippov <alph@chromium.org>
Cr-Commit-Position: refs/heads/master@{#517900}
parent 19d06d49
...@@ -397,14 +397,6 @@ void ServiceWorkerHandler::OnWorkerVersionUpdated( ...@@ -397,14 +397,6 @@ void ServiceWorkerHandler::OnWorkerVersionUpdated(
continue; continue;
client_set.insert( client_set.insert(
DevToolsAgentHost::GetOrCreateFor(web_contents)->GetId()); DevToolsAgentHost::GetOrCreateFor(web_contents)->GetId());
} else if (client.second.type ==
SERVICE_WORKER_PROVIDER_FOR_SHARED_WORKER) {
scoped_refptr<DevToolsAgentHost> agent_host(
SharedWorkerDevToolsManager::GetInstance()
->GetDevToolsAgentHostForWorker(client.second.process_id,
client.second.route_id));
if (agent_host)
client_set.insert(agent_host->GetId());
} }
} }
std::unique_ptr<protocol::Array<std::string>> clients = std::unique_ptr<protocol::Array<std::string>> clients =
......
...@@ -16,15 +16,6 @@ SharedWorkerDevToolsManager* SharedWorkerDevToolsManager::GetInstance() { ...@@ -16,15 +16,6 @@ SharedWorkerDevToolsManager* SharedWorkerDevToolsManager::GetInstance() {
return base::Singleton<SharedWorkerDevToolsManager>::get(); return base::Singleton<SharedWorkerDevToolsManager>::get();
} }
DevToolsAgentHostImpl*
SharedWorkerDevToolsManager::GetDevToolsAgentHostForWorker(
int worker_process_id,
int worker_route_id) {
AgentHostMap::iterator it = workers_.find(
WorkerId(worker_process_id, worker_route_id));
return it == workers_.end() ? NULL : it->second;
}
void SharedWorkerDevToolsManager::AddAllAgentHosts( void SharedWorkerDevToolsManager::AddAllAgentHosts(
SharedWorkerDevToolsAgentHost::List* result) { SharedWorkerDevToolsAgentHost::List* result) {
for (auto& worker : workers_) { for (auto& worker : workers_) {
......
...@@ -14,7 +14,6 @@ ...@@ -14,7 +14,6 @@
namespace content { namespace content {
class DevToolsAgentHostImpl;
class SharedWorkerDevToolsAgentHost; class SharedWorkerDevToolsAgentHost;
class SharedWorkerInstance; class SharedWorkerInstance;
...@@ -27,8 +26,6 @@ class CONTENT_EXPORT SharedWorkerDevToolsManager { ...@@ -27,8 +26,6 @@ class CONTENT_EXPORT SharedWorkerDevToolsManager {
// Returns the SharedWorkerDevToolsManager singleton. // Returns the SharedWorkerDevToolsManager singleton.
static SharedWorkerDevToolsManager* GetInstance(); static SharedWorkerDevToolsManager* GetInstance();
DevToolsAgentHostImpl* GetDevToolsAgentHostForWorker(int worker_process_id,
int worker_route_id);
void AddAllAgentHosts( void AddAllAgentHosts(
std::vector<scoped_refptr<SharedWorkerDevToolsAgentHost>>* result); std::vector<scoped_refptr<SharedWorkerDevToolsAgentHost>>* result);
......
...@@ -76,24 +76,30 @@ class SharedWorkerDevToolsManagerTest : public testing::Test { ...@@ -76,24 +76,30 @@ class SharedWorkerDevToolsManagerTest : public testing::Test {
void CheckWorkerState(int worker_process_id, void CheckWorkerState(int worker_process_id,
int worker_route_id, int worker_route_id,
WorkerState state) { WorkerState state) {
const SharedWorkerDevToolsManager::WorkerId id(worker_process_id, SharedWorkerDevToolsAgentHost* host =
worker_route_id); GetDevToolsAgentHostForWorker(worker_process_id, worker_route_id);
SharedWorkerDevToolsManager::AgentHostMap::iterator it = EXPECT_TRUE(!!host);
manager_->workers_.find(id); EXPECT_EQ(state, host->state_);
EXPECT_TRUE(manager_->workers_.end() != it);
EXPECT_EQ(state, it->second->state_);
} }
void CheckWorkerNotExist(int worker_process_id, int worker_route_id) { void CheckWorkerNotExist(int worker_process_id, int worker_route_id) {
const SharedWorkerDevToolsManager::WorkerId id(worker_process_id, EXPECT_TRUE(
worker_route_id); !GetDevToolsAgentHostForWorker(worker_process_id, worker_route_id));
EXPECT_TRUE(manager_->workers_.end() == manager_->workers_.find(id));
} }
void CheckWorkerCount(size_t size) { void CheckWorkerCount(size_t size) {
EXPECT_EQ(size, manager_->workers_.size()); EXPECT_EQ(size, manager_->workers_.size());
} }
SharedWorkerDevToolsAgentHost* GetDevToolsAgentHostForWorker(
int worker_process_id,
int worker_route_id) {
const SharedWorkerDevToolsManager::WorkerId id(worker_process_id,
worker_route_id);
auto it = manager_->workers_.find(id);
return it == manager_->workers_.end() ? nullptr : it->second;
}
TestBrowserThreadBundle browser_thread_bundle_; TestBrowserThreadBundle browser_thread_bundle_;
std::unique_ptr<TestBrowserContext> browser_context_; std::unique_ptr<TestBrowserContext> browser_context_;
std::unique_ptr<WorkerStoragePartition> partition_; std::unique_ptr<WorkerStoragePartition> partition_;
...@@ -111,7 +117,7 @@ TEST_F(SharedWorkerDevToolsManagerTest, BasicTest) { ...@@ -111,7 +117,7 @@ TEST_F(SharedWorkerDevToolsManagerTest, BasicTest) {
blink::mojom::SharedWorkerCreationContextType::kNonsecure, blink::mojom::SharedWorkerCreationContextType::kNonsecure,
base::UnguessableToken::Create()); base::UnguessableToken::Create());
agent_host = manager_->GetDevToolsAgentHostForWorker(1, 1); agent_host = GetDevToolsAgentHostForWorker(1, 1);
EXPECT_FALSE(agent_host.get()); EXPECT_FALSE(agent_host.get());
// Created -> Started -> Destroyed // Created -> Started -> Destroyed
...@@ -127,10 +133,10 @@ TEST_F(SharedWorkerDevToolsManagerTest, BasicTest) { ...@@ -127,10 +133,10 @@ TEST_F(SharedWorkerDevToolsManagerTest, BasicTest) {
CheckWorkerNotExist(1, 2); CheckWorkerNotExist(1, 2);
manager_->WorkerCreated(1, 2, instance1); manager_->WorkerCreated(1, 2, instance1);
CheckWorkerState(1, 2, WorkerState::WORKER_UNINSPECTED); CheckWorkerState(1, 2, WorkerState::WORKER_UNINSPECTED);
agent_host = manager_->GetDevToolsAgentHostForWorker(1, 2); agent_host = GetDevToolsAgentHostForWorker(1, 2);
EXPECT_TRUE(agent_host.get()); EXPECT_TRUE(agent_host.get());
CheckWorkerState(1, 2, WorkerState::WORKER_UNINSPECTED); CheckWorkerState(1, 2, WorkerState::WORKER_UNINSPECTED);
EXPECT_EQ(agent_host.get(), manager_->GetDevToolsAgentHostForWorker(1, 2)); EXPECT_EQ(agent_host.get(), GetDevToolsAgentHostForWorker(1, 2));
manager_->WorkerReadyForInspection(1, 2); manager_->WorkerReadyForInspection(1, 2);
CheckWorkerState(1, 2, WorkerState::WORKER_UNINSPECTED); CheckWorkerState(1, 2, WorkerState::WORKER_UNINSPECTED);
manager_->WorkerDestroyed(1, 2); manager_->WorkerDestroyed(1, 2);
...@@ -144,7 +150,7 @@ TEST_F(SharedWorkerDevToolsManagerTest, BasicTest) { ...@@ -144,7 +150,7 @@ TEST_F(SharedWorkerDevToolsManagerTest, BasicTest) {
CheckWorkerState(1, 3, WorkerState::WORKER_UNINSPECTED); CheckWorkerState(1, 3, WorkerState::WORKER_UNINSPECTED);
manager_->WorkerReadyForInspection(1, 3); manager_->WorkerReadyForInspection(1, 3);
CheckWorkerState(1, 3, WorkerState::WORKER_UNINSPECTED); CheckWorkerState(1, 3, WorkerState::WORKER_UNINSPECTED);
agent_host = manager_->GetDevToolsAgentHostForWorker(1, 3); agent_host = GetDevToolsAgentHostForWorker(1, 3);
EXPECT_TRUE(agent_host.get()); EXPECT_TRUE(agent_host.get());
CheckWorkerState(1, 3, WorkerState::WORKER_UNINSPECTED); CheckWorkerState(1, 3, WorkerState::WORKER_UNINSPECTED);
manager_->WorkerDestroyed(1, 3); manager_->WorkerDestroyed(1, 3);
...@@ -163,7 +169,7 @@ TEST_F(SharedWorkerDevToolsManagerTest, BasicTest) { ...@@ -163,7 +169,7 @@ TEST_F(SharedWorkerDevToolsManagerTest, BasicTest) {
CheckWorkerNotExist(1, 5); CheckWorkerNotExist(1, 5);
manager_->WorkerCreated(1, 5, instance1); manager_->WorkerCreated(1, 5, instance1);
CheckWorkerState(1, 5, WorkerState::WORKER_UNINSPECTED); CheckWorkerState(1, 5, WorkerState::WORKER_UNINSPECTED);
agent_host = manager_->GetDevToolsAgentHostForWorker(1, 5); agent_host = GetDevToolsAgentHostForWorker(1, 5);
EXPECT_TRUE(agent_host.get()); EXPECT_TRUE(agent_host.get());
CheckWorkerState(1, 5, WorkerState::WORKER_UNINSPECTED); CheckWorkerState(1, 5, WorkerState::WORKER_UNINSPECTED);
manager_->WorkerDestroyed(1, 5); manager_->WorkerDestroyed(1, 5);
...@@ -175,7 +181,7 @@ TEST_F(SharedWorkerDevToolsManagerTest, BasicTest) { ...@@ -175,7 +181,7 @@ TEST_F(SharedWorkerDevToolsManagerTest, BasicTest) {
CheckWorkerNotExist(1, 6); CheckWorkerNotExist(1, 6);
manager_->WorkerCreated(1, 6, instance1); manager_->WorkerCreated(1, 6, instance1);
CheckWorkerState(1, 6, WorkerState::WORKER_UNINSPECTED); CheckWorkerState(1, 6, WorkerState::WORKER_UNINSPECTED);
agent_host = manager_->GetDevToolsAgentHostForWorker(1, 6); agent_host = GetDevToolsAgentHostForWorker(1, 6);
EXPECT_TRUE(agent_host.get()); EXPECT_TRUE(agent_host.get());
CheckWorkerState(1, 6, WorkerState::WORKER_UNINSPECTED); CheckWorkerState(1, 6, WorkerState::WORKER_UNINSPECTED);
agent_host = nullptr; agent_host = nullptr;
...@@ -206,17 +212,17 @@ TEST_F(SharedWorkerDevToolsManagerTest, AttachTest) { ...@@ -206,17 +212,17 @@ TEST_F(SharedWorkerDevToolsManagerTest, AttachTest) {
CheckWorkerNotExist(2, 1); CheckWorkerNotExist(2, 1);
manager_->WorkerCreated(2, 1, instance1); manager_->WorkerCreated(2, 1, instance1);
CheckWorkerState(2, 1, WorkerState::WORKER_UNINSPECTED); CheckWorkerState(2, 1, WorkerState::WORKER_UNINSPECTED);
agent_host1 = manager_->GetDevToolsAgentHostForWorker(2, 1); agent_host1 = GetDevToolsAgentHostForWorker(2, 1);
EXPECT_TRUE(agent_host1.get()); EXPECT_TRUE(agent_host1.get());
CheckWorkerState(2, 1, WorkerState::WORKER_UNINSPECTED); CheckWorkerState(2, 1, WorkerState::WORKER_UNINSPECTED);
EXPECT_EQ(agent_host1.get(), manager_->GetDevToolsAgentHostForWorker(2, 1)); EXPECT_EQ(agent_host1.get(), GetDevToolsAgentHostForWorker(2, 1));
client_host1->InspectAgentHost(agent_host1.get()); client_host1->InspectAgentHost(agent_host1.get());
CheckWorkerState(2, 1, WorkerState::WORKER_INSPECTED); CheckWorkerState(2, 1, WorkerState::WORKER_INSPECTED);
manager_->WorkerReadyForInspection(2, 1); manager_->WorkerReadyForInspection(2, 1);
CheckWorkerState(2, 1, WorkerState::WORKER_INSPECTED); CheckWorkerState(2, 1, WorkerState::WORKER_INSPECTED);
manager_->WorkerDestroyed(2, 1); manager_->WorkerDestroyed(2, 1);
CheckWorkerState(2, 1, WorkerState::WORKER_TERMINATED); CheckWorkerState(2, 1, WorkerState::WORKER_TERMINATED);
EXPECT_EQ(agent_host1.get(), manager_->GetDevToolsAgentHostForWorker(2, 1)); EXPECT_EQ(agent_host1.get(), GetDevToolsAgentHostForWorker(2, 1));
// Created -> Started -> GetDevToolsAgentHost -> Register -> Destroyed // Created -> Started -> GetDevToolsAgentHost -> Register -> Destroyed
std::unique_ptr<TestDevToolsClientHost> client_host2( std::unique_ptr<TestDevToolsClientHost> client_host2(
...@@ -225,23 +231,23 @@ TEST_F(SharedWorkerDevToolsManagerTest, AttachTest) { ...@@ -225,23 +231,23 @@ TEST_F(SharedWorkerDevToolsManagerTest, AttachTest) {
CheckWorkerState(2, 2, WorkerState::WORKER_UNINSPECTED); CheckWorkerState(2, 2, WorkerState::WORKER_UNINSPECTED);
manager_->WorkerReadyForInspection(2, 2); manager_->WorkerReadyForInspection(2, 2);
CheckWorkerState(2, 2, WorkerState::WORKER_UNINSPECTED); CheckWorkerState(2, 2, WorkerState::WORKER_UNINSPECTED);
agent_host2 = manager_->GetDevToolsAgentHostForWorker(2, 2); agent_host2 = GetDevToolsAgentHostForWorker(2, 2);
EXPECT_TRUE(agent_host2.get()); EXPECT_TRUE(agent_host2.get());
EXPECT_NE(agent_host1.get(), agent_host2.get()); EXPECT_NE(agent_host1.get(), agent_host2.get());
EXPECT_EQ(agent_host2.get(), manager_->GetDevToolsAgentHostForWorker(2, 2)); EXPECT_EQ(agent_host2.get(), GetDevToolsAgentHostForWorker(2, 2));
CheckWorkerState(2, 2, WorkerState::WORKER_UNINSPECTED); CheckWorkerState(2, 2, WorkerState::WORKER_UNINSPECTED);
client_host2->InspectAgentHost(agent_host2.get()); client_host2->InspectAgentHost(agent_host2.get());
CheckWorkerState(2, 2, WorkerState::WORKER_INSPECTED); CheckWorkerState(2, 2, WorkerState::WORKER_INSPECTED);
manager_->WorkerDestroyed(2, 2); manager_->WorkerDestroyed(2, 2);
CheckWorkerState(2, 2, WorkerState::WORKER_TERMINATED); CheckWorkerState(2, 2, WorkerState::WORKER_TERMINATED);
EXPECT_EQ(agent_host2.get(), manager_->GetDevToolsAgentHostForWorker(2, 2)); EXPECT_EQ(agent_host2.get(), GetDevToolsAgentHostForWorker(2, 2));
// Re-created -> Started -> ClientHostClosing -> Destroyed // Re-created -> Started -> ClientHostClosing -> Destroyed
CheckWorkerState(2, 1, WorkerState::WORKER_TERMINATED); CheckWorkerState(2, 1, WorkerState::WORKER_TERMINATED);
manager_->WorkerCreated(2, 3, instance1); manager_->WorkerCreated(2, 3, instance1);
CheckWorkerNotExist(2, 1); CheckWorkerNotExist(2, 1);
CheckWorkerState(2, 3, WorkerState::WORKER_PAUSED_FOR_REATTACH); CheckWorkerState(2, 3, WorkerState::WORKER_PAUSED_FOR_REATTACH);
EXPECT_EQ(agent_host1.get(), manager_->GetDevToolsAgentHostForWorker(2, 3)); EXPECT_EQ(agent_host1.get(), GetDevToolsAgentHostForWorker(2, 3));
manager_->WorkerReadyForInspection(2, 3); manager_->WorkerReadyForInspection(2, 3);
CheckWorkerState(2, 3, WorkerState::WORKER_INSPECTED); CheckWorkerState(2, 3, WorkerState::WORKER_INSPECTED);
client_host1->InspectAgentHost(nullptr); client_host1->InspectAgentHost(nullptr);
...@@ -255,7 +261,7 @@ TEST_F(SharedWorkerDevToolsManagerTest, AttachTest) { ...@@ -255,7 +261,7 @@ TEST_F(SharedWorkerDevToolsManagerTest, AttachTest) {
manager_->WorkerCreated(2, 4, instance2); manager_->WorkerCreated(2, 4, instance2);
CheckWorkerNotExist(2, 2); CheckWorkerNotExist(2, 2);
CheckWorkerState(2, 4, WorkerState::WORKER_PAUSED_FOR_REATTACH); CheckWorkerState(2, 4, WorkerState::WORKER_PAUSED_FOR_REATTACH);
EXPECT_EQ(agent_host2.get(), manager_->GetDevToolsAgentHostForWorker(2, 4)); EXPECT_EQ(agent_host2.get(), GetDevToolsAgentHostForWorker(2, 4));
manager_->WorkerDestroyed(2, 4); manager_->WorkerDestroyed(2, 4);
CheckWorkerNotExist(2, 2); CheckWorkerNotExist(2, 2);
CheckWorkerState(2, 4, WorkerState::WORKER_TERMINATED); CheckWorkerState(2, 4, WorkerState::WORKER_TERMINATED);
...@@ -264,7 +270,7 @@ TEST_F(SharedWorkerDevToolsManagerTest, AttachTest) { ...@@ -264,7 +270,7 @@ TEST_F(SharedWorkerDevToolsManagerTest, AttachTest) {
manager_->WorkerCreated(2, 5, instance2); manager_->WorkerCreated(2, 5, instance2);
CheckWorkerNotExist(2, 2); CheckWorkerNotExist(2, 2);
CheckWorkerState(2, 5, WorkerState::WORKER_PAUSED_FOR_REATTACH); CheckWorkerState(2, 5, WorkerState::WORKER_PAUSED_FOR_REATTACH);
EXPECT_EQ(agent_host2.get(), manager_->GetDevToolsAgentHostForWorker(2, 5)); EXPECT_EQ(agent_host2.get(), GetDevToolsAgentHostForWorker(2, 5));
client_host2->InspectAgentHost(nullptr); client_host2->InspectAgentHost(nullptr);
CheckWorkerCount(1); CheckWorkerCount(1);
agent_host2 = nullptr; agent_host2 = nullptr;
...@@ -286,7 +292,7 @@ TEST_F(SharedWorkerDevToolsManagerTest, ReattachTest) { ...@@ -286,7 +292,7 @@ TEST_F(SharedWorkerDevToolsManagerTest, ReattachTest) {
manager_->WorkerCreated(3, 1, instance); manager_->WorkerCreated(3, 1, instance);
CheckWorkerState(3, 1, WorkerState::WORKER_UNINSPECTED); CheckWorkerState(3, 1, WorkerState::WORKER_UNINSPECTED);
scoped_refptr<DevToolsAgentHost> agent_host( scoped_refptr<DevToolsAgentHost> agent_host(
manager_->GetDevToolsAgentHostForWorker(3, 1)); GetDevToolsAgentHostForWorker(3, 1));
EXPECT_TRUE(agent_host.get()); EXPECT_TRUE(agent_host.get());
CheckWorkerState(3, 1, WorkerState::WORKER_UNINSPECTED); CheckWorkerState(3, 1, WorkerState::WORKER_UNINSPECTED);
client_host->InspectAgentHost(agent_host.get()); client_host->InspectAgentHost(agent_host.get());
...@@ -316,9 +322,8 @@ TEST_F(SharedWorkerDevToolsManagerTest, PauseOnStartTest) { ...@@ -316,9 +322,8 @@ TEST_F(SharedWorkerDevToolsManagerTest, PauseOnStartTest) {
new TestDevToolsClientHost()); new TestDevToolsClientHost());
manager_->WorkerCreated(3, 1, instance); manager_->WorkerCreated(3, 1, instance);
CheckWorkerState(3, 1, WorkerState::WORKER_UNINSPECTED); CheckWorkerState(3, 1, WorkerState::WORKER_UNINSPECTED);
scoped_refptr<WorkerDevToolsAgentHost> agent_host( scoped_refptr<SharedWorkerDevToolsAgentHost> agent_host(
static_cast<WorkerDevToolsAgentHost*>( GetDevToolsAgentHostForWorker(3, 1));
manager_->GetDevToolsAgentHostForWorker(3, 1)));
EXPECT_TRUE(agent_host.get()); EXPECT_TRUE(agent_host.get());
CheckWorkerState(3, 1, WorkerState::WORKER_UNINSPECTED); CheckWorkerState(3, 1, WorkerState::WORKER_UNINSPECTED);
agent_host->PauseForDebugOnStart(); agent_host->PauseForDebugOnStart();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment