Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(116)

Unified Diff: content/browser/devtools/worker_devtools_agent_host.cc

Issue 2933243002: [DevTools] Make DevToolsSession own it's DevToolsMessageChunkProcessor (Closed)
Patch Set: addressed comments Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/browser/devtools/worker_devtools_agent_host.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/devtools/worker_devtools_agent_host.cc
diff --git a/content/browser/devtools/worker_devtools_agent_host.cc b/content/browser/devtools/worker_devtools_agent_host.cc
index c545a57113eccb58241b454df2a49e822d498120..bf2b04372c0968fd42efd8095a44bc468a7702b3 100644
--- a/content/browser/devtools/worker_devtools_agent_host.cc
+++ b/content/browser/devtools/worker_devtools_agent_host.cc
@@ -65,6 +65,7 @@ bool WorkerDevToolsAgentHost::DispatchProtocolMessage(
if (RenderProcessHost* host = RenderProcessHost::FromID(worker_id_.first)) {
host->Send(new DevToolsAgentMsg_DispatchOnInspectorBackend(
worker_id_.second, session->session_id(), call_id, method, message));
+ session->waiting_messages()[call_id] = {method, message};
}
return true;
}
@@ -102,9 +103,16 @@ void WorkerDevToolsAgentHost::WorkerReadyForInspection() {
state_ = WORKER_INSPECTED;
AttachToWorker();
if (RenderProcessHost* host = RenderProcessHost::FromID(worker_id_.first)) {
- host->Send(new DevToolsAgentMsg_Reattach(
- worker_id_.second, GetId(), session()->session_id(),
- chunk_processor_.state_cookie()));
+ host->Send(new DevToolsAgentMsg_Reattach(worker_id_.second, GetId(),
+ session()->session_id(),
+ session()->state_cookie()));
+ for (const auto& pair : session()->waiting_messages()) {
+ int call_id = pair.first;
+ const DevToolsSession::Message& message = pair.second;
+ host->Send(new DevToolsAgentMsg_DispatchOnInspectorBackend(
+ worker_id_.second, session()->session_id(), call_id, message.method,
+ message.message));
+ }
}
OnAttachedStateChanged(true);
} else if (state_ == WORKER_PAUSED_FOR_DEBUG_ON_START) {
@@ -137,8 +145,6 @@ bool WorkerDevToolsAgentHost::IsTerminated() {
WorkerDevToolsAgentHost::WorkerDevToolsAgentHost(WorkerId worker_id)
: DevToolsAgentHostImpl(base::GenerateGUID()),
- chunk_processor_(base::Bind(&WorkerDevToolsAgentHost::SendMessageToClient,
- base::Unretained(this))),
state_(WORKER_UNINSPECTED),
worker_id_(worker_id) {
WorkerCreated();
@@ -169,8 +175,7 @@ void WorkerDevToolsAgentHost::OnDispatchOnInspectorFrontend(
const DevToolsMessageChunk& message) {
if (!IsAttached())
return;
-
- chunk_processor_.ProcessChunkedMessageFromAgent(message);
+ session()->ReceiveMessageChunk(message);
}
} // namespace content
« no previous file with comments | « content/browser/devtools/worker_devtools_agent_host.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698