| Index: sky/framework/inspector/dom-agent.sky
|
| diff --git a/sky/framework/inspector/dom-agent.sky b/sky/framework/inspector/dom-agent.sky
|
| deleted file mode 100644
|
| index 0f78c0dbc283efbbfa4bd6a6b8c6775a10d62f0b..0000000000000000000000000000000000000000
|
| --- a/sky/framework/inspector/dom-agent.sky
|
| +++ /dev/null
|
| @@ -1,173 +0,0 @@
|
| -<script>
|
| -class DOMAgent {
|
| - constructor(delegate) {
|
| - this.enabled = false;
|
| - this.delegate_ = delegate;
|
| - this.nextNodeId_ = 1;
|
| - this.nodeToId_ = new Map();
|
| - this.idToNode_ = new Map();
|
| - this.observer_ = null;
|
| - Object.preventExtensions(this);
|
| - }
|
| -
|
| - getIdForNode_(node) {
|
| - if (this.nodeToId_.has(node))
|
| - return this.nodeToId_.get(node);
|
| - var id = this.nextNodeId_++;
|
| - this.nodeToId_.set(node, id);
|
| - this.idToNode_.set(id, node);
|
| - return id;
|
| - }
|
| -
|
| - getNodeForId(nodeId) {
|
| - return this.idToNode_.get(nodeId);
|
| - }
|
| -
|
| - serializeChildren_(node) {
|
| - var children = [];
|
| - for (var child = node.firstChild; child; child = child.nextSibling) {
|
| - var record = this.serializeNode_(child);
|
| - if (record)
|
| - children.push(record);
|
| - }
|
| - return children;
|
| - }
|
| -
|
| - serializeAttributes_(element) {
|
| - var attributes = [];
|
| - var attrs = element.getAttributes();
|
| - for (var i = 0; i < attrs.length; ++i) {
|
| - var attr = attrs[i];
|
| - attributes.push(attr.name);
|
| - attributes.push(attr.value);
|
| - }
|
| - return attributes;
|
| - }
|
| -
|
| - serializeNode_(node) {
|
| - var id = this.getIdForNode_(node);
|
| -
|
| - var record = {
|
| - nodeId: id,
|
| - };
|
| -
|
| - var isContainer = false;
|
| -
|
| - if (node instanceof Element) {
|
| - isContainer = true;
|
| - record.nodeType = 1;
|
| - record.nodeName = node.tagName;
|
| - record.localName = node.tagName;
|
| - record.nodeValue = "";
|
| - record.attributes = this.serializeAttributes_(node);
|
| - } else if (node instanceof Text) {
|
| - record.nodeType = 3;
|
| - record.nodeName = "#text";
|
| - var nodeValue = node.data;
|
| - if (!nodeValue.trim())
|
| - return null;
|
| - record.nodeValue = nodeValue;
|
| - } else if (node instanceof Document) {
|
| - isContainer = true;
|
| - record.nodeType = 9;
|
| - record.nodeName = "#document";
|
| - record.localName = "";
|
| - record.nodeValue = "";
|
| - record.documentURL = node.URL;
|
| - record.baseURL = node.baseURI;
|
| - } else if (node instanceof DocumentFragment) {
|
| - isContainer = true;
|
| - record.nodeType = 11;
|
| - record.nodeName = "#document-fragment";
|
| - record.localName = "";
|
| - record.nodeValue = "";
|
| - } else {
|
| - console.log("Unknown node type");
|
| - return null;
|
| - }
|
| -
|
| - if (isContainer) {
|
| - var children = this.serializeChildren_(node);
|
| - if (children.length) {
|
| - record.childNodeCount = children.length;
|
| - record.children = children;
|
| - }
|
| - }
|
| -
|
| - return record;
|
| - }
|
| -
|
| - enable() {
|
| - this.enabled = true;
|
| - this.observer_ = new MutationObserver(this.mutationCallback_.bind(this));
|
| - this.observer_.observe(document, {
|
| - childList: true,
|
| - attributes: true,
|
| - characterData: true,
|
| - subtree : true,
|
| - });
|
| - }
|
| -
|
| - getDocument() {
|
| - return {
|
| - root: this.serializeNode_(document),
|
| - };
|
| - }
|
| -
|
| - hideHighlight() {
|
| - }
|
| -
|
| - highlightNode() {
|
| - }
|
| -
|
| - mutationCallback_(mutationRecords) {
|
| - for (var i = 0; i < mutationRecords.length; ++i) {
|
| - var record = mutationRecords[i];
|
| - var type = record.type;
|
| - var target = record.target;
|
| - var nodeId = this.getIdForNode_(target);
|
| - if (type == "attributes") {
|
| - var attributeName = record.attributeName;
|
| - if (target.hasAttribute(attributeName)) {
|
| - this.delegate_.sendMessage("DOM.attributeModified", {
|
| - nodeId: nodeId,
|
| - name: attributeName,
|
| - value: target.getAttribute(attributeName),
|
| - });
|
| - } else {
|
| - this.delegate_.sendMessage("DOM.attributeRemoved", {
|
| - nodeId: nodeId,
|
| - name: attributeName,
|
| - });
|
| - }
|
| - } else if (type == "characterData") {
|
| - this.delegate_.sendMessage("DOM.characterDataModified", {
|
| - nodeId: nodeId,
|
| - characterData: target.data,
|
| - });
|
| - } else if (type == "childList") {
|
| - // FIXME: If this subtree isn't expanded, we only need to send across the
|
| - // {"method":"DOM.childNodeCountUpdated","params":"nodeId":648,"childNodeCount":2}
|
| -
|
| - Array.prototype.forEach.call(record.removedNodes, function(node) {
|
| - this.delegate_.sendMessage("DOM.childNodeRemoved", {
|
| - parentNodeId: nodeId,
|
| - nodeId: this.getIdForNode_(node),
|
| - });
|
| - }.bind(this));
|
| -
|
| - Array.prototype.forEach.call(record.addedNodes, function(node) {
|
| - var previousNodeId = node.previousSibling ? this.getIdForNode_(node.previousSibling) : 0;
|
| - this.delegate_.sendMessage("DOM.childNodeInserted", {
|
| - parentNodeId: nodeId,
|
| - previousNodeId: previousNodeId,
|
| - node: this.serializeNode_(node),
|
| - });
|
| - }.bind(this));
|
| - }
|
| - }
|
| - }
|
| -}
|
| -
|
| -module.exports = DOMAgent;
|
| -</script>
|
|
|