Commit 29879461 authored by Bret Sepulveda's avatar Bret Sepulveda Committed by Commit Bot

Stop manual unescaping of script source data when preprocessing logs.

It appears that the fields are already being unescaped elsewhere,
perhaps by the JSON writer. So if we unescape when adding the source
filename and contents, unescaping will happen again later and plain
backslashes will be interpreted as escape codes.

Bug: v8:6240
Change-Id: Ic66b9017ae685d6dd12944ee8d254991e26fbd32
Reviewed-on: https://chromium-review.googlesource.com/1186625Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Bret Sepulveda <bsep@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55401}
parent f1aef71d
...@@ -1002,33 +1002,10 @@ JsonProfile.prototype.addSourcePositions = function( ...@@ -1002,33 +1002,10 @@ JsonProfile.prototype.addSourcePositions = function(
}; };
}; };
function unescapeString(s) {
s = s.split("\\");
for (var i = 1; i < s.length; i++) {
if (s[i] === "") {
// Double backslash.
s[i] = "\\";
} else if (i > 0 && s[i].startsWith("x")) {
// Escaped Ascii character.
s[i] = String.fromCharCode(parseInt(s[i].substring(1, 3), 16)) +
s[i].substring(3);
} else if (i > 0 && s[i].startsWith("u")) {
// Escaped unicode character.
s[i] = String.fromCharCode(parseInt(s[i].substring(1, 5), 16)) +
s[i].substring(5);
} else {
if (i > 0 && s[i - 1] !== "\\") {
printErr("Malformed source string");
}
}
}
return s.join("");
}
JsonProfile.prototype.addScriptSource = function(script, url, source) { JsonProfile.prototype.addScriptSource = function(script, url, source) {
this.scripts_[script] = { this.scripts_[script] = {
name : unescapeString(url), name : url,
source : unescapeString(source) source : source
}; };
}; };
......
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