Chromium Code Reviews| Index: Source/core/inspector/InspectorFrontendHost.cpp |
| diff --git a/Source/core/inspector/InspectorFrontendHost.cpp b/Source/core/inspector/InspectorFrontendHost.cpp |
| index 04d53529857bf85a59f12195c2651b3a24ce445f..d80087eee5a20e0d283812c880571d2d99a7822c 100644 |
| --- a/Source/core/inspector/InspectorFrontendHost.cpp |
| +++ b/Source/core/inspector/InspectorFrontendHost.cpp |
| @@ -160,16 +160,33 @@ void InspectorFrontendHost::copyText(const String& text) |
| Pasteboard::generalPasteboard()->writePlainText(text, Pasteboard::CannotSmartReplace); |
| } |
| +static String escapeUnicodeNonCharacters(const String& str) |
| +{ |
| + StringBuilder dst; |
| + for (unsigned i = 0; i < str.length(); ++i) { |
| + UChar c = str[i]; |
| + if (c > 126) { |
|
alph
2014/03/05 09:01:54
126 seems to be too conservative. I'd suggest esca
yurys
2014/03/05 11:33:37
PTAL: https://codereview.chromium.org/180113008/
|
| + unsigned symbol = static_cast<unsigned>(c); |
| + String symbolCode = String::format("\\u%04X", symbol); |
| + dst.append(symbolCode); |
| + } else { |
| + dst.append(c); |
| + } |
| + |
| + } |
| + return dst.toString(); |
| +} |
| + |
| void InspectorFrontendHost::sendMessageToBackend(const String& message) |
| { |
| if (m_client) |
| - m_client->sendMessageToBackend(message); |
| + m_client->sendMessageToBackend(escapeUnicodeNonCharacters(message)); |
| } |
| void InspectorFrontendHost::sendMessageToEmbedder(const String& message) |
| { |
| if (m_client) |
| - m_client->sendMessageToEmbedder(message); |
| + m_client->sendMessageToEmbedder(escapeUnicodeNonCharacters(message)); |
| } |
| void InspectorFrontendHost::showContextMenu(Event* event, const Vector<ContextMenuItem>& items) |