1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2026-02-17 16:15:48 +01:00

Death to E4X and stuff.

This commit is contained in:
Kris Maglione
2012-11-29 18:00:50 -08:00
parent 2e17932cdb
commit 810eda169a
15 changed files with 265 additions and 45 deletions

View File

@@ -1390,7 +1390,9 @@ var DOM = Class("DOM", {
DOMString: function DOMString(val) ({
__proto__: DOMString.prototype,
toDOM: function toDOM(doc) doc.createTextNode(val)
toDOM: function toDOM(doc) doc.createTextNode(val),
toString: function () val
}),
/**
@@ -1563,9 +1565,12 @@ var DOM = Class("DOM", {
return doc.createTextNode(args);
if (isXML(args))
return DOM.fromXML(args, doc, nodes);
if (isObject(args) && "toDOM" in args)
return args.toDOM(doc, namespaces, nodes);
if (args instanceof Ci.nsIDOMNode)
return args;
let [name, attr] = args;
attr = attr || {};
if (!isString(name) || args.length == 0 || name === "") {
var frag = doc.createDocumentFragment();
@@ -1579,8 +1584,7 @@ var DOM = Class("DOM", {
return frag;
}
if (isObject(name) && "toDOM" in name)
return name.toDOM(doc, namespaces, nodes);
attr = attr || {};
function parseNamespace(name) {
var m = /^(?:(.*):)?(.*)$/.exec(name);
@@ -1616,7 +1620,7 @@ var DOM = Class("DOM", {
elem.setAttribute(key, val);
}
args.forEach(function(e) {
elem.appendChild(e instanceof Ci.nsIDOMNode ? e : tag(e, namespaces));
elem.appendChild(tag(e, namespaces));
});
if ("highlight" in attr)