Chromium Code Reviews| 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..c07f436b6cd6b567f7d7d94b7576ff401aa20d41 100644 |
| --- a/content/shell/browser/shell_devtools_frontend.cc |
| +++ b/content/shell/browser/shell_devtools_frontend.cc |
| @@ -270,18 +270,21 @@ void ShellDevToolsFrontend::DispatchProtocolMessage( |
| DevToolsAgentHost* agent_host, const std::string& message) { |
| if (message.length() < kMaxMessageChunkSize) { |
| - base::string16 javascript = base::UTF8ToUTF16( |
| - "DevToolsAPI.dispatchMessage(" + message + ");"); |
| + std::string param; |
| + base::JSONWriter::Write(base::StringValue(message), ¶m); |
|
pfeldman
2016/05/28 02:26:03
EscapeJSONString
alph
2016/05/28 02:37:03
Done.
|
| + std::string code = "DevToolsAPI.dispatchMessage(" + param + ");"; |
| + base::string16 javascript = base::UTF8ToUTF16(code); |
| web_contents()->GetMainFrame()->ExecuteJavaScriptForTests(javascript); |
| 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); |
| } |