From: <rb...@us...> - 2013-11-15 17:54:13
|
Revision: 8787 http://sourceforge.net/p/htmlunit/code/8787 Author: rbri Date: 2013-11-15 17:54:08 +0000 (Fri, 15 Nov 2013) Log Message: ----------- revert my last commit, i'm blind Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Window.java Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Window.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Window.java 2013-11-15 16:14:08 UTC (rev 8786) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Window.java 2013-11-15 17:54:08 UTC (rev 8787) @@ -22,6 +22,7 @@ import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_WINDOW_POST_MESSAGE_ALLOW_INVALID_PORT; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_WINDOW_POST_MESSAGE_CANCELABLE; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_WINDOW_POST_MESSAGE_SYNCHRONOUS; +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_XML_SUPPORT_VIA_ACTIVEXOBJECT; import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.CHROME; import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.FF; import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.IE; @@ -103,6 +104,7 @@ import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLCollection; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLDocument; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLElement; +import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLUnknownElement; import com.gargoylesoftware.htmlunit.javascript.host.xml.XMLDocument; import com.gargoylesoftware.htmlunit.xml.XmlPage; @@ -1329,6 +1331,20 @@ final WebWindow webWindow = ((Window) result).getWebWindow(); result = getProxy(webWindow); } + else if (result instanceof HTMLUnknownElement && getBrowserVersion() + .hasFeature(JS_XML_SUPPORT_VIA_ACTIVEXOBJECT)) { + final HtmlElement unknownElement = ((HTMLUnknownElement) result).getDomNodeOrDie(); + if ("xml".equals(unknownElement.getNodeName())) { + final XMLDocument document = ActiveXObject.buildXMLDocument(getWebWindow()); + document.setParentScope(this); + final Iterator<HtmlElement> children = unknownElement.getHtmlElementDescendants().iterator(); + if (children.hasNext()) { + final HtmlElement root = children.next(); + document.loadXML(root.asXml().trim()); + } + result = document; + } + } } return result; |