Java Code Examples for com.gargoylesoftware.htmlunit.javascript.host.Window#getWebWindow()
The following examples show how to use
com.gargoylesoftware.htmlunit.javascript.host.Window#getWebWindow() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: HTMLElement.java From htmlunit with Apache License 2.0 | 5 votes |
/** * Sets the object as active without setting focus to the object. * @see <a href="http://msdn.microsoft.com/en-us/library/ms536738.aspx">MSDN documentation</a> */ @JsxFunction(IE) public void setActive() { final Window window = getWindow(); final HTMLDocument document = (HTMLDocument) window.getDocument(); document.setActiveElement(this); if (window.getWebWindow() == window.getWebWindow().getWebClient().getCurrentWindow()) { final HtmlElement element = getDomNodeOrDie(); ((HtmlPage) element.getPage()).setFocusedElement(element); } }
Example 2
Source File: XMLHttpRequest.java From HtmlUnit-Android with Apache License 2.0 | 5 votes |
/** * Returns a DOM-compatible document object version of the data retrieved from the server. * @return a DOM-compatible document object version of the data retrieved from the server */ @JsxGetter public Object getResponseXML() { if (webResponse_ == null) { if (LOG.isDebugEnabled()) { LOG.debug("XMLHttpRequest.responseXML returns null because there " + "in no web resonse so far (has send() been called?)"); } return null; } if (webResponse_ instanceof NetworkErrorWebResponse) { if (LOG.isDebugEnabled()) { LOG.debug("XMLHttpRequest.responseXML returns of a network error (" + ((NetworkErrorWebResponse) webResponse_).getError() + ")"); } return null; } final String contentType = webResponse_.getContentType(); if (contentType.isEmpty() || contentType.contains("xml")) { final Window w = getWindow(); try { final XmlPage page = new XmlPage(webResponse_, w.getWebWindow()); final XMLDocument document = new XMLDocument(); document.setPrototype(getPrototype(document.getClass())); document.setParentScope(w); document.setDomNode(page); return document; } catch (final IOException e) { LOG.warn("Failed parsing XML document " + webResponse_.getWebRequest().getUrl() + ": " + e.getMessage()); return null; } } if (LOG.isDebugEnabled()) { LOG.debug("XMLHttpRequest.responseXML was called but the response is " + webResponse_.getContentType()); } return null; }
Example 3
Source File: HTMLElement.java From HtmlUnit-Android with Apache License 2.0 | 5 votes |
/** * Sets the object as active without setting focus to the object. * @see <a href="http://msdn.microsoft.com/en-us/library/ms536738.aspx">MSDN documentation</a> */ @JsxFunction(IE) public void setActive() { final Window window = getWindow(); final HTMLDocument document = (HTMLDocument) window.getDocument(); document.setActiveElement(this); if (window.getWebWindow() == window.getWebWindow().getWebClient().getCurrentWindow()) { final HtmlElement element = getDomNodeOrDie(); ((HtmlPage) element.getPage()).setFocusedElement(element); } }
Example 4
Source File: XMLHttpRequest.java From htmlunit with Apache License 2.0 | 4 votes |
/** * Returns a DOM-compatible document object version of the data retrieved from the server. * @return a DOM-compatible document object version of the data retrieved from the server */ @JsxGetter public Object getResponseXML() { if (webResponse_ == null) { if (LOG.isDebugEnabled()) { LOG.debug("XMLHttpRequest.responseXML returns null because there " + "in no web resonse so far (has send() been called?)"); } return null; } if (webResponse_ instanceof NetworkErrorWebResponse) { if (LOG.isDebugEnabled()) { LOG.debug("XMLHttpRequest.responseXML returns of a network error (" + ((NetworkErrorWebResponse) webResponse_).getError() + ")"); } return null; } final String contentType = webResponse_.getContentType(); if (contentType.isEmpty() || contentType.contains("xml")) { final Window w = getWindow(); try { final XmlPage page = new XmlPage(webResponse_, w.getWebWindow()); final XMLDocument document = new XMLDocument(); document.setPrototype(getPrototype(document.getClass())); document.setParentScope(w); document.setDomNode(page); return document; } catch (final IOException e) { if (LOG.isWarnEnabled()) { LOG.warn("Failed parsing XML document " + webResponse_.getWebRequest().getUrl() + ": " + e.getMessage()); } return null; } } if (LOG.isDebugEnabled()) { LOG.debug("XMLHttpRequest.responseXML was called but the response is " + webResponse_.getContentType()); } return null; }
Example 5
Source File: XMLHttpRequest.java From htmlunit with Apache License 2.0 | 4 votes |
/** * Sends the specified content to the server in an HTTP request and receives the response. * @param content the body of the message being sent with the request */ @JsxFunction public void send(final Object content) { if (webRequest_ == null) { return; } prepareRequest(content); final Window w = getWindow(); final WebWindow ww = w.getWebWindow(); final WebClient client = ww.getWebClient(); final AjaxController ajaxController = client.getAjaxController(); final HtmlPage page = (HtmlPage) ww.getEnclosedPage(); final boolean synchron = ajaxController.processSynchron(page, webRequest_, async_); if (synchron) { doSend(Context.getCurrentContext()); } else { if (getBrowserVersion().hasFeature(XHR_FIRE_STATE_OPENED_AGAIN_IN_ASYNC_MODE)) { // quite strange but IE seems to fire state loading twice // in async mode (at least with HTML of the unit tests) setState(OPENED, Context.getCurrentContext()); } // Create and start a thread in which to execute the request. final Scriptable startingScope = w; final ContextFactory cf = ((JavaScriptEngine) client.getJavaScriptEngine()).getContextFactory(); final ContextAction<Object> action = new ContextAction<Object>() { @Override public Object run(final Context cx) { // KEY_STARTING_SCOPE maintains a stack of scopes @SuppressWarnings("unchecked") Deque<Scriptable> stack = (Deque<Scriptable>) cx.getThreadLocal(JavaScriptEngine.KEY_STARTING_SCOPE); if (null == stack) { stack = new ArrayDeque<>(); cx.putThreadLocal(JavaScriptEngine.KEY_STARTING_SCOPE, stack); } stack.push(startingScope); try { doSend(cx); } finally { stack.pop(); } return null; } @Override public String toString() { return "XMLHttpRequest " + webRequest_.getHttpMethod() + " '" + webRequest_.getUrl() + "'"; } }; final JavaScriptJob job = BackgroundJavaScriptFactory.theFactory(). createJavascriptXMLHttpRequestJob(cf, action); if (LOG.isDebugEnabled()) { LOG.debug("Starting XMLHttpRequest thread for asynchronous request"); } jobID_ = ww.getJobManager().addJob(job, page); } }