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

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

Issue 131033004: DevTools: introduce goto-column functionality (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: address comments Created 6 years, 11 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/CodeMirrorTextEditor.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/devtools/front_end/FilteredItemSelectionDialog.js
diff --git a/Source/devtools/front_end/FilteredItemSelectionDialog.js b/Source/devtools/front_end/FilteredItemSelectionDialog.js
index 0fedcc9f82206b8fe28aa09909c819308303b77f..23c9a6a5389616a63696560ccf19fff1886e8c22 100644
--- a/Source/devtools/front_end/FilteredItemSelectionDialog.js
+++ b/Source/devtools/front_end/FilteredItemSelectionDialog.js
@@ -624,8 +624,9 @@ WebInspector.SelectUISourceCodeDialog.prototype = {
/**
* @param {?WebInspector.UISourceCode} uiSourceCode
* @param {number=} lineNumber
+ * @param {number=} columnNumber
*/
- uiSourceCodeSelected: function(uiSourceCode, lineNumber)
+ uiSourceCodeSelected: function(uiSourceCode, lineNumber, columnNumber)
{
// Overridden by subclasses
},
@@ -689,7 +690,7 @@ WebInspector.SelectUISourceCodeDialog.prototype = {
{
query = this.rewriteQuery(query);
var uiSourceCode = this._uiSourceCodes[itemIndex];
- titleElement.textContent = uiSourceCode.displayName() + (this._queryLineNumber ? this._queryLineNumber : "");
+ titleElement.textContent = uiSourceCode.displayName() + (this._queryLineNumberAndColumnNumber || "");
subtitleElement.textContent = uiSourceCode.fullDisplayName().trimEnd(100);
var indexes = [];
@@ -713,15 +714,18 @@ WebInspector.SelectUISourceCodeDialog.prototype = {
*/
selectItem: function(itemIndex, promptValue)
{
- if (/^:\d+$/.test(promptValue.trimRight())) {
- var lineNumber = parseInt(promptValue.trimRight().substring(1), 10) - 1;
- if (!isNaN(lineNumber) && lineNumber >= 0)
- this.uiSourceCodeSelected(null, lineNumber);
+ var parsedExpression = promptValue.trimRight().match(/^([^:]*)(:\d+)?(:\d+)?$/);
+ if (!parsedExpression)
vsevik 2014/01/28 14:45:41 I don't think this ever happens!
lushnikov 2014/01/28 15:15:09 It does!
return;
- }
- var lineNumberMatch = promptValue.match(/[^:]+\:([\d]*)$/);
- var lineNumber = lineNumberMatch ? Math.max(parseInt(lineNumberMatch[1], 10) - 1, 0) : undefined;
- this.uiSourceCodeSelected(this._uiSourceCodes[itemIndex], lineNumber);
+
+ var lineNumber;
+ var columnNumber;
+ if (parsedExpression[2])
+ lineNumber = parseInt(parsedExpression[2].substr(1), 10) - 1;
+ if (parsedExpression[3])
+ columnNumber = parseInt(parsedExpression[3].substr(1), 10) - 1;
+ var uiSourceCode = parsedExpression[1] ? this._uiSourceCodes[itemIndex] : null;
+ this.uiSourceCodeSelected(uiSourceCode, lineNumber, columnNumber);
},
/**
@@ -733,8 +737,8 @@ WebInspector.SelectUISourceCodeDialog.prototype = {
if (!query)
return query;
query = query.trim();
- var lineNumberMatch = query.match(/([^:]+)(\:[\d]*)$/);
- this._queryLineNumber = lineNumberMatch ? lineNumberMatch[2] : "";
+ var lineNumberMatch = query.match(/^([^:]+)((?::[^:]*){0,2})$/);
+ this._queryLineNumberAndColumnNumber = lineNumberMatch ? lineNumberMatch[2] : "";
return lineNumberMatch ? lineNumberMatch[1] : query;
},
@@ -775,14 +779,15 @@ WebInspector.OpenResourceDialog.prototype = {
/**
* @param {?WebInspector.UISourceCode} uiSourceCode
* @param {number=} lineNumber
+ * @param {number=} columnNumber
*/
- uiSourceCodeSelected: function(uiSourceCode, lineNumber)
+ uiSourceCodeSelected: function(uiSourceCode, lineNumber, columnNumber)
{
if (!uiSourceCode)
uiSourceCode = this._panel.currentUISourceCode();
if (!uiSourceCode)
return;
- this._panel.showUISourceCode(uiSourceCode, lineNumber);
+ this._panel.showUISourceCode(uiSourceCode, lineNumber, columnNumber);
},
/**
@@ -841,8 +846,9 @@ WebInspector.SelectUISourceCodeForProjectTypeDialog.prototype = {
/**
* @param {!WebInspector.UISourceCode} uiSourceCode
* @param {number=} lineNumber
+ * @param {number=} columnNumber
*/
- uiSourceCodeSelected: function(uiSourceCode, lineNumber)
+ uiSourceCodeSelected: function(uiSourceCode, lineNumber, columnNumber)
{
this._callback(uiSourceCode);
},
« no previous file with comments | « Source/devtools/front_end/CodeMirrorTextEditor.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698