Commit 7b8d8e9a authored by Leszek Swirski's avatar Leszek Swirski Committed by Commit Bot

[turbolizer] Use textContent to set code view

Previously code view was set using innerHTML. This would cause problems
for html characters in the code -- in particular, '<' without a space
after it would start new HTML tags, and the code following it wouldn't
be visible.

Now, the source text is set using textContent, which doesn't parse the
value as HTML and implicitly escapes any HTML characters in the code.

Change-Id: I612a18c37bbb4da6a87063bb39d7f7123a3c4c0d
Reviewed-on: https://chromium-review.googlesource.com/461826Reviewed-by: 's avatarDaniel Clifford <danno@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44233}
parent 151cad81
......@@ -122,13 +122,13 @@ class CodeView extends View {
initializeCode(sourceText, sourcePosition) {
var view = this;
if (sourceText == "") {
var newHtml = "<pre class=\"prettyprint\"</pre>";
view.divNode.innerHTML = newHtml;
} else {
var newHtml =
"<pre class=\"prettyprint linenums\">" + sourceText + "</pre>";
view.divNode.innerHTML = newHtml;
var codePre = document.createElement("pre");
codePre.classList.add("prettyprint");
view.divNode.innerHTML = "";
view.divNode.appendChild(codePre);
if (sourceText != "") {
codePre.classList.add("linenums");
codePre.textContent = sourceText;
try {
// Wrap in try to work when offline.
view.PR.prettyPrint();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment