Chromium Code Reviews| Index: third_party/WebKit/Source/devtools/front_end/bindings/BreakpointManager.js |
| diff --git a/third_party/WebKit/Source/devtools/front_end/bindings/BreakpointManager.js b/third_party/WebKit/Source/devtools/front_end/bindings/BreakpointManager.js |
| index b6aaac23ce13d43d4815236a1a51420a74877208..49cec497e9e3f8f55ffc3a7c268c0394a1e2bab7 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/bindings/BreakpointManager.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/bindings/BreakpointManager.js |
| @@ -251,7 +251,11 @@ Bindings.BreakpointManager = class extends Common.Object { |
| findBreakpoints(uiSourceCode, lineNumber) { |
| var breakpoints = this._breakpointsForUISourceCode.get(uiSourceCode); |
| var lineBreakpoints = breakpoints ? breakpoints.get(lineNumber) : null; |
| - return lineBreakpoints ? lineBreakpoints.valuesArray()[0] : []; |
| + if (!lineBreakpoints) |
| + return []; |
| + breakpoints = [].concat.apply([], lineBreakpoints.valuesArray()); |
|
dgozman
2016/11/15 23:35:13
breakpoints = lineBreakpoints.valuesArray() ?
|
| + breakpoints.sort((breakpoint1, breakpoint2) => breakpoint1.columnNumber() - breakpoint2.columnNumber()); |
| + return breakpoints; |
| } |
| /** |
| @@ -348,18 +352,29 @@ Bindings.BreakpointManager = class extends Common.Object { |
| var uiSourceCodeBreakpoints = this._breakpointsForUISourceCode.get(uiSourceCode); |
| var lineNumbers = uiSourceCodeBreakpoints ? uiSourceCodeBreakpoints.keysArray() : []; |
| var result = []; |
| - for (var i = 0; i < lineNumbers.length; ++i) { |
| - var lineBreakpoints = uiSourceCodeBreakpoints.get(lineNumbers[i]); |
| - var columnNumbers = lineBreakpoints.keysArray(); |
| - for (var j = 0; j < columnNumbers.length; ++j) { |
| - var columnBreakpoints = lineBreakpoints.get(columnNumbers[j]); |
| - var lineNumber = parseInt(lineNumbers[i], 10); |
| - var columnNumber = parseInt(columnNumbers[j], 10); |
| - for (var k = 0; k < columnBreakpoints.length; ++k) { |
| - var breakpoint = columnBreakpoints[k]; |
| - var uiLocation = uiSourceCode.uiLocation(lineNumber, columnNumber); |
| - result.push({breakpoint: breakpoint, uiLocation: uiLocation}); |
| - } |
| + for (var lineNumber of lineNumbers) |
| + result = result.concat(this.breakpontLocationsForLineNumber(uiSourceCode, lineNumber)); |
| + return result; |
| + } |
| + |
| + /** |
| + * @param {!Workspace.UISourceCode} uiSourceCode |
| + * @param {number} lineNumber |
| + * @return {!Array<!{breakpoint: !Bindings.BreakpointManager.Breakpoint, uiLocation: !Workspace.UILocation}>} |
| + */ |
| + breakpontLocationsForLineNumber(uiSourceCode, lineNumber) { |
|
lushnikov
2016/11/17 04:31:50
typo: breakpointLocationsForLineNumber
|
| + var uiSourceCodeBreakpoints = this._breakpointsForUISourceCode.get(uiSourceCode); |
| + if (!uiSourceCodeBreakpoints) |
| + return []; |
| + var lineBreakpoints = uiSourceCodeBreakpoints.get(lineNumber); |
| + if (!lineBreakpoints) |
| + return []; |
| + var result = []; |
| + for (var columnNumber of lineBreakpoints.keysArray()) { |
| + var columnBreakpoints = lineBreakpoints.get(columnNumber); |
| + for (var breakpoint of columnBreakpoints) { |
| + var uiLocation = uiSourceCode.uiLocation(lineNumber, columnNumber); |
| + result.push({breakpoint: breakpoint, uiLocation: uiLocation}); |
| } |
| } |
| return result; |