Skip to content

Commit

Permalink
fixed issue when dumping html and the element is not a dom node
Browse files Browse the repository at this point in the history
  • Loading branch information
tmpvar committed May 9, 2010
1 parent 73b5c62 commit 23b163e
Showing 1 changed file with 41 additions and 39 deletions.
80 changes: 41 additions & 39 deletions lib/browser/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -206,37 +206,39 @@ var browserAugmentation = exports.browserAugmentation = function(dom) {
};

var generateHtmlRecursive = function(element) {
//sys.puts('Generating HTML for: ' + element);
if (element && element.nodeType &&
element.nodeType === dom.Node.prototype.ENTITY_REFERENCE_NODE) {

element = element._entity;
}
//sys.puts('Generating HTML for: ' + element);
var ret = "";
if (element) {
if (element.nodeType &&
element.nodeType === dom.Node.prototype.ENTITY_REFERENCE_NODE)
{
element = element._entity;
}

var ret = "";
switch (element.nodeType) {
case dom.Node.prototype.ELEMENT_NODE:
var current = stringifyElement(element);
ret += current.start;
switch (element.nodeType) {
case dom.Node.prototype.ELEMENT_NODE:
var current = stringifyElement(element);
ret += current.start;

if (element.childNodes.length > 0) {
for (var i=0; i<element.childNodes.length; i++) {
ret += generateHtmlRecursive(element.childNodes.item(i));
}
} else {
ret += element.nodeValue || "" ;
}
ret += current.end;
break;
case dom.Node.prototype.TEXT_NODE:
ret += element.nodeValue;
break;
case dom.Node.prototype.COMMENT_NODE:
ret += '<!-- ' + element.nodeValue + ' -->';
break;
}
return ret;
};
if (element.childNodes.length > 0) {
for (var i=0; i<element.childNodes.length; i++) {
ret += generateHtmlRecursive(element.childNodes.item(i));
}
} else {
ret += element.nodeValue || "" ;
}
ret += current.end;
break;
case dom.Node.prototype.TEXT_NODE:
ret += element.nodeValue;
break;
case dom.Node.prototype.COMMENT_NODE:
ret += '<!-- ' + element.nodeValue + ' -->';
break;
}
}
return ret;
};


/***************************************
Expand All @@ -249,13 +251,13 @@ var browserAugmentation = exports.browserAugmentation = function(dom) {
if (!child) {
return false;
}

if (child.nodeType &&
child.nodeType === dom.Node.prototype.ENTITY_REFERENCE_NODE)
{
child = child._entity;
}

var className = child.className;
if (className) {
var s = className.split(" ");
Expand All @@ -264,13 +266,13 @@ var browserAugmentation = exports.browserAugmentation = function(dom) {
return true;
}
}
}
return false;
}
return false;
}
if (this.ownerDocument &&
this.ownerDocument.implementation &&
this.ownerDocument.implementation.hasFeature("DisableLiveLists"))

if (this.ownerDocument &&
this.ownerDocument.implementation &&
this.ownerDocument.implementation.hasFeature("DisableLiveLists"))
{
return dom.mapDOMNodes(this, true, queryFunction);
} else {
Expand All @@ -290,15 +292,15 @@ var browserAugmentation = exports.browserAugmentation = function(dom) {
this._ownerDocument._ids[id] = this;
}
});

dom.Element.prototype.__defineGetter__("id",function() {
return this.getAttribute("id");
});

dom.Document.prototype.getElementById = function(id) {
return this._ids[id];
};

dom.Document.prototype.__defineSetter__("title",function(value) {
this.getElementsByTagName('title')[0].innerHTML = value;
return value;
Expand Down

0 comments on commit 23b163e

Please sign in to comment.