aboutsummaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorJohn Resig <jeresig@gmail.com>2007-07-08 23:19:09 +0000
committerJohn Resig <jeresig@gmail.com>2007-07-08 23:19:09 +0000
commit69ef5fac9e84623c1260cf4d548c1034ac7e45a8 (patch)
treef87b62d99a69e16f4b3e2c69b4b24548d5830ab9 /build
parentb5bf00a37368baf69595434c0329f869b9ca18e9 (diff)
downloadjquery-69ef5fac9e84623c1260cf4d548c1034ac7e45a8.tar.gz
jquery-69ef5fac9e84623c1260cf4d548c1034ac7e45a8.zip
Added basic support for IFrames, disabled a test which we don't take into account.
Diffstat (limited to 'build')
-rw-r--r--build/runtest/env.js27
1 files changed, 25 insertions, 2 deletions
diff --git a/build/runtest/env.js b/build/runtest/env.js
index 564b02207..e15284293 100644
--- a/build/runtest/env.js
+++ b/build/runtest/env.js
@@ -79,6 +79,9 @@ var window = this;
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 = {
@@ -145,6 +148,10 @@ var window = this;
}
};
+ function getDocument(node){
+ return obj_nodes.get(node);
+ }
+
// DOM NodeList
window.DOMNodeList = function(list){
@@ -188,10 +195,10 @@ var window = this;
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() );
@@ -396,6 +403,22 @@ var window = this;
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;
}
});