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

Unified Diff: runtime/bin/vmservice/observatory/lib/src/elements/observatory_element.dart

Issue 558853004: Preserve the contents of Dart strings with unmatched surrogate halfs by avoiding a UTF16 -> UTF8 (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: sync and build Created 6 years, 3 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
Index: runtime/bin/vmservice/observatory/lib/src/elements/observatory_element.dart
diff --git a/runtime/bin/vmservice/observatory/lib/src/elements/observatory_element.dart b/runtime/bin/vmservice/observatory/lib/src/elements/observatory_element.dart
index 1141def5ee66e662aae0a149a9601f220a167931..43a4b5b5c95ea78b9b75910171dacd93f52d51cb 100644
--- a/runtime/bin/vmservice/observatory/lib/src/elements/observatory_element.dart
+++ b/runtime/bin/vmservice/observatory/lib/src/elements/observatory_element.dart
@@ -125,8 +125,10 @@ class ObservatoryElement extends PolymerElement {
else if (codeUnit == '\$'.codeUnitAt(0)) result.addAll('\\\$'.codeUnits);
else if (codeUnit == '\\'.codeUnitAt(0)) result.addAll('\\\\'.codeUnits);
else if (codeUnit == "'".codeUnitAt(0)) result.addAll("'".codeUnits);
- else if (codeUnit < 32) result.addAll("\\u$codeUnit".codeUnits);
- else result.add(codeUnit);
+ else if (codeUnit < 32) {
+ var escapeSequence = "\\u" + codeUnit.toRadixString(16).padLeft(4, "0");
+ result.addAll(escapeSequence.codeUnits);
+ } else result.add(codeUnit);
}
if (wasTruncated) {
result.addAll("...".codeUnits);

Powered by Google App Engine
This is Rietveld 408576698