Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(621)

Unified Diff: third_party/WebKit/Source/devtools/front_end/bindings/BreakpointManager.js

Issue 2500493003: [DevTools] make breakpoints better (Closed)
Patch Set: fixed context menu items for gutter Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698