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

Unified Diff: Source/devtools/front_end/JavaScriptSourceFrame.js

Issue 201293007: DevTools: Remove step into selection experiment (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebaselined Created 6 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/devtools/front_end/DebuggerModel.js ('k') | Source/devtools/front_end/Settings.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
-};
« no previous file with comments | « Source/devtools/front_end/DebuggerModel.js ('k') | Source/devtools/front_end/Settings.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698