| Index: third_party/WebKit/Source/devtools/front_end/diff/Diff.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/diff/Diff.js b/third_party/WebKit/Source/devtools/front_end/diff/Diff.js
|
| index 13fc91d1d158fd6ff2df04404b43fce479fd74b3..297b3878c41330eef4b478582480cbeb8f3443b2 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/diff/Diff.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/diff/Diff.js
|
| @@ -17,16 +17,31 @@ WebInspector.Diff = {
|
| /**
|
| * @param {!Array.<string>} lines1
|
| * @param {!Array.<string>} lines2
|
| - * @return {!Array.<!{0: number, 1: string}>}
|
| + * @return {!Array.<!{0: number, 1: !Array.<string>}>}
|
| */
|
| lineDiff: function(lines1, lines2)
|
| {
|
| + /** @type {!Map.<string, string>} */
|
| var lineToChar = new Map();
|
| + /** @type {!Map.<string, string>} */
|
| + var charToLine = new Map();
|
| var charCode = 33;
|
| var text1 = encode(lines1);
|
| var text2 = encode(lines2);
|
|
|
| - return WebInspector.Diff.charDiff(text1, text2);
|
| + var diff = WebInspector.Diff.charDiff(text1, text2);
|
| + var lineDiff = [];
|
| + for (var i = 0; i < diff.length; i++) {
|
| + var lines = [];
|
| + for (var j = 0; j < diff[i][1].length; j++)
|
| + lines.push(charToLine.get(diff[i][1][j]));
|
| +
|
| + lineDiff.push({
|
| + 0: diff[i][0],
|
| + 1: lines
|
| + });
|
| + }
|
| + return lineDiff;
|
|
|
| /**
|
| * @param {!Array.<string>} lines
|
| @@ -41,6 +56,7 @@ WebInspector.Diff = {
|
| if (!character) {
|
| character = String.fromCharCode(charCode++);
|
| lineToChar.set(line, character);
|
| + charToLine.set(character, line);
|
| }
|
| text += character;
|
| }
|
| @@ -49,7 +65,7 @@ WebInspector.Diff = {
|
| },
|
|
|
| /**
|
| - * @param {!Array.<!{0: number, 1: string}>} diff
|
| + * @param {!Array.<!{0: number, 1: !Array.<string>}>} diff
|
| * @return {!Array<!Array<number>>}
|
| */
|
| convertToEditDiff: function(diff)
|
|
|