[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
pfeldman at chromium.org
pfeldman at chromium.org
Wed Dec 22 12:13:19 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit e78e470d7e7f89d78da6f5ab677d9c35c0e467bf
Author: pfeldman at chromium.org <pfeldman at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Aug 17 13:30:43 2010 +0000
2010-08-17 Pavel Feldman <pfeldman at chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: get rid of node and scoped object-specific ids.
https://bugs.webkit.org/show_bug.cgi?id=44097
* inspector/front-end/ConsoleView.js:
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
* inspector/front-end/EventListenersSidebarPane.js:
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor.):
(injectedScriptConstructor):
* inspector/front-end/InjectedScriptAccess.js:
(InjectedScriptAccess):
(InjectedScriptAccess.getForNode):
(InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
(InjectedScriptAccess._installHandler):
* inspector/front-end/PropertiesSidebarPane.js:
(WebInspector.PropertiesSidebarPane.prototype.update):
* inspector/front-end/RemoteObject.js:
(WebInspector.RemoteObjectId):
(WebInspector.RemoteObject.resolveNode):
* inspector/front-end/ScriptsPanel.js:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65499 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 5288e4d..957a3b1 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,29 @@
+2010-08-17 Pavel Feldman <pfeldman at chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: get rid of node and scoped object-specific ids.
+ https://bugs.webkit.org/show_bug.cgi?id=44097
+
+ * inspector/front-end/ConsoleView.js:
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
+ * inspector/front-end/EventListenersSidebarPane.js:
+ * inspector/front-end/InjectedScript.js:
+ (injectedScriptConstructor.):
+ (injectedScriptConstructor):
+ * inspector/front-end/InjectedScriptAccess.js:
+ (InjectedScriptAccess):
+ (InjectedScriptAccess.getForNode):
+ (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
+ (InjectedScriptAccess._installHandler):
+ * inspector/front-end/PropertiesSidebarPane.js:
+ (WebInspector.PropertiesSidebarPane.prototype.update):
+ * inspector/front-end/RemoteObject.js:
+ (WebInspector.RemoteObjectId):
+ (WebInspector.RemoteObject.resolveNode):
+ * inspector/front-end/ScriptsPanel.js:
+
2010-08-17 Xan Lopez <xlopez at igalia.com>
Reviewed by Gustavo Noronha.
diff --git a/WebCore/inspector/front-end/ConsoleView.js b/WebCore/inspector/front-end/ConsoleView.js
index 1f59897..474c362 100644
--- a/WebCore/inspector/front-end/ConsoleView.js
+++ b/WebCore/inspector/front-end/ConsoleView.js
@@ -342,7 +342,7 @@ WebInspector.ConsoleView.prototype = {
var injectedScriptAccess;
if (WebInspector.panels.scripts && WebInspector.panels.scripts.paused) {
var selectedCallFrame = WebInspector.panels.scripts.sidebarPanes.callstack.selectedCallFrame;
- injectedScriptAccess = InjectedScriptAccess.get(selectedCallFrame.injectedScriptId);
+ injectedScriptAccess = InjectedScriptAccess.get(selectedCallFrame.worldId);
} else
injectedScriptAccess = InjectedScriptAccess.getDefault();
injectedScriptAccess.getCompletions(expressionString, includeInspectorCommandLineAPI, callFrameId, reportCompletions);
diff --git a/WebCore/inspector/front-end/ElementsTreeOutline.js b/WebCore/inspector/front-end/ElementsTreeOutline.js
index 4552fa0..c7d39f1 100644
--- a/WebCore/inspector/front-end/ElementsTreeOutline.js
+++ b/WebCore/inspector/front-end/ElementsTreeOutline.js
@@ -413,7 +413,8 @@ WebInspector.ElementsTreeElement.prototype = {
else
this.tooltip = WebInspector.UIString("%d × %d pixels (Natural: %d × %d pixels)", properties.offsetWidth, properties.offsetHeight, properties.naturalWidth, properties.naturalHeight);
}
- WebInspector.RemoteObject.fromNode(node).getPropertyValueDescriptions(["naturalHeight", "naturalWidth", "offsetHeight", "offsetWidth"], setTooltip.bind(this));
+
+ InjectedScriptAccess.getForNode(node).getNodeProperties(node.id, ["naturalHeight", "naturalWidth", "offsetHeight", "offsetWidth"], setTooltip.bind(this));
},
updateSelection: function()
diff --git a/WebCore/inspector/front-end/EventListenersSidebarPane.js b/WebCore/inspector/front-end/EventListenersSidebarPane.js
index a08c46d..2800d6e 100644
--- a/WebCore/inspector/front-end/EventListenersSidebarPane.js
+++ b/WebCore/inspector/front-end/EventListenersSidebarPane.js
@@ -189,17 +189,21 @@ WebInspector.EventListenerBar = function(eventListener, nodeId)
WebInspector.EventListenerBar.prototype = {
update: function()
{
- var properties = [];
- for (var propertyName in this.eventListener) {
- // Just build properties in place - no need to reach out for injected script.
- var value = this.eventListener[propertyName];
- if (value instanceof WebInspector.DOMNode)
- value = WebInspector.RemoteObject.fromNode(value);
- else
- value = WebInspector.RemoteObject.fromPrimitiveValue(value);
- properties.push(new WebInspector.RemoteObjectProperty(propertyName, value));
+ function updateWithNodeObject(nodeObject)
+ {
+ var properties = [];
+ if (nodeObject)
+ properties.push(new WebInspector.RemoteObjectProperty("node", nodeObject));
+
+ for (var propertyName in this.eventListener) {
+ var value = WebInspector.RemoteObject.fromPrimitiveValue(value);
+ properties.push(new WebInspector.RemoteObjectProperty(propertyName, value));
+ }
+ this.updateProperties(properties);
}
- this.updateProperties(properties);
+ var node = this.eventListener.node;
+ delete this.eventListener.node;
+ WebInspector.RemoteObject.resolveNode(node, updateWithNodeObject.bind(this));
},
_setNodeTitle: function()
diff --git a/WebCore/inspector/front-end/InjectedScript.js b/WebCore/inspector/front-end/InjectedScript.js
index caffd3f..b9a43f6 100644
--- a/WebCore/inspector/front-end/InjectedScript.js
+++ b/WebCore/inspector/front-end/InjectedScript.js
@@ -46,7 +46,7 @@ InjectedScript.prototype = {
return result;
},
- _wrapObject: function(object, objectGroupName)
+ _wrapObject: function(object, objectGroupName, abbreviate)
{
try {
var objectId;
@@ -61,9 +61,9 @@ InjectedScript.prototype = {
this._objectGroups[objectGroupName] = group;
}
group.push(id);
- objectId = new InjectedScript.RemoteObjectId(InjectedScript.RemoteObjectId.Type.JsObject, id);
+ objectId = new InjectedScript.RemoteObjectId(id, objectGroupName);
}
- return InjectedScript.RemoteObject.fromObject(object, objectId);
+ return InjectedScript.RemoteObject.fromObject(object, objectId, abbreviate);
} catch (e) {
return InjectedScript.RemoteObject.fromObject("[ Exception: " + e.toString() + " ]");
}
@@ -92,19 +92,17 @@ InjectedScript.prototype = {
getPrototypes: function(nodeId)
{
+ this.releaseWrapperObjectGroup("prototypes");
var node = this._nodeForId(nodeId);
if (!node)
return false;
-
+
var result = [];
var prototype = node;
- var prototypeId = new InjectedScript.RemoteObjectId(InjectedScript.RemoteObjectId.Type.Node, nodeId);
do {
- result.push(InjectedScript.RemoteObject.fromObject(prototype, prototypeId));
+ result.push(this._wrapObject(prototype, "prototypes"));
prototype = prototype.__proto__;
- prototypeId = InjectedScript.RemoteObjectId.deriveProperty(prototypeId, "__proto__");
} while (prototype)
-
return result;
},
@@ -114,7 +112,7 @@ InjectedScript.prototype = {
if (!this._isDefined(object))
return false;
var properties = [];
-
+
var propertyNames = ignoreHasOwnProperty ? this._getPropertyNames(object) : Object.getOwnPropertyNames(object);
if (!ignoreHasOwnProperty && object.__proto__)
propertyNames.push("__proto__");
@@ -128,10 +126,7 @@ InjectedScript.prototype = {
var isGetter = object["__lookupGetter__"] && object.__lookupGetter__(propertyName);
if (!isGetter) {
try {
- var childObject = object[propertyName];
- var childObjectId = InjectedScript.RemoteObjectId.deriveProperty(objectId, propertyName);
- var childObjectProxy = new InjectedScript.RemoteObject.fromObject(childObject, childObjectId, abbreviate);
- property.value = childObjectProxy;
+ property.value = this._wrapObject(object[propertyName], objectId.groupName, abbreviate);
} catch(e) {
property.value = new InjectedScript.RemoteObject.fromException(e);
}
@@ -209,7 +204,7 @@ InjectedScript.prototype = {
if (!callFrame)
return props;
if (expression)
- expressionResult = this._evaluateOn(callFrame.evaluate, callFrame, expression, true);
+ expressionResult = this._evaluateOn(callFrame.evaluate, callFrame, expression);
else {
// Evaluate into properties in scope of the selected call frame.
var scopeChain = callFrame.scopeChain;
@@ -219,7 +214,7 @@ InjectedScript.prototype = {
} else {
if (!expression)
expression = "this";
- expressionResult = this._evaluateOn(inspectedWindow.eval, inspectedWindow, expression, false);
+ expressionResult = this._evaluateOn(inspectedWindow.eval, inspectedWindow, expression);
}
if (typeof expressionResult === "object")
this._populatePropertyNames(expressionResult, props);
@@ -238,31 +233,26 @@ InjectedScript.prototype = {
return this._evaluateAndWrap(inspectedWindow.eval, inspectedWindow, expression, objectGroup);
},
- _evaluateAndWrap: function(evalFunction, object, expression, objectGroup, dontUseCommandLineAPI)
+ _evaluateAndWrap: function(evalFunction, object, expression, objectGroup)
{
try {
- return this._wrapObject(this._evaluateOn(evalFunction, object, expression, dontUseCommandLineAPI), objectGroup);
+ return this._wrapObject(this._evaluateOn(evalFunction, object, expression), objectGroup);
} catch (e) {
return InjectedScript.RemoteObject.fromException(e);
}
},
- _evaluateOn: function(evalFunction, object, expression, dontUseCommandLineAPI)
+ _evaluateOn: function(evalFunction, object, expression)
{
- if (!dontUseCommandLineAPI) {
- // Only install command line api object for the time of evaluation.
-
- // Surround the expression in with statements to inject our command line API so that
- // the window object properties still take more precedent than our API functions.
- inspectedWindow.console._commandLineAPI = this._commandLineAPI;
-
- expression = "with (window.console._commandLineAPI) { with (window) {\n" + expression + "\n} }";
- }
+ // Only install command line api object for the time of evaluation.
+ // Surround the expression in with statements to inject our command line API so that
+ // the window object properties still take more precedent than our API functions.
+ inspectedWindow.console._commandLineAPI = this._commandLineAPI;
+ expression = "with (window.console._commandLineAPI) { with (window) {\n" + expression + "\n} }";
var value = evalFunction.call(object, expression);
- if (!dontUseCommandLineAPI)
- delete inspectedWindow.console._commandLineAPI;
+ delete inspectedWindow.console._commandLineAPI;
// When evaluating on call frame error is not thrown, but returned as a value.
if (this._type(value) === "error")
@@ -282,6 +272,7 @@ InjectedScript.prototype = {
if (!callFrame)
return false;
+ injectedScript.releaseWrapperObjectGroup("backtrace");
var result = [];
var depth = 0;
do {
@@ -296,7 +287,7 @@ InjectedScript.prototype = {
var callFrame = this._callFrameForId(callFrameId);
if (!callFrame)
return false;
- return this._evaluateAndWrap(callFrame.evaluate, callFrame, code, objectGroup, true);
+ return this._evaluateAndWrap(callFrame.evaluate, callFrame, code, objectGroup);
},
_callFrameForId: function(id)
@@ -316,31 +307,27 @@ InjectedScript.prototype = {
_objectForId: function(objectId)
{
- // There are three types of object ids used:
- // - numbers point to DOM Node via the InspectorDOMAgent mapping
- // - strings point to console objects cached in InspectorController for lazy evaluation upon them
- // - objects contain complex ids and are currently used for scoped objects
- var object;
- if (objectId.type === InjectedScript.RemoteObjectId.Type.Node)
- object = this._nodeForId(objectId.value);
- else if (objectId.type === InjectedScript.RemoteObjectId.Type.JsObject)
- object = this._idToWrappedObject[objectId.value];
- else if (objectId.type === InjectedScript.RemoteObjectId.Type.ScopeObject) {
- var callFrame = this._callFrameForId(objectId.value.callFrame);
- if (objectId.thisObject)
- object = callFrame.thisObject;
- else
- object = callFrame.scopeChain[objectId.value.chainIndex];
- } else
- return objectId;
-
- var path = objectId.path;
-
- // Follow the property path.
- for (var i = 0; this._isDefined(object) && path && i < path.length; ++i)
- object = object[path[i]];
-
- return object;
+ return this._idToWrappedObject[objectId.id];
+ },
+
+ resolveNode: function(nodeId)
+ {
+ var node = this._nodeForId(nodeId);
+ if (!node)
+ return false;
+ // FIXME: receive the object group from client.
+ return this._wrapObject(node, "prototype");
+ },
+
+ getNodeProperties: function(nodeId, properties)
+ {
+ var node = this._nodeForId(nodeId);
+ if (!node)
+ return false;
+ var result = {};
+ for (var i = 0; i < properties.length; ++i)
+ result[properties[i]] = node[properties[i]];
+ return result;
},
pushNodeToFrontend: function(objectId)
@@ -421,6 +408,7 @@ InjectedScript.prototype = {
switch (type) {
case "object":
case "node":
+ return this._className(obj);
case "array":
var className = this._className(obj);
if (typeof obj.length === "number")
@@ -510,25 +498,11 @@ InjectedScript.prototype = {
var injectedScript = new InjectedScript();
// FIXME: RemoteObjectId and RemoteObject structs must match the WebInspector.* ones. Should reuse same file instead.
-InjectedScript.RemoteObjectId = function(type, value, path)
-{
- this.injectedScriptId = injectedScriptId;
- this.type = type;
- this.value = value;
- this.path = path || [];
-}
-
-InjectedScript.RemoteObjectId.Type = {
- Node: "node",
- JsObject: "jsObject",
- ScopeObject: "scopeObject"
-}
-
-InjectedScript.RemoteObjectId.deriveProperty = function(objectId, propertyName)
+InjectedScript.RemoteObjectId = function(id, groupName)
{
- var path = objectId.path.slice() || [];
- path.push(propertyName);
- return new InjectedScript.RemoteObjectId(objectId.type, objectId.value, path);
+ this.worldId = injectedScriptId;
+ this.id = id;
+ this.groupName = groupName;
}
InjectedScript.RemoteObject = function(objectId, type, description, hasChildren)
@@ -566,7 +540,7 @@ InjectedScript.CallFrameProxy = function(id, callFrame)
this.sourceID = callFrame.sourceID;
this.line = callFrame.line;
this.scopeChain = this._wrapScopeChain(callFrame);
- this.injectedScriptId = injectedScriptId;
+ this.worldId = injectedScriptId;
}
InjectedScript.CallFrameProxy.prototype = {
@@ -584,15 +558,13 @@ InjectedScript.CallFrameProxy.prototype = {
for (var i = 0; i < scopeChain.length; i++) {
var scopeType = callFrame.scopeType(i);
var scopeObject = scopeChain[i];
- var scopeObjectId = new InjectedScript.RemoteObjectId(InjectedScript.RemoteObjectId.Type.ScopeObject, { callFrame: this.id, chainIndex: i });
- var scopeObjectProxy = InjectedScript.RemoteObject.fromObject(scopeObject, scopeObjectId, true);
+ var scopeObjectProxy = injectedScript._wrapObject(scopeObject, "backtrace", true);
switch(scopeType) {
case LOCAL_SCOPE: {
foundLocalScope = true;
scopeObjectProxy.isLocal = true;
- var thisObjectId = new InjectedScript.RemoteObjectId(InjectedScript.RemoteObjectId.Type.ScopeObject, { callFrame: this.id, thisObject: true });
- scopeObjectProxy.thisObject = InjectedScript.RemoteObject.fromObject(callFrame.thisObject, thisObjectId, true);
+ scopeObjectProxy.thisObject = injectedScript._wrapObject(callFrame.thisObject, "backtrace", true);
break;
}
case CLOSURE_SCOPE: {
diff --git a/WebCore/inspector/front-end/InjectedScriptAccess.js b/WebCore/inspector/front-end/InjectedScriptAccess.js
index 1385ecb..71e5bd3 100644
--- a/WebCore/inspector/front-end/InjectedScriptAccess.js
+++ b/WebCore/inspector/front-end/InjectedScriptAccess.js
@@ -29,17 +29,22 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-function InjectedScriptAccess(injectedScriptId) {
- this._injectedScriptId = injectedScriptId;
+function InjectedScriptAccess(worldId) {
+ this._worldId = worldId;
}
-InjectedScriptAccess.get = function(injectedScriptId)
+InjectedScriptAccess.get = function(worldId)
{
- if (typeof injectedScriptId === "number")
- return new InjectedScriptAccess(injectedScriptId);
+ if (typeof worldId === "number")
+ return new InjectedScriptAccess(worldId);
- console.error("Access to injected script with no id");
- console.trace();
+ console.assert(false, "Access to injected script with no id");
+}
+
+InjectedScriptAccess.getForNode = function(node)
+{
+ // FIXME: do something.
+ return InjectedScriptAccess.get(-node.id);
}
InjectedScriptAccess.getDefault = function()
@@ -66,7 +71,7 @@ InjectedScriptAccess._installHandler = function(methodName, async)
}
var callId = WebInspector.Callback.wrap(myCallback);
- InspectorBackend.dispatchOnInjectedScript(callId, this._injectedScriptId, methodName, argsString);
+ InspectorBackend.dispatchOnInjectedScript(callId, this._worldId, methodName, argsString);
};
}
@@ -81,4 +86,6 @@ InjectedScriptAccess._installHandler("getCompletions");
InjectedScriptAccess._installHandler("getProperties");
InjectedScriptAccess._installHandler("getPrototypes");
InjectedScriptAccess._installHandler("pushNodeToFrontend");
+InjectedScriptAccess._installHandler("resolveNode");
+InjectedScriptAccess._installHandler("getNodeProperties");
InjectedScriptAccess._installHandler("setPropertyValue");
diff --git a/WebCore/inspector/front-end/PropertiesSidebarPane.js b/WebCore/inspector/front-end/PropertiesSidebarPane.js
index 9baaf98..75d6a48 100644
--- a/WebCore/inspector/front-end/PropertiesSidebarPane.js
+++ b/WebCore/inspector/front-end/PropertiesSidebarPane.js
@@ -59,7 +59,7 @@ WebInspector.PropertiesSidebarPane.prototype = {
body.appendChild(section.element);
}
};
- InjectedScriptAccess.get(-node.id).getPrototypes(node.id, callback);
+ InjectedScriptAccess.getForNode(node).getPrototypes(node.id, callback);
}
}
diff --git a/WebCore/inspector/front-end/RemoteObject.js b/WebCore/inspector/front-end/RemoteObject.js
index d6e19f2..ed029ef 100644
--- a/WebCore/inspector/front-end/RemoteObject.js
+++ b/WebCore/inspector/front-end/RemoteObject.js
@@ -28,12 +28,11 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-WebInspector.RemoteObjectId = function(injectedScriptId, type, value, path)
+WebInspector.RemoteObjectId = function(worldId, id, groupName)
{
- this.injectedScriptId = injectedScriptId;
- this.type = type;
- this.value = value;
- this.path = path || [];
+ this.worldId = worldId;
+ this.id = id;
+ this.groupName = groupName;
}
WebInspector.RemoteObject = function(objectId, type, description, hasChildren)
@@ -49,10 +48,13 @@ WebInspector.RemoteObject.fromPrimitiveValue = function(value)
return new WebInspector.RemoteObject(null, typeof value, value);
}
-WebInspector.RemoteObject.fromNode = function(node, path)
+WebInspector.RemoteObject.resolveNode = function(node, callback)
{
- var objectId = new WebInspector.RemoteObjectId(-node.id, "node", node.id, path);
- return new WebInspector.RemoteObject(objectId, "node", appropriateSelectorForNode(node), true);
+ function mycallback(object)
+ {
+ callback(object ? WebInspector.RemoteObject.fromPayload(object) : null);
+ }
+ InjectedScriptAccess.getForNode(node).resolveNode(node.id, mycallback);
}
WebInspector.RemoteObject.fromPayload = function(payload)
@@ -101,24 +103,6 @@ WebInspector.RemoteObject.prototype = {
return this._type === "error";
},
- getPropertyValueDescriptions: function(propertiesToQueryFor, callback)
- {
- function createPropertiesMapThenCallback(propertiesPayload)
- {
- if (!propertiesPayload) {
- callback();
- return;
- }
-
- var result = {};
- for (var i = 0; i < propertiesPayload.length; ++i)
- if (propertiesToQueryFor.indexOf(propertiesPayload[i].name) !== -1)
- result[propertiesPayload[i].name] = propertiesPayload[i].value.description;
- callback(result);
- }
- this.getProperties(true, false, createPropertiesMapThenCallback);
- },
-
getOwnProperties: function(abbreviate, callback)
{
this.getProperties(false, abbreviate, callback);
@@ -136,7 +120,7 @@ WebInspector.RemoteObject.prototype = {
properties[i].value = WebInspector.RemoteObject.fromPayload(properties[i].value);
callback(properties);
}
- InjectedScriptAccess.get(this._objectId.injectedScriptId).getProperties(this._objectId, ignoreHasOwnProperty, abbreviate, remoteObjectBinder);
+ InjectedScriptAccess.get(this._objectId.worldId).getProperties(this._objectId, ignoreHasOwnProperty, abbreviate, remoteObjectBinder);
},
setPropertyValue: function(name, value, callback)
@@ -145,12 +129,12 @@ WebInspector.RemoteObject.prototype = {
callback(false);
return;
}
- InjectedScriptAccess.get(this._objectId.injectedScriptId).setPropertyValue(this._objectId, name, value, callback);
+ InjectedScriptAccess.get(this._objectId.worldId).setPropertyValue(this._objectId, name, value, callback);
},
pushNodeToFrontend: function(callback)
{
- InjectedScriptAccess.get(this._objectId.injectedScriptId).pushNodeToFrontend(this._objectId, callback);
+ InjectedScriptAccess.get(this._objectId.worldId).pushNodeToFrontend(this._objectId, callback);
}
}
diff --git a/WebCore/inspector/front-end/ScriptsPanel.js b/WebCore/inspector/front-end/ScriptsPanel.js
index 16e60cb..8675f79 100644
--- a/WebCore/inspector/front-end/ScriptsPanel.js
+++ b/WebCore/inspector/front-end/ScriptsPanel.js
@@ -403,7 +403,7 @@ WebInspector.ScriptsPanel.prototype = {
if (result)
callback(WebInspector.RemoteObject.fromPayload(result));
}
- InjectedScriptAccess.get(callFrame.injectedScriptId).evaluateInCallFrame(callFrame.id, code, objectGroup, evalCallback);
+ InjectedScriptAccess.get(callFrame.worldId).evaluateInCallFrame(callFrame.id, code, objectGroup, evalCallback);
},
debuggerPaused: function(callFrames)
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list