| Index: content/browser/devtools/devtools_agent_host_impl.cc
|
| diff --git a/content/browser/devtools/devtools_agent_host_impl.cc b/content/browser/devtools/devtools_agent_host_impl.cc
|
| index 1c7f9a641a74442f6a45f90ea00acce50375067a..109dccd0976b10575a2da8af4ef673ccac31e8f5 100644
|
| --- a/content/browser/devtools/devtools_agent_host_impl.cc
|
| +++ b/content/browser/devtools/devtools_agent_host_impl.cc
|
| @@ -287,7 +287,7 @@ DevToolsMessageChunkProcessor::DevToolsMessageChunkProcessor(
|
| DevToolsMessageChunkProcessor::~DevToolsMessageChunkProcessor() {
|
| }
|
|
|
| -void DevToolsMessageChunkProcessor::ProcessChunkedMessageFromAgent(
|
| +bool DevToolsMessageChunkProcessor::ProcessChunkedMessageFromAgent(
|
| const DevToolsMessageChunk& chunk) {
|
| if (chunk.is_last && !chunk.post_state.empty())
|
| state_cookie_ = chunk.post_state;
|
| @@ -295,9 +295,10 @@ void DevToolsMessageChunkProcessor::ProcessChunkedMessageFromAgent(
|
| last_call_id_ = chunk.call_id;
|
|
|
| if (chunk.is_first && chunk.is_last) {
|
| - CHECK(message_buffer_size_ == 0);
|
| + if (message_buffer_size_ != 0)
|
| + return false;
|
| callback_.Run(chunk.session_id, chunk.data);
|
| - return;
|
| + return true;
|
| }
|
|
|
| if (chunk.is_first) {
|
| @@ -306,16 +307,18 @@ void DevToolsMessageChunkProcessor::ProcessChunkedMessageFromAgent(
|
| message_buffer_size_ = chunk.message_size;
|
| }
|
|
|
| - CHECK(message_buffer_.size() + chunk.data.size() <=
|
| - message_buffer_size_);
|
| + if (message_buffer_.size() + chunk.data.size() > message_buffer_size_)
|
| + return false;
|
| message_buffer_.append(chunk.data);
|
|
|
| if (chunk.is_last) {
|
| - CHECK(message_buffer_.size() == message_buffer_size_);
|
| + if (message_buffer_.size() != message_buffer_size_)
|
| + return false;
|
| callback_.Run(chunk.session_id, message_buffer_);
|
| message_buffer_ = std::string();
|
| message_buffer_size_ = 0;
|
| }
|
| + return true;
|
| }
|
|
|
| } // namespace content
|
|
|