| |
| /* |
| * 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]) |
| } |