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

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

Issue 2198503002: DevTools: do not CHECK devtools messages received from renderer in the browser, issue bad_message i… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebaselined Created 4 years, 5 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/devtools_agent_host_impl.cc ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/devtools/render_frame_devtools_agent_host.cc
diff --git a/content/browser/devtools/render_frame_devtools_agent_host.cc b/content/browser/devtools/render_frame_devtools_agent_host.cc
index 58cedae3a76631ae1a7d9d852cd9c29ea7ea09f7..b3391d967dce2ba69c0317ebb67eaf6250199188 100644
--- a/content/browser/devtools/render_frame_devtools_agent_host.cc
+++ b/content/browser/devtools/render_frame_devtools_agent_host.cc
@@ -10,6 +10,7 @@
#include "base/lazy_instance.h"
#include "base/strings/utf_string_conversions.h"
#include "build/build_config.h"
+#include "content/browser/bad_message.h"
#include "content/browser/child_process_security_policy_impl.h"
#include "content/browser/devtools/devtools_frame_trace_recorder.h"
#include "content/browser/devtools/devtools_protocol_handler.h"
@@ -105,7 +106,7 @@ class RenderFrameDevToolsAgentHost::FrameHostHolder {
const std::string& method,
const std::string& message);
void InspectElement(int session_id, int x, int y);
- void ProcessChunkedMessageFromAgent(const DevToolsMessageChunk& chunk);
+ bool ProcessChunkedMessageFromAgent(const DevToolsMessageChunk& chunk);
void Suspend();
void Resume();
@@ -217,10 +218,10 @@ void RenderFrameDevToolsAgentHost::FrameHostHolder::InspectElement(
host_->GetRoutingID(), session_id, x, y));
}
-void
+bool
RenderFrameDevToolsAgentHost::FrameHostHolder::ProcessChunkedMessageFromAgent(
const DevToolsMessageChunk& chunk) {
- chunk_processor_.ProcessChunkedMessageFromAgent(chunk);
+ return chunk_processor_.ProcessChunkedMessageFromAgent(chunk);
}
void RenderFrameDevToolsAgentHost::FrameHostHolder::SendMessageToClient(
@@ -915,10 +916,16 @@ void RenderFrameDevToolsAgentHost::SynchronousSwapCompositorFrame(
void RenderFrameDevToolsAgentHost::OnDispatchOnInspectorFrontend(
RenderFrameHost* sender,
const DevToolsMessageChunk& message) {
+ bool success = true;
if (current_ && current_->host() == sender)
- current_->ProcessChunkedMessageFromAgent(message);
+ success = current_->ProcessChunkedMessageFromAgent(message);
else if (pending_ && pending_->host() == sender)
- pending_->ProcessChunkedMessageFromAgent(message);
+ success = pending_->ProcessChunkedMessageFromAgent(message);
+ if (!success) {
+ bad_message::ReceivedBadMessage(
+ sender->GetProcess(),
+ bad_message::RFH_INCONSISTENT_DEVTOOLS_MESSAGE);
+ }
}
void RenderFrameDevToolsAgentHost::OnRequestNewWindow(
« no previous file with comments | « content/browser/devtools/devtools_agent_host_impl.cc ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698