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

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

Issue 2859073002: Revert of DevTools: support resolving a UILocation to multiple raw script locations (Closed)
Patch Set: Created 3 years, 7 months 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 var columnBreakpoints = lineBreakpoints ? lineBreakpoints.get(columnNumber) : null; 259 var columnBreakpoints = lineBreakpoints ? lineBreakpoints.get(columnNumber) : null;
260 return columnBreakpoints ? columnBreakpoints[0] : null; 260 return columnBreakpoints ? columnBreakpoints[0] : null;
261 } 261 }
262 262
263 /** 263 /**
264 * @param {!Workspace.UISourceCode} uiSourceCode 264 * @param {!Workspace.UISourceCode} uiSourceCode
265 * @param {!TextUtils.TextRange} textRange 265 * @param {!TextUtils.TextRange} textRange
266 * @return {!Promise<!Array<!Workspace.UILocation>>} 266 * @return {!Promise<!Array<!Workspace.UILocation>>}
267 */ 267 */
268 possibleBreakpoints(uiSourceCode, textRange) { 268 possibleBreakpoints(uiSourceCode, textRange) {
269 var startLocations = Bindings.debuggerWorkspaceBinding.uiLocationToRawLocati ons( 269 var startLocation = Bindings.debuggerWorkspaceBinding.uiLocationToRawLocatio n(
270 uiSourceCode, textRange.startLine, textRange.startColumn); 270 uiSourceCode, textRange.startLine, textRange.startColumn);
271 var endLocations = Bindings.debuggerWorkspaceBinding.uiLocationToRawLocation s( 271 var endLocation =
272 uiSourceCode, textRange.endLine, textRange.endColumn); 272 Bindings.debuggerWorkspaceBinding.uiLocationToRawLocation(uiSourceCode, textRange.endLine, textRange.endColumn);
273 var startLocationsByScript = new Map(startLocations.map(location => [locatio n.script(), location])); 273 if (!startLocation || !endLocation || startLocation.debuggerModel !== endLoc ation.debuggerModel)
274 var endLocation = endLocations.find(location => location.script() && startLo cationsByScript.get(location.script()));
275 if (!endLocation)
276 return Promise.resolve([]); 274 return Promise.resolve([]);
277 var startLocation = startLocationsByScript.get(endLocation.script()); 275
278 return startLocation.debuggerModel 276 return startLocation.debuggerModel
279 .getPossibleBreakpoints(startLocation, endLocation, /* restrictToFunctio n */ false) 277 .getPossibleBreakpoints(startLocation, endLocation, /* restrictToFunctio n */ false)
280 .then(toUILocations.bind(this)); 278 .then(toUILocations.bind(this));
281 279
282 /** 280 /**
283 * @this {!Bindings.BreakpointManager} 281 * @this {!Bindings.BreakpointManager}
284 * @param {!Array<!SDK.DebuggerModel.BreakLocation>} locations 282 * @param {!Array<!SDK.DebuggerModel.BreakLocation>} locations
285 * @return {!Array<!Workspace.UILocation>} 283 * @return {!Array<!Workspace.UILocation>}
286 */ 284 */
287 function toUILocations(locations) { 285 function toUILocations(locations) {
(...skipping 516 matching lines...) Expand 10 before | Expand all | Expand 10 after
804 callback(); 802 callback();
805 return; 803 return;
806 } 804 }
807 805
808 var uiSourceCode = this._breakpoint.uiSourceCode(); 806 var uiSourceCode = this._breakpoint.uiSourceCode();
809 var lineNumber = this._breakpoint._lineNumber; 807 var lineNumber = this._breakpoint._lineNumber;
810 var columnNumber = this._breakpoint._columnNumber; 808 var columnNumber = this._breakpoint._columnNumber;
811 var condition = this._breakpoint.condition(); 809 var condition = this._breakpoint.condition();
812 810
813 var debuggerLocation = uiSourceCode && 811 var debuggerLocation = uiSourceCode &&
814 Bindings.debuggerWorkspaceBinding.uiLocationToRawLocations(uiSourceCode, lineNumber, columnNumber)[0]; 812 Bindings.debuggerWorkspaceBinding.uiLocationToRawLocation(uiSourceCode, lineNumber, columnNumber);
815 var newState; 813 var newState;
816 if (this._breakpoint._isRemoved || !this._breakpoint.enabled() || this._scri ptDiverged()) { 814 if (this._breakpoint._isRemoved || !this._breakpoint.enabled() || this._scri ptDiverged()) {
817 newState = null; 815 newState = null;
818 } else if (debuggerLocation) { 816 } else if (debuggerLocation) {
819 var script = debuggerLocation.script(); 817 var script = debuggerLocation.script();
820 if (script.sourceURL) { 818 if (script.sourceURL) {
821 newState = new Bindings.BreakpointManager.Breakpoint.State( 819 newState = new Bindings.BreakpointManager.Breakpoint.State(
822 script.sourceURL, null, debuggerLocation.lineNumber, debuggerLocatio n.columnNumber, condition); 820 script.sourceURL, null, debuggerLocation.lineNumber, debuggerLocatio n.columnNumber, condition);
823 } else { 821 } else {
824 newState = new Bindings.BreakpointManager.Breakpoint.State( 822 newState = new Bindings.BreakpointManager.Breakpoint.State(
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after
1082 this.url = breakpoint._url; 1080 this.url = breakpoint._url;
1083 this.lineNumber = breakpoint.lineNumber(); 1081 this.lineNumber = breakpoint.lineNumber();
1084 this.columnNumber = breakpoint.columnNumber(); 1082 this.columnNumber = breakpoint.columnNumber();
1085 this.condition = breakpoint.condition(); 1083 this.condition = breakpoint.condition();
1086 this.enabled = breakpoint.enabled(); 1084 this.enabled = breakpoint.enabled();
1087 } 1085 }
1088 }; 1086 };
1089 1087
1090 /** @type {!Bindings.BreakpointManager} */ 1088 /** @type {!Bindings.BreakpointManager} */
1091 Bindings.breakpointManager; 1089 Bindings.breakpointManager;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698