| Index: pkg/analysis_server/tool/instrumentation/page/page_writer.dart
|
| diff --git a/pkg/analysis_server/tool/instrumentation/page/page_writer.dart b/pkg/analysis_server/tool/instrumentation/page/page_writer.dart
|
| index bd7e7697044cffe61474def132ed6630f471ce7d..dca5673452bd49c916f3fb9fd3492dd089bbd300 100644
|
| --- a/pkg/analysis_server/tool/instrumentation/page/page_writer.dart
|
| +++ b/pkg/analysis_server/tool/instrumentation/page/page_writer.dart
|
| @@ -48,7 +48,11 @@ abstract class PageWriter {
|
| * Return an escaped version of the given [unsafe] text.
|
| */
|
| String escape(String unsafe) {
|
| - return htmlEscape.convert(unsafe);
|
| + // We double escape single quotes because the escaped characters are
|
| + // processed as part of reading the HTML, which means that single quotes
|
| + // end up terminating string literals too early when they appear in event
|
| + // handlers (which in turn leads to JavaScript syntax errors).
|
| + return htmlEscape.convert(unsafe).replaceAll(''', ''');
|
| }
|
|
|
| /**
|
| @@ -273,8 +277,8 @@ th.narrow {
|
| */
|
| void writeTwoColumns(StringSink sink, String leftColumnId,
|
| Writer writeLeftColumn, String rightColumnId, Writer writeRightColumn) {
|
| - sink.writeln('<div>');
|
| - sink.writeln(' <div>');
|
| + sink.writeln('<div id="container">');
|
| + sink.writeln(' <div id="content">');
|
| sink.writeln(' <div id="$leftColumnId">');
|
| sink.writeln(' <div class="inset">');
|
| writeLeftColumn(sink);
|
|
|