diff options
author | Steve Block <steveblock@google.com> | 2011-06-10 16:52:27 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2011-06-14 01:14:02 +0100 |
commit | 54cdeeebc7adcbcd900e8b6a141a8cae27d9a631 (patch) | |
tree | 845b0d338b204a48560eca3b51b34cf92ed96840 /Source/WebCore/inspector/front-end/ConsoleView.js | |
parent | d2c5226a647dc21d0c15267e09a3d19cf3e0d593 (diff) | |
download | external_webkit-54cdeeebc7adcbcd900e8b6a141a8cae27d9a631.zip external_webkit-54cdeeebc7adcbcd900e8b6a141a8cae27d9a631.tar.gz external_webkit-54cdeeebc7adcbcd900e8b6a141a8cae27d9a631.tar.bz2 |
Merge WebKit at branches/chromium/742 r88085: Initial merge by git.
Change-Id: I0501b484b9528e31b0026e5ad64416dd6541cdde
Diffstat (limited to 'Source/WebCore/inspector/front-end/ConsoleView.js')
-rw-r--r-- | Source/WebCore/inspector/front-end/ConsoleView.js | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/Source/WebCore/inspector/front-end/ConsoleView.js b/Source/WebCore/inspector/front-end/ConsoleView.js index 4ab16d9e..514767b 100644 --- a/Source/WebCore/inspector/front-end/ConsoleView.js +++ b/Source/WebCore/inspector/front-end/ConsoleView.js @@ -344,6 +344,12 @@ WebInspector.ConsoleView.prototype = { // Pass less stop characters to rangeOfWord so the range will be a more complete expression. var expressionRange = wordRange.startContainer.rangeOfWord(wordRange.startOffset, ExpressionStopCharacters, this.promptElement, "backward"); var expressionString = expressionRange.toString(); + var prefix = wordRange.toString(); + this._completions(expressionString, prefix, bestMatchOnly, completionsReadyCallback); + }, + + _completions: function(expressionString, prefix, bestMatchOnly, completionsReadyCallback) + { var lastIndex = expressionString.length - 1; var dotNotation = (expressionString[lastIndex] === "."); @@ -352,11 +358,13 @@ WebInspector.ConsoleView.prototype = { if (dotNotation || bracketNotation) expressionString = expressionString.substr(0, lastIndex); - var prefix = wordRange.toString(); if (!expressionString && !prefix) return; - this.evalInInspectedWindow(expressionString, "completion", true, evaluated.bind(this)); + if (!expressionString && WebInspector.panels.scripts.paused) + WebInspector.panels.scripts.getSelectedCallFrameVariables(reportCompletions.bind(this)); + else + this.evalInInspectedWindow(expressionString, "completion", true, evaluated.bind(this)); function evaluated(result) { @@ -368,14 +376,22 @@ WebInspector.ConsoleView.prototype = { function evaluatedProperties(properties) { RuntimeAgent.releaseObjectGroup("completion"); - var propertyNames = []; + var propertyNames = {}; for (var i = 0; properties && i < properties.length; ++i) - propertyNames.push(properties[i].name); + propertyNames[properties[i].name] = true; + reportCompletions.call(this, propertyNames); + } + function reportCompletions(propertyNames) + { var includeCommandLineAPI = (!dotNotation && !bracketNotation); - if (includeCommandLineAPI) - propertyNames.splice(0, 0, "dir", "dirxml", "keys", "values", "profile", "profileEnd", "monitorEvents", "unmonitorEvents", "inspect", "copy", "clear"); - this._reportCompletions(bestMatchOnly, completionsReadyCallback, dotNotation, bracketNotation, prefix, propertyNames); + if (includeCommandLineAPI) { + const commandLineAPI = ["dir", "dirxml", "keys", "values", "profile", "profileEnd", "monitorEvents", "unmonitorEvents", "inspect", "copy", "clear"]; + for (var i = 0; i < commandLineAPI.length; ++i) + propertyNames[commandLineAPI[i]] = true; + } + + this._reportCompletions(bestMatchOnly, completionsReadyCallback, dotNotation, bracketNotation, prefix, Object.keys(propertyNames)); } }, |