From: <rb...@us...> - 2018-02-26 20:38:41
|
Revision: 15144 http://sourceforge.net/p/htmlunit/code/15144 Author: rbri Date: 2018-02-26 20:38:37 +0000 (Mon, 26 Feb 2018) Log Message: ----------- try to make the code more robust 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 2018-02-25 16:55:56 UTC (rev 15143) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Window.java 2018-02-26 20:38:37 UTC (rev 15144) @@ -2141,7 +2141,8 @@ */ @JsxFunction public void postMessage(final String message, final String targetOrigin, final Object transfer) { - final URL currentURL = getWebWindow().getEnclosedPage().getUrl(); + final Page page = getWebWindow().getEnclosedPage(); + final URL currentURL = page.getUrl(); if (!"*".equals(targetOrigin) && !"/".equals(targetOrigin)) { URL targetURL = null; @@ -2165,6 +2166,7 @@ return; } } + final MessageEvent event = new MessageEvent(); final String origin = currentURL.getProtocol() + "://" + currentURL.getHost() + ':' + currentURL.getPort(); event.initMessageEvent(Event.TYPE_MESSAGE, false, false, message, origin, "", this, transfer); @@ -2171,9 +2173,8 @@ event.setParentScope(this); event.setPrototype(getPrototype(event.getClass())); - final JavaScriptEngine jsEngine - = (JavaScriptEngine) getWebWindow().getWebClient().getJavaScriptEngine(); - final PostponedAction action = new PostponedAction(getDomNodeOrDie().getPage()) { + final JavaScriptEngine jsEngine = (JavaScriptEngine) getWebWindow().getWebClient().getJavaScriptEngine(); + final PostponedAction action = new PostponedAction(page) { @Override public void execute() throws Exception { final ContextAction contextAction = new ContextAction() { |