| Index: content/shell/browser/shell_devtools_frontend.cc
|
| diff --git a/content/shell/browser/shell_devtools_frontend.cc b/content/shell/browser/shell_devtools_frontend.cc
|
| index 0dea6a16b5567df25149282e255cd437ed3a6145..ced3be73dc9b5585031a5988af1f48b13bb374c3 100644
|
| --- a/content/shell/browser/shell_devtools_frontend.cc
|
| +++ b/content/shell/browser/shell_devtools_frontend.cc
|
| @@ -100,7 +100,8 @@ int ResponseWriter::Finish(const net::CompletionCallback& callback) {
|
|
|
| // This constant should be in sync with
|
| // the constant at devtools_ui_bindings.cc.
|
| -const size_t kMaxMessageChunkSize = IPC::Channel::kMaximumMessageSize / 4;
|
| +const size_t kMaxMessageChunkSize =
|
| + std::min(IPC::Channel::kMaximumMessageSize / 4, 20480ul);
|
|
|
| // static
|
| ShellDevToolsFrontend* ShellDevToolsFrontend::Show(
|
| @@ -276,12 +277,13 @@ void ShellDevToolsFrontend::DispatchProtocolMessage(
|
| return;
|
| }
|
|
|
| - base::FundamentalValue total_size(static_cast<int>(message.length()));
|
| + size_t total_size = message.length();
|
| for (size_t pos = 0; pos < message.length(); pos += kMaxMessageChunkSize) {
|
| std::string param;
|
| base::JSONWriter::Write(
|
| base::StringValue(message.substr(pos, kMaxMessageChunkSize)), ¶m);
|
| - std::string code = "DevToolsAPI.dispatchMessageChunk(" + param + ");";
|
| + std::string code = "DevToolsAPI.dispatchMessageChunk(" + param + "," +
|
| + std::to_string(pos ? 0 : total_size) + ");";
|
| base::string16 javascript = base::UTF8ToUTF16(code);
|
| web_contents()->GetMainFrame()->ExecuteJavaScriptForTests(javascript);
|
| }
|
|
|