this._dom = Packages.javax.xml.parsers.
DocumentBuilderFactory.newInstance()
.newDocumentBuilder().parse(file);
+
+ if ( !obj_nodes.containsKey( this._dom ) )
+ obj_nodes.put( this._dom, this );
};
DOMDocument.prototype = {
}
};
+ function getDocument(node){
+ return obj_nodes.get(node);
+ }
+
// DOM NodeList
window.DOMNodeList = function(list){
return makeNode( this._dom.cloneNode(deep) );
},
get ownerDocument(){
- return document;
+ return getDocument( this._dom.ownerDocument );
},
get documentElement(){
- return document.documentElement;
+ return makeNode( this._dom.documentElement );
},
get parentNode() {
return makeNode( this._dom.getParentNode() );
blur: function(){},
get elements(){
return this.getElementsByTagName("*");
+ },
+ get contentWindow(){
+ return this.nodeName == "IFRAME" ? {
+ document: this.contentDocument
+ } : null;
+ },
+ get contentDocument(){
+ if ( this.nodeName == "IFRAME" ) {
+ if ( !this._doc )
+ this._doc = new DOMDocument(
+ new java.io.ByteArrayInputStream((new java.lang.String(
+ "<html><head><title></title></head><body></body></html>"))
+ .getBytes("UTF8")));
+ return this._doc;
+ } else
+ return null;
}
});
$('<p>\r\n</p>');
ok( true, "Check for \\r and \\n in jQuery()" );
+ /* // Disabled until we add this functionality in
var pass = true;
try {
- var f = document.getElementById("iframe").contentDocument;
- f.open();
- f.write("<html><body></body></html>");
- f.close();
- $("<div>Testing</div>").appendTo(f.body);
+ $("<div>Testing</div>").appendTo(document.getElementById("iframe").contentDocument.body);
} catch(e){
pass = false;
}
- ok( pass, "$('<tag>') needs optional document parameter to ease cross-frame DOM wrangling, see #968" );
+ ok( pass, "$('<tag>') needs optional document parameter to ease cross-frame DOM wrangling, see #968" );*/
});
test("isFunction", function() {