blob: 4e7fd2f0d0cc1164079347e20fde92871af7e57a [file] [log] [blame]
/*
* weinre is available under *either* the terms of the modified BSD license *or* the
* MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
*
* Copyright (c) 2011 IBM Corporation
*/
requireClass ../common/Weinre
//-----------------------------------------------------------------------------
class WiDOMImpl
//-----------------------------------------------------------------------------
method getChildNodes(/*int*/ nodeId, callback)
var node = Weinre.nodeStore.getNode(nodeId)
if (!node) {
Weinre.logWarning(arguments.callee.signature + " passed an invalid nodeId: " + nodeId)
return
}
var children = Weinre.nodeStore.serializeNodeChildren(node, 1)
Weinre.wi.DOMNotify.setChildNodes(nodeId, children)
if (callback) {
Weinre.WeinreTargetCommands.sendClientCallback(callback)
}
//-----------------------------------------------------------------------------
method setAttribute(/*int*/ elementId, /*string*/ name, /*string*/ value, callback)
var element = Weinre.nodeStore.getNode(elementId)
if (!element) {
Weinre.logWarning(arguments.callee.signature + " passed an invalid elementId: " + elementId)
return
}
element.setAttribute(name, value)
if (callback) {
Weinre.WeinreTargetCommands.sendClientCallback(callback)
}
//-----------------------------------------------------------------------------
method removeAttribute(/*int*/ elementId, /*string*/ name, callback)
var element = Weinre.nodeStore.getNode(elementId)
if (!element) {
Weinre.logWarning(arguments.callee.signature + " passed an invalid elementId: " + elementId)
return
}
element.removeAttribute(name)
if (callback) {
Weinre.WeinreTargetCommands.sendClientCallback(callback)
}
//-----------------------------------------------------------------------------
method setTextNodeValue(/*int*/ nodeId, /*string*/ value, callback)
var node = Weinre.nodeStore.getNode(nodeId)
if (!node) {
Weinre.logWarning(arguments.callee.signature + " passed an invalid nodeId: " + nodeId)
return
}
node.nodeValue = value
if (callback) {
Weinre.WeinreTargetCommands.sendClientCallback(callback)
}
//-----------------------------------------------------------------------------
method getEventListenersForNode(/*int*/ nodeId, callback)
// callback: function(/*int*/ outNodeId, /*any[]*/ listenersArray)
Weinre.notImplemented(arguments.callee.signature)
//-----------------------------------------------------------------------------
method copyNode(/*int*/ nodeId, callback)
// callback: function()
Weinre.notImplemented(arguments.callee.signature)
//-----------------------------------------------------------------------------
method removeNode(/*int*/ nodeId, callback)
var node = Weinre.nodeStore.getNode(nodeId)
if (!node) {
Weinre.logWarning(arguments.callee.signature + " passed an invalid nodeId: " + nodeId)
return
}
if (!node.parentNode) {
Weinre.logWarning(arguments.callee.signature + " passed a parentless node: " + node)
return
}
node.parentNode.removeChild(node)
if (callback) {
Weinre.WeinreTargetCommands.sendClientCallback(callback)
}
//-----------------------------------------------------------------------------
method changeTagName(/*int*/ nodeId, /*string*/ newTagName, callback)
// callback: function(/*int*/ outNodeId)
Weinre.notImplemented(arguments.callee.signature)
//-----------------------------------------------------------------------------
method getOuterHTML(/*int*/ nodeId, callback)
var node = Weinre.nodeStore.getNode(nodeId)
if (!node) {
Weinre.logWarning(arguments.callee.signature + " passed an invalid nodeId: " + nodeId)
return
}
value = node.outerHTML
if (callback) {
Weinre.WeinreTargetCommands.sendClientCallback(callback, [value])
}
//-----------------------------------------------------------------------------
method setOuterHTML(/*int*/ nodeId, /*string*/ outerHTML, callback)
var node = Weinre.nodeStore.getNode(nodeId)
if (!node) {
Weinre.logWarning(arguments.callee.signature + " passed an invalid nodeId: " + nodeId)
return
}
node.outerHTML = outerHTML
if (callback) {
Weinre.WeinreTargetCommands.sendClientCallback(callback)
}
//-----------------------------------------------------------------------------
method addInspectedNode(/*int*/ nodeId, callback)
Weinre.nodeStore.addInspectedNode(nodeId)
if (callback) {
Weinre.WeinreTargetCommands.sendClientCallback(callback)
}
//-----------------------------------------------------------------------------
method performSearch(/*string*/ query, /*boolean*/ runSynchronously, callback)
// callback: function()
Weinre.notImplemented(arguments.callee.signature)
//-----------------------------------------------------------------------------
method searchCanceled(callback)
// callback: function()
Weinre.notImplemented(arguments.callee.signature)
//-----------------------------------------------------------------------------
method pushNodeByPathToFrontend(/*string*/ path, callback)
// callback: function(/*int*/ nodeId)
Weinre.notImplemented(arguments.callee.signature)
//-----------------------------------------------------------------------------
method resolveNode(/*int*/ nodeId, callback)
var result = Weinre.injectedScript.resolveNode(nodeId)
if (callback) {
Weinre.WeinreTargetCommands.sendClientCallback(callback, [result])
}
//-----------------------------------------------------------------------------
method getNodeProperties(/*int*/ nodeId, /*any[]*/ propertiesArray, callback)
var propertiesArray = JSON.stringify(propertiesArray)
var result = Weinre.injectedScript.getNodeProperties(nodeId, propertiesArray)
if (callback) {
Weinre.WeinreTargetCommands.sendClientCallback(callback, [result])
}
//-----------------------------------------------------------------------------
method getNodePrototypes(/*int*/ nodeId, callback)
var result = Weinre.injectedScript.getNodePrototypes(nodeId)
if (callback) {
Weinre.WeinreTargetCommands.sendClientCallback(callback, [result])
}
//-----------------------------------------------------------------------------
method pushNodeToFrontend(/*any*/ objectId, callback)
var objectId = JSON.stringify(objectId)
var result = Weinre.injectedScript.pushNodeToFrontend(objectId)
if (callback) {
Weinre.WeinreTargetCommands.sendClientCallback(callback, [result])
}