Index: third_party/WebKit/Source/devtools/front_end/sdk/SourceMap.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/sdk/SourceMap.js b/third_party/WebKit/Source/devtools/front_end/sdk/SourceMap.js |
index 626b08ccbc2180a503ef0301cf26996e011f5c43..6ff41459509fc63009e271a4d5d4c1617c9b7967 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/sdk/SourceMap.js |
+++ b/third_party/WebKit/Source/devtools/front_end/sdk/SourceMap.js |
@@ -345,15 +345,23 @@ |
/** |
* @param {string} sourceURL |
* @param {number} lineNumber |
- * @return {!Array<!SDK.SourceMapEntry>} |
- */ |
- mappingsForLine(sourceURL, lineNumber) { |
+ * @return {?SDK.SourceMapEntry} |
+ */ |
+ firstSourceLineMapping(sourceURL, lineNumber) { |
var mappings = this._reversedMappings(sourceURL); |
- var startIndex = mappings.lowerBound(lineNumber, (lineNumber, mapping) => lineNumber - mapping.sourceLineNumber); |
- var endIndex = startIndex; |
- while (endIndex < mappings.length && mappings[endIndex].sourceLineNumber === lineNumber) |
- ++endIndex; |
- return mappings.slice(startIndex, endIndex); |
+ var index = mappings.lowerBound(lineNumber, lineComparator); |
+ if (index >= mappings.length || mappings[index].sourceLineNumber !== lineNumber) |
+ return null; |
+ return mappings[index]; |
+ |
+ /** |
+ * @param {number} lineNumber |
+ * @param {!SDK.SourceMapEntry} mapping |
+ * @return {number} |
+ */ |
+ function lineComparator(lineNumber, mapping) { |
+ return lineNumber - mapping.sourceLineNumber; |
+ } |
} |
/** |