[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.15.1-1414-gc69ee75
pfeldman at chromium.org
pfeldman at chromium.org
Thu Oct 29 20:44:18 UTC 2009
The following commit has been merged in the webkit-1.1 branch:
commit 621163312a906337988cf9cb0a55a27140959d84
Author: pfeldman at chromium.org <pfeldman at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Oct 14 09:14:29 2009 +0000
2009-10-13 Yury Semikhatsky <yurys at chromium.org>
Reviewed by Pavel Feldman.
Don't collect call frame properties until they're needed for completion.
https://bugs.webkit.org/show_bug.cgi?id=30334
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype.completions):
* inspector/front-end/InjectedScript.js:
(InjectedScript.getCompletions): if call frame id is specified and the expression is empty collect frame properties.
(InjectedScript.CallFrameProxy.prototype._wrapScopeChain): don't send call frame properties until they're needed.
* inspector/front-end/ScriptsPanel.js:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49557 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index f23dd11..7f03f81 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2009-10-13 Yury Semikhatsky <yurys at chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Don't collect call frame properties until they're needed for completion.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30334
+
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype.completions):
+ * inspector/front-end/InjectedScript.js:
+ (InjectedScript.getCompletions): if call frame id is specified and the expression is empty collect frame properties.
+ (InjectedScript.CallFrameProxy.prototype._wrapScopeChain): don't send call frame properties until they're needed.
+ * inspector/front-end/ScriptsPanel.js:
+
2009-10-13 Yongjun Zhang <yongjun.zhang at nokia.com>
Reviewed by Ariya Hidayat.
diff --git a/WebCore/inspector/front-end/ConsoleView.js b/WebCore/inspector/front-end/ConsoleView.js
index 3782d32..8068ad4 100644
--- a/WebCore/inspector/front-end/ConsoleView.js
+++ b/WebCore/inspector/front-end/ConsoleView.js
@@ -292,16 +292,6 @@ WebInspector.ConsoleView.prototype = {
var reportCompletions = this._reportCompletions.bind(this, bestMatchOnly, completionsReadyCallback, dotNotation, bracketNotation, prefix);
// Collect comma separated object properties for the completion.
- if (!expressionString) {
- if (WebInspector.panels.scripts && WebInspector.panels.scripts.paused) {
- // Evaluate into properties in scope of the selected call frame.
- reportCompletions(WebInspector.panels.scripts.variablesInSelectedCallFrame());
- return;
- } else {
- expressionString = "this";
- }
- }
-
var includeInspectorCommandLineAPI = (!dotNotation && !bracketNotation);
if (WebInspector.panels.scripts && WebInspector.panels.scripts.paused)
var callFrameId = WebInspector.panels.scripts.selectedCallFrameId();
diff --git a/WebCore/inspector/front-end/InjectedScript.js b/WebCore/inspector/front-end/InjectedScript.js
index 75c8ced..5d3c042 100644
--- a/WebCore/inspector/front-end/InjectedScript.js
+++ b/WebCore/inspector/front-end/InjectedScript.js
@@ -517,12 +517,28 @@ InjectedScript.getCompletions = function(expression, includeInspectorCommandLine
var callFrame = InjectedScript._callFrameForId(callFrameId);
if (!callFrame)
return props;
- expressionResult = InjectedScript._evaluateOn(callFrame.evaluate, callFrame, expression);
+ if (expression)
+ expressionResult = InjectedScript._evaluateOn(callFrame.evaluate, callFrame, expression);
+ else {
+ // Evaluate into properties in scope of the selected call frame.
+ var scopeChain = callFrame.scopeChain;
+ for (var i = 0; i < scopeChain.length; ++i) {
+ var scopeObject = scopeChain[i];
+ try {
+ for (var propertyName in scopeObject)
+ props[propertyName] = true;
+ } catch (e) {
+ }
+ }
+ }
} else {
+ if (!expression)
+ expression = "this";
expressionResult = InjectedScript._evaluateOn(InjectedScript._window().eval, InjectedScript._window(), expression);
}
- for (var prop in expressionResult)
- props[prop] = true;
+ if (expressionResult)
+ for (var prop in expressionResult)
+ props[prop] = true;
if (includeInspectorCommandLineAPI)
for (var prop in InjectedScript._window()._inspectorCommandLineAPI)
if (prop.charAt(0) !== '_')
@@ -1032,12 +1048,6 @@ InjectedScript.CallFrameProxy.prototype = {
scopeObjectProxy.isDocument = true;
else if (!foundLocalScope)
scopeObjectProxy.isWithBlock = true;
- scopeObjectProxy.properties = [];
- try {
- for (var propertyName in scopeObject)
- scopeObjectProxy.properties.push(propertyName);
- } catch (e) {
- }
scopeChainProxy.push(scopeObjectProxy);
}
return scopeChainProxy;
diff --git a/WebCore/inspector/front-end/ScriptsPanel.js b/WebCore/inspector/front-end/ScriptsPanel.js
index 05ec197..4aa0ab2 100644
--- a/WebCore/inspector/front-end/ScriptsPanel.js
+++ b/WebCore/inspector/front-end/ScriptsPanel.js
@@ -388,22 +388,6 @@ WebInspector.ScriptsPanel.prototype = {
InjectedScriptAccess.evaluateInCallFrame(callFrame.id, code, objectGroup, evalCallback);
},
- variablesInSelectedCallFrame: function()
- {
- var selectedCallFrame = this.sidebarPanes.callstack.selectedCallFrame;
- if (!this._paused || !selectedCallFrame)
- return {};
-
- var result = {};
- var scopeChain = selectedCallFrame.scopeChain;
- for (var i = 0; i < scopeChain.length; ++i) {
- var scopeObjectProperties = scopeChain[i].properties;
- for (var j = 0; j < scopeObjectProperties.length; ++j)
- result[scopeObjectProperties[j]] = true;
- }
- return result;
- },
-
debuggerPaused: function(callFrames)
{
this._paused = true;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list