Reviewed by Yury Semikhatsky.
Web Inspector: follow up to error reporting, fixing multiple regressions.
https://bugs.webkit.org/show_bug.cgi?id=56243
* inspector/elements/elements-panel-search.html:
2011-03-11 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: follow up to error reporting, fixing multiple regressions.
https://bugs.webkit.org/show_bug.cgi?id=56243
* inspector/InjectedScript.cpp:
(WebCore::InjectedScript::setPropertyValue):
* inspector/InjectedScript.h:
* inspector/Inspector.idl:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getChildNodes):
(WebCore::InspectorDOMAgent::getOuterHTML):
(WebCore::InspectorDOMAgent::getEventListenersForNode):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorRuntimeAgent.cpp:
(WebCore::InspectorRuntimeAgent::setPropertyValue):
* inspector/InspectorRuntimeAgent.h:
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMNode.prototype.setNodeName):
(WebInspector.DOMNode.prototype.setNodeValue):
(WebInspector.DOMNode.prototype.getChildNodes):
(WebInspector.DOMNode.prototype.getOuterHTML):
(WebInspector.DOMNode.prototype.setOuterHTML):
(WebInspector.DOMNode.prototype.removeNode):
(WebInspector.DOMNode.prototype.copyNode):
(WebInspector.DOMAgent.prototype.pushNodeToFrontend):
(WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
(WebInspector.EventListeners.getEventListenersForNode):
* inspector/front-end/DOMStorage.js:
(WebInspector.DOMStorage.prototype.getEntries):
(WebInspector.DOMStorage.prototype.setItem):
(WebInspector.DOMStorage.prototype.removeItem):
* inspector/front-end/DOMStorageItemsView.js:
(WebInspector.DOMStorageItemsView.prototype.update):
(WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
(WebInspector.ElementsTreeElement.prototype.updateChildren):
():
* inspector/front-end/EventListenersSidebarPane.js:
(WebInspector.EventListenersSidebarPane.prototype.update.callback):
(WebInspector.EventListenersSidebarPane.prototype.update):
* inspector/front-end/ObjectPropertiesSection.js:
(WebInspector.ObjectPropertyTreeElement.prototype.applyExpression.callback):
(WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
* inspector/front-end/PropertiesSidebarPane.js:
(WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
* inspector/front-end/RemoteObject.js:
(WebInspector.RemoteObject.prototype.setPropertyValue):
(WebInspector.RemoteObject.prototype.evaluate):
* inspector/front-end/inspector.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@80931
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2011-03-11 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: follow up to error reporting, fixing multiple regressions.
+ https://bugs.webkit.org/show_bug.cgi?id=56243
+
+ * inspector/elements/elements-panel-search.html:
+
2011-03-11 Anton D'Auria <adauria@apple.com>
Reviewed by Brady Eidson.
return;
}
pendingRequests++;
- childNode.childNodes(processChildren.bind(null, false));
+ childNode.getChildNodes(processChildren.bind(null, false));
}
if (topLevel)
WebInspector.domAgent.requestDocument(documentRequested.bind(this));
function documentRequested(doc)
{
- doc.childNodes(processChildren.bind(this, true));
+ doc.getChildNodes(processChildren.bind(this, true));
}
};
function dumpNodes(next, error, nodeIds)
{
- if (error)
- InspectorTest.addRecord(error);
+ if (error) {
+ InspectorTest.addResult(error);
+ next();
+ return;
+ }
if (!(nodeIds instanceof Array))
nodeIds = [nodeIds];
for (var i = 0; i < nodeIds.length; ++i) {
- var node = WebInspector.domAgent.nodeForId(nodeIds[i]);
- InspectorTest.addResult("node id: " + node.getAttribute("id"));
+ if (!nodeIds[i])
+ InspectorTest.addResult("no results");
+ else {
+ var node = WebInspector.domAgent.nodeForId(nodeIds[i]);
+ InspectorTest.addResult("node id: " + node.getAttribute("id"));
+ }
}
next();
}
WebInspector.showPanel("elements");
var searchResults = [];
- function addSearchResult(markupValue)
+ function addSearchResult(error, markupValue)
{
+ if (error)
+ return;
+
if (markupValue.indexOf("ter" + "mi" + "nator") !== -1) {
InspectorTest.addResult("====================================");
InspectorTest.addResult("Results:");
if (node.nodeType() === Node.TEXT_NODE)
searchResults.push(node.nodeValue());
else
- node.outerHTML(addSearchResult);
+ node.getOuterHTML(addSearchResult);
}
}
if (queuedOutput[i])
output(queuedOutput[i]);
}
- nextTest();
+ nextTest();
}
webInspector.inspectedWindow.onDOMContentLoaded.addListener(function(time) {
response:
{
requestId : <number>
- body : {
- result : true
- }
}
-----------------------------------------------------------
response:
{
requestId : <number>
- body : {
- result : true
- }
}
-----------------------------------------------------------
InspectorTest.startTimeline = function(callback)
{
InspectorTest._timelineRecords = [];
- TimelineAgent.start(errorFilter.bind(this, callback));
+ TimelineAgent.start(callback);
function addRecord(record)
{
InspectorTest._timelineRecords.push(record);
InspectorTest.stopTimeline = function(callback)
{
- TimelineAgent.stop(errorFilter.bind(this, callback));
+ TimelineAgent.stop(callback);
};
InspectorTest.performActionsAndPrint = function(actions, typeName)
+2011-03-11 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: follow up to error reporting, fixing multiple regressions.
+ https://bugs.webkit.org/show_bug.cgi?id=56243
+
+ * inspector/InjectedScript.cpp:
+ (WebCore::InjectedScript::setPropertyValue):
+ * inspector/InjectedScript.h:
+ * inspector/Inspector.idl:
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::getChildNodes):
+ (WebCore::InspectorDOMAgent::getOuterHTML):
+ (WebCore::InspectorDOMAgent::getEventListenersForNode):
+ * inspector/InspectorDOMAgent.h:
+ * inspector/InspectorRuntimeAgent.cpp:
+ (WebCore::InspectorRuntimeAgent::setPropertyValue):
+ * inspector/InspectorRuntimeAgent.h:
+ * inspector/front-end/DOMAgent.js:
+ (WebInspector.DOMNode.prototype.setNodeName):
+ (WebInspector.DOMNode.prototype.setNodeValue):
+ (WebInspector.DOMNode.prototype.getChildNodes):
+ (WebInspector.DOMNode.prototype.getOuterHTML):
+ (WebInspector.DOMNode.prototype.setOuterHTML):
+ (WebInspector.DOMNode.prototype.removeNode):
+ (WebInspector.DOMNode.prototype.copyNode):
+ (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
+ (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
+ (WebInspector.EventListeners.getEventListenersForNode):
+ * inspector/front-end/DOMStorage.js:
+ (WebInspector.DOMStorage.prototype.getEntries):
+ (WebInspector.DOMStorage.prototype.setItem):
+ (WebInspector.DOMStorage.prototype.removeItem):
+ * inspector/front-end/DOMStorageItemsView.js:
+ (WebInspector.DOMStorageItemsView.prototype.update):
+ (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
+ (WebInspector.ElementsTreeElement.prototype.updateChildren):
+ ():
+ * inspector/front-end/EventListenersSidebarPane.js:
+ (WebInspector.EventListenersSidebarPane.prototype.update.callback):
+ (WebInspector.EventListenersSidebarPane.prototype.update):
+ * inspector/front-end/ObjectPropertiesSection.js:
+ (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression.callback):
+ (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
+ * inspector/front-end/PropertiesSidebarPane.js:
+ (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
+ * inspector/front-end/RemoteObject.js:
+ (WebInspector.RemoteObject.prototype.setPropertyValue):
+ (WebInspector.RemoteObject.prototype.evaluate):
+ * inspector/front-end/inspector.js:
+
2011-03-12 Jer Noble <jer.noble@apple.com>
Unreviewed build fix.
makeCall(function, result);
}
-void InjectedScript::setPropertyValue(PassRefPtr<InspectorObject> objectId, const String& propertyName, const String& expression, RefPtr<InspectorValue>* result)
+String InjectedScript::setPropertyValue(PassRefPtr<InspectorObject> objectId, const String& propertyName, const String& expression)
{
ScriptFunctionCall function(m_injectedScriptObject, "setPropertyValue");
function.appendArgument(objectId->toJSONString());
function.appendArgument(propertyName);
function.appendArgument(expression);
- makeCall(function, result);
+ RefPtr<InspectorValue> result;
+ makeCall(function, &result);
+
+ String error;
+ result->asString(&error);
+ return error;
}
void InjectedScript::releaseObject(PassRefPtr<InspectorObject> objectId)
void getProperties(PassRefPtr<InspectorObject> objectId, bool ignoreHasOwnProperty, bool abbreviate, RefPtr<InspectorValue>* result);
Node* nodeForObjectId(PassRefPtr<InspectorObject> objectId);
void resolveNode(long nodeId, RefPtr<InspectorValue>* result);
- void setPropertyValue(PassRefPtr<InspectorObject> objectId, const String& propertyName, const String& expression, RefPtr<InspectorValue>* result);
+ String setPropertyValue(PassRefPtr<InspectorObject> objectId, const String& propertyName, const String& expression);
void releaseObject(PassRefPtr<InspectorObject> objectId);
-
+
#if ENABLE(JAVASCRIPT_DEBUGGER)
PassRefPtr<InspectorValue> callFrames();
#endif
var parsedObjectId = this._parseObjectId(objectId);
var object = this._objectForId(parsedObjectId);
if (!this._isDefined(object))
- return false;
+ return "Object with given id not found";
var expressionLength = expression.length;
if (!expressionLength) {
delete object[propertyName];
- return !(propertyName in object);
+ return propertyName in object ? "Cound not delete property." : undefined;
}
try {
var result = inspectedWindow.eval("(" + expression + ")");
// Store the result in the property.
object[propertyName] = result;
- return true;
} catch(e) {
try {
var result = inspectedWindow.eval("\"" + expression.replace(/"/g, "\\\"") + "\"");
object[propertyName] = result;
- return true;
} catch(e) {
- return false;
+ return e.toString();
}
}
},
void evaluate(in String expression, in String objectGroup, in boolean includeCommandLineAPI, out Value result);
void evaluateOn(in Object objectId, in String expression, out Value result);
void getProperties(in Object objectId, in boolean ignoreHasOwnProperty, in boolean abbreviate, out Value result);
- void setPropertyValue(in Object objectId, in String propertyName, in String expression, out Value result);
+ void setPropertyValue(in Object objectId, in String propertyName, in String expression);
void releaseObject(in Object objectId);
void releaseObjectGroup(in long injectedScriptId, in String objectGroup);
};
interface [Conditional=INSPECTOR] DOM {
void getDocument(out Object root);
- void childNodes(in long nodeId);
+ void getChildNodes(in long nodeId);
void querySelector(in long nodeId, in String selectors, in boolean documentWide, out long elementId);
- void querySelectorAll(in long nodeId, in String selectors, in boolean documentWide, out Array result);
+ void querySelectorAll(in long nodeId, in String selectors, in boolean documentWide, out Array nodeIds);
void setNodeName(in long nodeId, in String name, out long outNodeId);
void setNodeValue(in long nodeId, in String value, out boolean success);
void setAttribute(in long elementId, in String name, in String value, out boolean success);
void removeAttribute(in long elementId, in String name, out boolean success);
- void getEventListenersForNode(in long nodeId, out long outNodeId, out Array listenersArray);
+ void getEventListenersForNode(in long nodeId, out Array listenersArray);
void copyNode(in long nodeId);
- void outerHTML(in long nodeId, out String outerHTML);
+ void getOuterHTML(in long nodeId, out String outerHTML);
void setOuterHTML(in long nodeId, in String outerHTML, out long outNodeId);
void performSearch(in String query, in boolean runSynchronously);
return 0;
}
-void InspectorDOMAgent::childNodes(ErrorString*, long nodeId)
+void InspectorDOMAgent::getChildNodes(ErrorString*, long nodeId)
{
pushChildNodesToFrontend(nodeId);
}
-void InspectorDOMAgent::querySelector(ErrorString*, long nodeId, const String& selectors, bool documentWide, long* elementId)
+void InspectorDOMAgent::querySelector(ErrorString* errorString, long nodeId, const String& selectors, bool documentWide, long* elementId)
{
*elementId = 0;
Node* node = nodeToSelectOn(nodeId, documentWide);
- if (!node)
+ if (!node) {
+ *errorString = "Node with given id not found.";
return;
+ }
ExceptionCode ec = 0;
RefPtr<Element> element = node->querySelector(selectors, ec);
- if (ec)
+ if (ec) {
+ *errorString = "DOM Error while querying.";
return;
+ }
if (element)
*elementId = pushNodePathToFrontend(element.get());
}
-void InspectorDOMAgent::querySelectorAll(ErrorString*, long nodeId, const String& selectors, bool documentWide, RefPtr<InspectorArray>* result)
+void InspectorDOMAgent::querySelectorAll(ErrorString* errorString, long nodeId, const String& selectors, bool documentWide, RefPtr<InspectorArray>* result)
{
Node* node = nodeToSelectOn(nodeId, documentWide);
- if (!node)
+ if (!node) {
+ *errorString = "Node with given id not found.";
return;
+ }
ExceptionCode ec = 0;
RefPtr<NodeList> nodes = node->querySelectorAll(selectors, ec);
- if (ec)
+ if (ec) {
+ *errorString = "DOM Error while querying.";
return;
+ }
for (unsigned i = 0; i < nodes->length(); ++i)
(*result)->pushNumber(pushNodePathToFrontend(nodes->item(i)));
pushChildNodesToFrontend(*newId);
}
-void InspectorDOMAgent::outerHTML(ErrorString*, long nodeId, WTF::String* outerHTML)
+void InspectorDOMAgent::getOuterHTML(ErrorString*, long nodeId, WTF::String* outerHTML)
{
Node* node = nodeForId(nodeId);
if (!node || !node->isHTMLElement())
*success = false;
}
-void InspectorDOMAgent::getEventListenersForNode(ErrorString*, long nodeId, long* outNodeId, RefPtr<InspectorArray>* listenersArray)
+void InspectorDOMAgent::getEventListenersForNode(ErrorString*, long nodeId, RefPtr<InspectorArray>* listenersArray)
{
Node* node = nodeForId(nodeId);
- *outNodeId = nodeId;
EventTargetData* d;
// Quick break if a null node or no listeners at all
void querySelector(ErrorString*, long nodeId, const String& selectors, bool documentWide, long* elementId);
void querySelectorAll(ErrorString*, long nodeId, const String& selectors, bool documentWide, RefPtr<InspectorArray>* result);
void getDocument(ErrorString*, RefPtr<InspectorObject>* root);
- void childNodes(ErrorString*, long nodeId);
+ void getChildNodes(ErrorString*, long nodeId);
void setAttribute(ErrorString*, long elementId, const String& name, const String& value, bool* success);
void removeAttribute(ErrorString*, long elementId, const String& name, bool* success);
void removeNode(ErrorString*, long nodeId, long* outNodeId);
void setNodeName(ErrorString*, long nodeId, const String& name, long* newId);
- void outerHTML(ErrorString*, long nodeId, WTF::String* outerHTML);
+ void getOuterHTML(ErrorString*, long nodeId, WTF::String* outerHTML);
void setOuterHTML(ErrorString*, long nodeId, const String& outerHTML, long* newId);
void setNodeValue(ErrorString*, long nodeId, const String& value, bool* success);
- void getEventListenersForNode(ErrorString*, long nodeId, long* outNodeId, RefPtr<InspectorArray>* listenersArray);
+ void getEventListenersForNode(ErrorString*, long nodeId, RefPtr<InspectorArray>* listenersArray);
void performSearch(ErrorString*, const String& whitespaceTrimmedQuery, bool runSynchronously);
void searchCanceled(ErrorString*);
void resolveNode(ErrorString*, long nodeId, const String& objectGroup, RefPtr<InspectorValue>* result);
injectedScript.getProperties(objectId, ignoreHasOwnProperty, abbreviate, result);
}
-void InspectorRuntimeAgent::setPropertyValue(ErrorString*, PassRefPtr<InspectorObject> objectId, const String& propertyName, const String& expression, RefPtr<InspectorValue>* result)
+void InspectorRuntimeAgent::setPropertyValue(ErrorString* errorString, PassRefPtr<InspectorObject> objectId, const String& propertyName, const String& expression)
{
InjectedScript injectedScript = m_injectedScriptManager->injectedScriptForObjectId(objectId.get());
if (!injectedScript.hasNoValue())
- injectedScript.setPropertyValue(objectId, propertyName, expression, result);
+ *errorString = injectedScript.setPropertyValue(objectId, propertyName, expression);
+ else
+ *errorString = "No injected script found.";
}
void InspectorRuntimeAgent::releaseObject(ErrorString*, PassRefPtr<InspectorObject> objectId)
void evaluateOn(ErrorString*, PassRefPtr<InspectorObject> objectId, const String& expression, RefPtr<InspectorValue>* result);
void releaseObject(ErrorString*, PassRefPtr<InspectorObject> objectId);
void getProperties(ErrorString*, PassRefPtr<InspectorObject> objectId, bool ignoreHasOwnProperty, bool abbreviate, RefPtr<InspectorValue>* result);
- void setPropertyValue(ErrorString*, PassRefPtr<InspectorObject> objectId, const String& propertyName, const String& expression, RefPtr<InspectorValue>* result);
+ void setPropertyValue(ErrorString*, PassRefPtr<InspectorObject> objectId, const String& propertyName, const String& expression);
void releaseObjectGroup(ErrorString*, long injectedScriptId, const String& objectGroup);
private:
if (!targetNodeId)
return;
- RuntimeAgent.releaseObject(eventData.targetNode);
+ eventData.targetNode.release();
var targetNode = WebInspector.panels.elements.linkifyNodeById(targetNodeId);
if (eventData.insertion) {
if (targetNodeId !== this._nodeId)
setNodeName: function(name, callback)
{
- DOMAgent.setNodeName(this.id, name, errorFilter.bind(null, callback));
+ DOMAgent.setNodeName(this.id, name, callback);
},
localName: function()
setNodeValue: function(value, callback)
{
- DOMAgent.setNodeValue(this.id, value, errorFilter.bind(null, callback));
+ DOMAgent.setNodeValue(this.id, value, callback);
},
getAttribute: function(name)
DOMAgent.removeAttribute(this.id, name, mycallback.bind(this));
},
- childNodes: function(callback)
+ getChildNodes: function(callback)
{
if (this.children) {
if (callback)
if (!error && callback)
callback(this.children);
}
- DOMAgent.childNodes(this.id, mycallback.bind(this));
+ DOMAgent.getChildNodes(this.id, mycallback.bind(this));
},
- outerHTML: function(callback)
+ getOuterHTML: function(callback)
{
- DOMAgent.outerHTML(this.id, errorFilter.bind(null, callback));
+ DOMAgent.getOuterHTML(this.id, callback);
},
setOuterHTML: function(html, callback)
{
- DOMAgent.setOuterHTML(this.id, html, errorFilter.bind(null, callback));
+ DOMAgent.setOuterHTML(this.id, html, callback);
},
removeNode: function(callback)
{
- DOMAgent.removeNode(this.id, errorFilter.bind(null, callback));
+ DOMAgent.removeNode(this.id, callback);
},
copyNode: function(callback)
{
- DOMAgent.copyNode(this.id, errorFilter.bind(null, callback));
+ DOMAgent.copyNode(this.id, callback);
},
path: function()
pushNodeToFrontend: function(objectId, callback)
{
+ function callbackWrapper(error, nodeId)
+ {
+ if (callback)
+ callback(error ? 0 : nodeId);
+ }
+
function mycallback()
{
if (this._document)
- DOMAgent.pushNodeToFrontend(objectId, errorFilter.bind(null, callback));
- else {
- if (callback)
- callback(0);
- }
+ DOMAgent.pushNodeToFrontend(objectId, callbackWrapper);
+ else
+ callbackWrapper("No document");
}
+
this.requestDocument(mycallback.bind(this));
},
pushNodeByPathToFrontend: function(path, callback)
{
+ function callbackWrapper(error, nodeId)
+ {
+ if (callback)
+ callback(error ? 0 : nodeId);
+ }
+
function mycallback()
{
if (this._document)
- DOMAgent.pushNodeByPathToFrontend(path, errorFilter.bind(null, callback));
- else {
- if (callback)
- callback(0);
- }
+ DOMAgent.pushNodeByPathToFrontend(path, callbackWrapper);
+ else
+ callbackWrapper("No document");
}
this.requestDocument(mycallback.bind(this));
},
WebInspector.EventListeners = {}
-WebInspector.EventListeners.getEventListenersForNodeAsync = function(node, callback)
+WebInspector.EventListeners.getEventListenersForNode = function(node, callback)
{
if (!node)
return;
- DOMAgent.getEventListenersForNode(node.id, errorFilter.bind(this, callback));
+ DOMAgent.getEventListenersForNode(node.id, callback);
}
getEntries: function(callback)
{
- DOMStorageAgent.getDOMStorageEntries(this._id, errorFilter.bind(null, callback));
+ DOMStorageAgent.getDOMStorageEntries(this._id, callback);
},
setItem: function(key, value, callback)
{
- DOMStorageAgent.setDOMStorageItem(this._id, key, value, errorFilter.bind(null, callback));
+ DOMStorageAgent.setDOMStorageItem(this._id, key, value, callback);
},
removeItem: function(key, callback)
{
- DOMStorageAgent.removeDOMStorageItem(this._id, key, errorFilter.bind(null, callback));
+ DOMStorageAgent.removeDOMStorageItem(this._id, key, callback);
}
}
update: function()
{
this.element.removeChildren();
- var callback = this._showDOMStorageEntries.bind(this);
- this.domStorage.getEntries(callback);
+ this.domStorage.getEntries(this._showDOMStorageEntries.bind(this));
},
- _showDOMStorageEntries: function(entries)
+ _showDOMStorageEntries: function(error, entries)
{
+ if (error)
+ return;
+
this._dataGrid = this._dataGridForDOMStorageEntries(entries);
this.element.appendChild(this._dataGrid.element);
this._dataGrid.autoSizeColumns(10);
if (!node.nodeName() || node.nodeName().toLowerCase() !== "img")
return;
- function setTooltip(result)
+ function setTooltip(error, result)
{
- if (!result || result.type !== "string")
+ if (error || !result || result.type !== "string")
return;
try {
}
}
- function resolvedNode(error, objectPayload)
+ function resolvedNode(objectPayload)
{
- if (error || !objectPayload)
+ if (!objectPayload)
return;
var object = WebInspector.RemoteObject.fromPayload(objectPayload);
object.evaluate("return '[' + this.offsetWidth + ',' + this.offsetHeight + ',' + this.naturalWidth + ',' + this.naturalHeight + ']'", setTooltip.bind(this));
+ object.release();
}
- DOMAgent.resolveNode(node.id, "", resolvedNode.bind(this));
+ WebInspector.RemoteObject.resolveNode(node, resolvedNode.bind(this));
},
updateSelection: function()
{
if (this._elementCloseTag)
return;
- this.representedObject.childNodes(this._updateChildren.bind(this, fullRefresh));
+ this.representedObject.getChildNodes(this._updateChildren.bind(this, fullRefresh));
},
insertChildElement: function(child, index, closingTag)
return;
var self = this;
- function removeNodeCallback(removedNodeId)
+ function removeNodeCallback(error, removedNodeId)
{
// -1 is an error code, which means removing the node from the DOM failed,
// so we shouldn't remove it from the tree.
node.setOuterHTML(value, selectNode);
}
- node.outerHTML(this._startEditingAsHTML.bind(this, commitChange));
+ node.getOuterHTML(this._startEditingAsHTML.bind(this, commitChange));
},
_copyHTML: function()
this.sections = [];
var self = this;
- function callback(nodeId, eventListeners) {
+ function callback(error, eventListeners) {
+ if (error)
+ return;
+
var sectionNames = [];
var sectionMap = {};
for (var i = 0; i < eventListeners.length; ++i) {
var type = eventListener.type;
var section = sectionMap[type];
if (!section) {
- section = new WebInspector.EventListenersSection(type, nodeId);
+ section = new WebInspector.EventListenersSection(type, node.id);
sectionMap[type] = section;
sectionNames.push(type);
self.sections.push(section);
}
}
- WebInspector.EventListeners.getEventListenersForNodeAsync(node, callback);
+ WebInspector.EventListeners.getEventListenersForNode(node, callback);
},
_changeSetting: function(event)
}
]
}
- ]
+ ]
},
{
"id": "ExtensionSidebarPane",
{
expression = expression.trim();
var expressionLength = expression.length;
- var self = this;
- var callback = function(success) {
+ function callback(error)
+ {
if (!updateInterface)
return;
- if (!success)
- self.update();
+ if (error)
+ this.update();
if (!expressionLength) {
// The property was deleted, so remove this tree element.
- self.parent.removeChild(this);
+ this.parent.removeChild(this);
} else {
// Call updateSiblings since their value might be based on the value that just changed.
- self.updateSiblings();
+ this.updateSiblings();
}
};
- this.property.parentObject.setPropertyValue(this.property.name, expression.trim(), callback);
+ this.property.parentObject.setPropertyValue(this.property.name, expression.trim(), callback.bind(this));
}
}
object.evaluate("var proto = this; result = {}; var counter = 1; while (proto) { result[counter++] = proto; proto = proto.__proto__ }; return result;", nodePrototypesReady.bind(this));
}
- function nodePrototypesReady(objectPayload)
+ function nodePrototypesReady(error, objectPayload)
{
- if (!objectPayload)
+ if (error || !objectPayload)
return;
var object = WebInspector.RemoteObject.fromPayload(objectPayload);
object.getOwnProperties(false, fillSection.bind(this));
{
function mycallback(error, object)
{
- if (error)
+ if (!callback)
return;
- callback(object ? WebInspector.RemoteObject.fromPayload(object) : null);
+
+ if (error || !object)
+ callback(null);
+ else
+ callback(WebInspector.RemoteObject.fromPayload(object));
}
DOMAgent.resolveNode(node.id, "dom-selection", mycallback);
}
setPropertyValue: function(name, value, callback)
{
if (!this._objectId) {
- callback(false);
+ callback("Can't get a property of non-object.");
return;
}
- RuntimeAgent.setPropertyValue(this._objectId, name, value, errorFilter.bind(this, callback));
+ RuntimeAgent.setPropertyValue(this._objectId, name, value, callback);
},
pushNodeToFrontend: function(callback)
evaluate: function(expression, callback)
{
- RuntimeAgent.evaluateOn(this._objectId, expression, errorFilter.bind(this, callback));
+ RuntimeAgent.evaluateOn(this._objectId, expression, callback);
+ },
+
+ release: function()
+ {
+ RuntimeAgent.releaseObject(this._objectId);
}
}
(new Image()).src = "Images/undockButtonGlyph.png";
})();
-function errorFilter()
-{
- var args = Array.prototype.slice.call(arguments);
- var callback = args.shift();
- var error = args.shift();
- if (!error)
- callback.apply(this, args);
-}
-
var WebInspector = {
resources: {},
missingLocalizedStrings: {},
WebInspector.panels.resources.selectDOMStorage(hints.domStorageId);
}
- RuntimeAgent.releaseObject(objectId);
+ object.release();
}
WebInspector.updateFocusedNode = function(nodeId)