Index: Source/devtools/front_end/JavaScriptSourceFrame.js |
diff --git a/Source/devtools/front_end/JavaScriptSourceFrame.js b/Source/devtools/front_end/JavaScriptSourceFrame.js |
index acf795c6018920bbed7bdeb9ad13eb238a0af8eb..f70afae03e2f0768866d9a8797f0f5f32a1407ff 100644 |
--- a/Source/devtools/front_end/JavaScriptSourceFrame.js |
+++ b/Source/devtools/front_end/JavaScriptSourceFrame.js |
@@ -51,10 +51,6 @@ WebInspector.JavaScriptSourceFrame = function(scriptsPanel, uiSourceCode) |
this.textEditor.addEventListener(WebInspector.TextEditor.Events.GutterClick, this._handleGutterClick.bind(this), this); |
- this.textEditor.element.addEventListener("mousedown", this._onMouseDownAndClick.bind(this, true), true); |
- this.textEditor.element.addEventListener("click", this._onMouseDownAndClick.bind(this, false), true); |
- |
- |
this._breakpointManager.addEventListener(WebInspector.BreakpointManager.Events.BreakpointAdded, this._breakpointAdded, this); |
this._breakpointManager.addEventListener(WebInspector.BreakpointManager.Events.BreakpointRemoved, this._breakpointRemoved, this); |
@@ -409,12 +405,6 @@ WebInspector.JavaScriptSourceFrame.prototype = { |
if (this._popoverHelper.isPopoverVisible()) { |
this._popoverHelper.hidePopover(); |
event.consume(); |
- return; |
- } |
- if (this._stepIntoMarkup && WebInspector.KeyboardShortcut.eventHasCtrlOrMeta(event)) { |
- this._stepIntoMarkup.stoptIteratingSelection(); |
- event.consume(); |
- return; |
} |
} |
}, |
@@ -474,62 +464,19 @@ WebInspector.JavaScriptSourceFrame.prototype = { |
/** |
* @param {number} lineNumber |
- * @param {!WebInspector.DebuggerModel.CallFrame} callFrame |
*/ |
- setExecutionLine: function(lineNumber, callFrame) |
+ setExecutionLine: function(lineNumber) |
{ |
this._executionLineNumber = lineNumber; |
- this._executionCallFrame = callFrame; |
- if (this.loaded) { |
+ if (this.loaded) |
this.textEditor.setExecutionLine(lineNumber); |
- |
- if (WebInspector.experimentsSettings.stepIntoSelection.isEnabled()) |
- callFrame.getStepIntoLocations(locationsCallback.bind(this)); |
- } |
- |
- /** |
- * @param {!Array.<!DebuggerAgent.Location>} locations |
- * @this {WebInspector.JavaScriptSourceFrame} |
- */ |
- function locationsCallback(locations) |
- { |
- if (this._executionCallFrame !== callFrame || this._stepIntoMarkup) |
- return; |
- this._stepIntoMarkup = WebInspector.JavaScriptSourceFrame.StepIntoMarkup.create(this, locations); |
- if (this._stepIntoMarkup) |
- this._stepIntoMarkup.show(); |
- } |
}, |
clearExecutionLine: function() |
{ |
- if (this._stepIntoMarkup) { |
- this._stepIntoMarkup.dispose(); |
- delete this._stepIntoMarkup; |
- } |
- |
if (this.loaded && typeof this._executionLineNumber === "number") |
this.textEditor.clearExecutionLine(); |
delete this._executionLineNumber; |
- delete this._executionCallFrame; |
- }, |
- |
- _onMouseDownAndClick: function(isMouseDown, event) |
- { |
- var markup = this._stepIntoMarkup; |
- if (!markup) |
- return; |
- var index = markup.findItemByCoordinates(event.x, event.y); |
- if (typeof index === "undefined") |
- return; |
- |
- if (isMouseDown) { |
- // Do not let text editor to spoil 'click' event that is coming for us. |
- event.consume(); |
- } else { |
- var rawLocation = markup.getRawPosition(index); |
- this._scriptsPanel.doStepIntoSelection(rawLocation); |
- } |
}, |
/** |
@@ -619,7 +566,7 @@ WebInspector.JavaScriptSourceFrame.prototype = { |
onTextEditorContentLoaded: function() |
{ |
if (typeof this._executionLineNumber === "number") |
- this.setExecutionLine(this._executionLineNumber, this._executionCallFrame); |
+ this.setExecutionLine(this._executionLineNumber); |
var breakpointLocations = this._breakpointManager.breakpointLocationsForUISourceCode(this._uiSourceCode); |
for (var i = 0; i < breakpointLocations.length; ++i) |
@@ -708,14 +655,6 @@ WebInspector.JavaScriptSourceFrame.prototype = { |
this._scriptsPanel.continueToLocation(rawLocation); |
}, |
- /** |
- * @return {!WebInspector.JavaScriptSourceFrame.StepIntoMarkup|undefined} |
- */ |
- stepIntoMarkup: function() |
- { |
- return this._stepIntoMarkup; |
- }, |
- |
dispose: function() |
{ |
this._breakpointManager.removeEventListener(WebInspector.BreakpointManager.Events.BreakpointAdded, this._breakpointAdded, this); |
@@ -731,199 +670,3 @@ WebInspector.JavaScriptSourceFrame.prototype = { |
__proto__: WebInspector.UISourceCodeFrame.prototype |
} |
- |
-/** |
- * @constructor |
- * @param {!Array.<!DebuggerAgent.Location>} rawPositions |
- * @param {!Array.<!WebInspector.TextRange>} editorRanges |
- * @param {number} firstToExecute |
- * @param {!WebInspector.JavaScriptSourceFrame} sourceFrame |
- */ |
-WebInspector.JavaScriptSourceFrame.StepIntoMarkup = function(rawPositions, editorRanges, firstToExecute, sourceFrame) |
-{ |
- this._positions = rawPositions; |
- this._editorRanges = editorRanges; |
- this._highlightDescriptors = new Array(rawPositions.length); |
- this._currentHighlight = undefined; |
- this._firstToExecute = firstToExecute; |
- this._currentSelection = undefined; |
- this._sourceFrame = sourceFrame; |
-}; |
- |
-WebInspector.JavaScriptSourceFrame.StepIntoMarkup.prototype = { |
- show: function() |
- { |
- var highlight = this._getVisibleHighlight(); |
- for (var i = 0; i < this._positions.length; ++i) |
- this._highlightItem(i, i === highlight); |
- this._shownVisibleHighlight = highlight; |
- }, |
- |
- startIteratingSelection: function() |
- { |
- this._currentSelection = this._positions.length |
- this._redrawHighlight(); |
- }, |
- |
- stopIteratingSelection: function() |
- { |
- this._currentSelection = undefined; |
- this._redrawHighlight(); |
- }, |
- |
- /** |
- * @param {boolean} backward |
- */ |
- iterateSelection: function(backward) |
- { |
- if (typeof this._currentSelection === "undefined") |
- return; |
- var nextSelection = backward ? this._currentSelection - 1 : this._currentSelection + 1; |
- var modulo = this._positions.length + 1; |
- nextSelection = (nextSelection + modulo) % modulo; |
- this._currentSelection = nextSelection; |
- this._redrawHighlight(); |
- }, |
- |
- _redrawHighlight: function() |
- { |
- var visibleHighlight = this._getVisibleHighlight(); |
- if (this._shownVisibleHighlight === visibleHighlight) |
- return; |
- this._hideItemHighlight(this._shownVisibleHighlight); |
- this._hideItemHighlight(visibleHighlight); |
- this._highlightItem(this._shownVisibleHighlight, false); |
- this._highlightItem(visibleHighlight, true); |
- this._shownVisibleHighlight = visibleHighlight; |
- }, |
- |
- /** |
- * @return {number} |
- */ |
- _getVisibleHighlight: function() |
- { |
- return typeof this._currentSelection === "undefined" ? this._firstToExecute : this._currentSelection; |
- }, |
- |
- /** |
- * @param {number} position |
- * @param {boolean} selected |
- */ |
- _highlightItem: function(position, selected) |
- { |
- if (position === this._positions.length) |
- return; |
- var styleName = selected ? "source-frame-stepin-mark-highlighted" : "source-frame-stepin-mark"; |
- var textEditor = this._sourceFrame.textEditor; |
- var highlightDescriptor = textEditor.highlightRange(this._editorRanges[position], styleName); |
- this._highlightDescriptors[position] = highlightDescriptor; |
- }, |
- |
- /** |
- * @param {number} position |
- */ |
- _hideItemHighlight: function(position) |
- { |
- if (position === this._positions.length) |
- return; |
- var highlightDescriptor = this._highlightDescriptors[position]; |
- console.assert(highlightDescriptor); |
- var textEditor = this._sourceFrame.textEditor; |
- textEditor.removeHighlight(highlightDescriptor); |
- this._highlightDescriptors[position] = undefined; |
- }, |
- |
- dispose: function() |
- { |
- for (var i = 0; i < this._positions.length; ++i) |
- this._hideItemHighlight(i); |
- }, |
- |
- /** |
- * @param {number} x |
- * @param {number} y |
- * @return {number|undefined} |
- */ |
- findItemByCoordinates: function(x, y) |
- { |
- var textPosition = this._sourceFrame.textEditor.coordinatesToCursorPosition(x, y); |
- if (!textPosition) |
- return; |
- |
- var ranges = this._editorRanges; |
- |
- for (var i = 0; i < ranges.length; ++i) { |
- var nextRange = ranges[i]; |
- if (nextRange.startLine == textPosition.startLine && nextRange.startColumn <= textPosition.startColumn && nextRange.endColumn >= textPosition.startColumn) |
- return i; |
- } |
- }, |
- |
- /** |
- * @return {number|undefined} |
- */ |
- getSelectedItemIndex: function() |
- { |
- if (this._currentSelection === this._positions.length) |
- return undefined; |
- return this._currentSelection; |
- }, |
- |
- /** |
- * @return {!WebInspector.DebuggerModel.Location} |
- */ |
- getRawPosition: function(position) |
- { |
- return /** @type {!WebInspector.DebuggerModel.Location} */ (this._positions[position]); |
- } |
- |
-}; |
- |
-/** |
- * @param {!WebInspector.JavaScriptSourceFrame} sourceFrame |
- * @param {!Array.<!DebuggerAgent.Location>} stepIntoRawLocations |
- * @return {?WebInspector.JavaScriptSourceFrame.StepIntoMarkup} |
- */ |
-WebInspector.JavaScriptSourceFrame.StepIntoMarkup.create = function(sourceFrame, stepIntoRawLocations) |
-{ |
- if (!stepIntoRawLocations.length) |
- return null; |
- |
- var firstToExecute = stepIntoRawLocations[0]; |
- stepIntoRawLocations.sort(WebInspector.JavaScriptSourceFrame.StepIntoMarkup._Comparator); |
- var firstToExecuteIndex = stepIntoRawLocations.indexOf(firstToExecute); |
- |
- var textEditor = sourceFrame.textEditor; |
- var uiRanges = []; |
- for (var i = 0; i < stepIntoRawLocations.length; ++i) { |
- var uiLocation = WebInspector.debuggerModel.rawLocationToUILocation(/** @type {!WebInspector.DebuggerModel.Location} */ (stepIntoRawLocations[i])); |
- |
- var token = textEditor.tokenAtTextPosition(uiLocation.lineNumber, uiLocation.columnNumber); |
- var startColumn; |
- var endColumn; |
- if (token) { |
- startColumn = token.startColumn; |
- endColumn = token.endColumn; |
- } else { |
- startColumn = uiLocation.columnNumber; |
- endColumn = uiLocation.columnNumber; |
- } |
- var range = new WebInspector.TextRange(uiLocation.lineNumber, startColumn, uiLocation.lineNumber, endColumn); |
- uiRanges.push(range); |
- } |
- |
- return new WebInspector.JavaScriptSourceFrame.StepIntoMarkup(stepIntoRawLocations, uiRanges, firstToExecuteIndex, sourceFrame); |
-}; |
- |
-/** |
- * @param {!DebuggerAgent.Location} locationA |
- * @param {!DebuggerAgent.Location} locationB |
- * @return {number} |
- */ |
-WebInspector.JavaScriptSourceFrame.StepIntoMarkup._Comparator = function(locationA, locationB) |
-{ |
- if (locationA.lineNumber === locationB.lineNumber) |
- return locationA.columnNumber - locationB.columnNumber; |
- else |
- return locationA.lineNumber - locationB.lineNumber; |
-}; |