Commit 3f936360 authored by Andrey Kosyakov's avatar Andrey Kosyakov Committed by Commit Bot

Make session set in DevToolsAgentHost a vector

We want to maintain a deterministic order of agent enumeration.

Change-Id: Iac18573342cfb3cc6dbff305b0d64cfd00a13b78
Reviewed-on: https://chromium-review.googlesource.com/c/1287096Reviewed-by: default avatarDmitry Gozman <dgozman@chromium.org>
Commit-Queue: Andrey Kosyakov <caseq@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600803}
parent 834490b7
...@@ -183,7 +183,7 @@ bool DevToolsAgentHostImpl::InnerAttachClient(DevToolsAgentHostClient* client, ...@@ -183,7 +183,7 @@ bool DevToolsAgentHostImpl::InnerAttachClient(DevToolsAgentHostClient* client,
if (!AttachSession(session.get(), registry)) if (!AttachSession(session.get(), registry))
return false; return false;
renderer_channel_.AttachSession(session.get()); renderer_channel_.AttachSession(session.get());
sessions_.insert(session.get()); sessions_.push_back(session.get());
session_by_client_[client] = std::move(session); session_by_client_[client] = std::move(session);
if (sessions_.size() == 1) if (sessions_.size() == 1)
NotifyAttached(); NotifyAttached();
...@@ -240,7 +240,8 @@ void DevToolsAgentHostImpl::InnerDetachClient(DevToolsAgentHostClient* client) { ...@@ -240,7 +240,8 @@ void DevToolsAgentHostImpl::InnerDetachClient(DevToolsAgentHostClient* client) {
std::move(session_by_client_[client]); std::move(session_by_client_[client]);
// Make sure we dispose session prior to reporting it to the host. // Make sure we dispose session prior to reporting it to the host.
session->Dispose(); session->Dispose();
sessions_.erase(session.get()); sessions_.erase(
std::remove(sessions_.begin(), sessions_.end(), session.get()));
session_by_client_.erase(client); session_by_client_.erase(client);
DetachSession(session.get()); DetachSession(session.get());
DevToolsManager* manager = DevToolsManager::GetInstance(); DevToolsManager* manager = DevToolsManager::GetInstance();
......
...@@ -97,7 +97,7 @@ class CONTENT_EXPORT DevToolsAgentHostImpl : public DevToolsAgentHost { ...@@ -97,7 +97,7 @@ class CONTENT_EXPORT DevToolsAgentHostImpl : public DevToolsAgentHost {
DevToolsIOContext* GetIOContext() { return &io_context_; } DevToolsIOContext* GetIOContext() { return &io_context_; }
DevToolsRendererChannel* GetRendererChannel() { return &renderer_channel_; } DevToolsRendererChannel* GetRendererChannel() { return &renderer_channel_; }
base::flat_set<DevToolsSession*>& sessions() { return sessions_; } const std::vector<DevToolsSession*>& sessions() const { return sessions_; }
private: private:
friend class DevToolsAgentHost; // for static methods friend class DevToolsAgentHost; // for static methods
...@@ -117,7 +117,7 @@ class CONTENT_EXPORT DevToolsAgentHostImpl : public DevToolsAgentHost { ...@@ -117,7 +117,7 @@ class CONTENT_EXPORT DevToolsAgentHostImpl : public DevToolsAgentHost {
TargetRegistry* registry); TargetRegistry* registry);
const std::string id_; const std::string id_;
base::flat_set<DevToolsSession*> sessions_; std::vector<DevToolsSession*> sessions_;
base::flat_map<DevToolsAgentHostClient*, std::unique_ptr<DevToolsSession>> base::flat_map<DevToolsAgentHostClient*, std::unique_ptr<DevToolsSession>>
session_by_client_; session_by_client_;
DevToolsIOContext io_context_; DevToolsIOContext io_context_;
......
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