summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/inspector/front-end/ConsoleView.js
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2011-06-10 16:52:27 +0100
committerSteve Block <steveblock@google.com>2011-06-14 01:14:02 +0100
commit54cdeeebc7adcbcd900e8b6a141a8cae27d9a631 (patch)
tree845b0d338b204a48560eca3b51b34cf92ed96840 /Source/WebCore/inspector/front-end/ConsoleView.js
parentd2c5226a647dc21d0c15267e09a3d19cf3e0d593 (diff)
downloadexternal_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.js30
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));
}
},