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..cd7aef1739c52dbc32a786e29fcdeca7d94e3731 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,23 @@ WebInspector.SelectUISourceCodeDialog.prototype = { |
*/ |
selectItem: function(itemIndex, promptValue) |
{ |
- if (/^:\d+$/.test(promptValue.trimRight())) { |
vsevik
2014/01/27 17:19:11
Let's keep trimRight
lushnikov
2014/01/28 13:27:07
Done; even more: made trim() call here as it makes
|
- var lineNumber = parseInt(promptValue.trimRight().substring(1), 10) - 1; |
- if (!isNaN(lineNumber) && lineNumber >= 0) |
- this.uiSourceCodeSelected(null, lineNumber); |
+ var gotoLineNumber = promptValue.match(/^(:\d+)(:\d+)?$/); |
+ if (gotoLineNumber) { |
+ var lineNumber = parseInt(gotoLineNumber[1].substr(1), 10) - 1; |
+ var columnNumber; |
+ if (gotoLineNumber[2]) |
+ columnNumber = parseInt(gotoLineNumber[2].substr(1), 10) - 1; |
+ this.uiSourceCodeSelected(null, lineNumber, columnNumber); |
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 gotoSourceMatch = promptValue.match(/^[^:]+(:\d+)?(:\d+)?$/); |
vsevik
2014/01/27 17:19:11
A lot of code duplication here.
lushnikov
2014/01/28 13:27:07
Done.
|
+ var lineNumber; |
+ var columnNumber; |
+ if (gotoSourceMatch[1]) |
+ lineNumber = parseInt(gotoSourceMatch[1].substr(1), 10) - 1; |
+ if (gotoSourceMatch[2]) |
+ columnNumber = parseInt(gotoSourceMatch[2].substr(1), 10) - 1; |
+ this.uiSourceCodeSelected(this._uiSourceCodes[itemIndex], lineNumber, columnNumber); |
}, |
/** |
@@ -733,8 +742,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 +784,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 +851,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); |
}, |