[prev in list] [next in list] [prev in thread] [next in thread]
List: htmlunit-develop
Subject: [HtmlUnit] SVN: [11321] trunk/htmlunit/src
From: asashour () users ! sourceforge ! net
Date: 2015-09-28 18:07:34
Message-ID: E1Zgcpt-00079Q-9D () sfs-ml-3 ! v29 ! ch3 ! sourceforge ! com
[Download RAW message or body]
Revision: 11321
http://sourceforge.net/p/htmlunit/code/11321
Author: asashour
Date: 2015-09-28 18:07:33 +0000 (Mon, 28 Sep 2015)
Log Message:
-----------
WebClient: setter for AbstractJavaScriptEngine
Modified Paths:
--------------
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/InteractivePage.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/WebClient.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLHTTPRequest.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/BaseFrameElement.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/DefaultElementFactory.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/DomElement.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlInput.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlPage.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlScript.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/AbstractJavaScriptEngine.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/JavaScriptEngine.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/SimpleScriptable.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/background/DownloadBehaviorJob.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/AbstractJavaScriptConfiguration.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/ClassConfiguration.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/MessagePort.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Promise.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Window.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDocument.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElement.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLDocument.java
trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavaScriptEngineTest.java
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/InteractivePage.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/InteractivePage.java 2015-09-28 \
17:50:41 UTC (rev 11320)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/InteractivePage.java 2015-09-28 \
18:07:33 UTC (rev 11321) @@ -196,7 +196,7 @@
return new ScriptResult(null, this);
}
- final JavaScriptEngine engine = getWebClient().getJavaScriptEngine();
+ final JavaScriptEngine engine = (JavaScriptEngine) \
getWebClient().getAbstractJavaScriptEngine();
final Object result = engine.callFunction(this, function, thisObject, args, \
htmlElementScope);
return new ScriptResult(result, \
getWebClient().getCurrentWindow().getEnclosedPage());
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/WebClient.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/WebClient.java 2015-09-28 \
17:50:41 UTC (rev 11320)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/WebClient.java 2015-09-28 \
18:07:33 UTC (rev 11321) @@ -603,9 +603,9 @@
*
* @param engine the new script engine to use
*/
- public void setJavaScriptEngine(final JavaScriptEngine engine) {
+ public void setJavaScriptEngine(final AbstractJavaScriptEngine engine) {
if (engine == null) {
- throw new NullPointerException("Can't set JavaScriptEngine to null");
+ throw new IllegalArgumentException("Can't set JavaScriptEngine to \
null"); }
scriptEngine_ = engine;
}
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLHTTPRequest.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLHTTPRequest.java 2015-09-28 \
17:50:41 UTC (rev 11320)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLHTTPRequest.java 2015-09-28 \
18:07:33 UTC (rev 11321) @@ -162,7 +162,8 @@
if (stateChangeHandler_ != null && !openedMultipleTimes_) {
final Scriptable scope = stateChangeHandler_.getParentScope();
- final JavaScriptEngine jsEngine = \
containingPage_.getWebClient().getJavaScriptEngine(); + final \
JavaScriptEngine jsEngine = (JavaScriptEngine) + \
containingPage_.getWebClient().getAbstractJavaScriptEngine();
if (LOG.isDebugEnabled()) {
LOG.debug("Calling onreadystatechange handler for state " + state);
@@ -459,7 +460,7 @@
else {
// Create and start a thread in which to execute the request.
final Scriptable startingScope = getWindow();
- final ContextFactory cf = \
client.getJavaScriptEngine().getContextFactory(); + final ContextFactory \
cf = ((JavaScriptEngine) client.getAbstractJavaScriptEngine()).getContextFactory(); \
final ContextAction action = new ContextAction() { @Override
public Object run(final Context cx) {
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/BaseFrameElement.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/BaseFrameElement.java 2015-09-28 \
17:50:41 UTC (rev 11320)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/BaseFrameElement.java 2015-09-28 \
18:07:33 UTC (rev 11321) @@ -29,7 +29,7 @@
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.WebRequest;
import com.gargoylesoftware.htmlunit.WebWindow;
-import com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine;
+import com.gargoylesoftware.htmlunit.javascript.AbstractJavaScriptEngine;
import com.gargoylesoftware.htmlunit.javascript.PostponedAction;
import com.gargoylesoftware.htmlunit.protocol.javascript.JavaScriptURLConnection;
@@ -123,7 +123,7 @@
final Page enclosedPage = getEnclosedPage();
if (enclosedPage != null && enclosedPage.isHtmlPage()) {
final HtmlPage htmlPage = (HtmlPage) enclosedPage;
- final JavaScriptEngine jsEngine = \
getPage().getWebClient().getJavaScriptEngine(); + final \
AbstractJavaScriptEngine jsEngine = \
getPage().getWebClient().getAbstractJavaScriptEngine(); if \
(jsEngine.isScriptRunning()) {
final PostponedAction action = new PostponedAction(getPage()) {
@Override
@@ -394,7 +394,7 @@
loadSrcWhenAddedToPage_ = false;
final String src = getSrcAttribute();
- final JavaScriptEngine jsEngine = \
getPage().getWebClient().getJavaScriptEngine(); + final \
AbstractJavaScriptEngine jsEngine = \
getPage().getWebClient().getAbstractJavaScriptEngine();
// When src is set from a script, loading is postponed until script finishes
// in fact this implementation is probably wrong: JavaScript URL should be
// first evaluated and only loading, when any, should be postponed.
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/DefaultElementFactory.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/DefaultElementFactory.java 2015-09-28 \
17:50:41 UTC (rev 11320)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/DefaultElementFactory.java 2015-09-28 \
18:07:33 UTC (rev 11321) @@ -787,7 +787,8 @@
throw new IllegalStateException("Cannot find HtmlElement for " + \
qualifiedName); }
- final JavaScriptConfiguration config = \
page.getWebClient().getJavaScriptEngine().getJavaScriptConfiguration(); + \
final JavaScriptConfiguration config = + \
page.getWebClient().getAbstractJavaScriptEngine().getJavaScriptConfiguration(); if \
(!"td".equals(tagName) && !"th".equals(tagName)
&& checkBrowserCompatibility && \
config.getDomJavaScriptMapping().get(element.getClass()) == null) {
return UnknownElementFactory.instance.createElementNS(page, \
namespaceURI, qualifiedName, attributes);
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/DomElement.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/DomElement.java 2015-09-28 \
17:50:41 UTC (rev 11320)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/DomElement.java 2015-09-28 \
18:07:33 UTC (rev 11321) @@ -774,7 +774,7 @@
stateUpdated = true;
}
- final JavaScriptEngine jsEngine = page.getWebClient().getJavaScriptEngine();
+ final JavaScriptEngine jsEngine = (JavaScriptEngine) \
page.getWebClient().getAbstractJavaScriptEngine(); jsEngine.holdPosponedActions();
try {
final ScriptResult scriptResult = doClickFireClickEvent(event);
@@ -1161,7 +1161,7 @@
}
};
- final ContextFactory cf = client.getJavaScriptEngine().getContextFactory();
+ final ContextFactory cf = ((JavaScriptEngine) \
client.getAbstractJavaScriptEngine()).getContextFactory(); final ScriptResult result \
= (ScriptResult) cf.call(action); if (event.isAborted(result)) {
preventDefault();
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlInput.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlInput.java 2015-09-28 \
17:50:41 UTC (rev 11320)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlInput.java 2015-09-28 \
18:07:33 UTC (rev 11321) @@ -29,7 +29,7 @@
import com.gargoylesoftware.htmlunit.ScriptResult;
import com.gargoylesoftware.htmlunit.SgmlPage;
import com.gargoylesoftware.htmlunit.WebAssert;
-import com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine;
+import com.gargoylesoftware.htmlunit.javascript.AbstractJavaScriptEngine;
import com.gargoylesoftware.htmlunit.javascript.configuration.JsxGetter;
import com.gargoylesoftware.htmlunit.javascript.configuration.JsxSetter;
import com.gargoylesoftware.htmlunit.javascript.host.event.Event;
@@ -507,7 +507,7 @@
static Page executeOnChangeHandlerIfAppropriate(final HtmlElement htmlElement) {
final SgmlPage page = htmlElement.getPage();
- final JavaScriptEngine engine = \
htmlElement.getPage().getWebClient().getJavaScriptEngine(); + final \
AbstractJavaScriptEngine engine = \
htmlElement.getPage().getWebClient().getAbstractJavaScriptEngine(); if \
(engine.isScriptRunning()) { return page;
}
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlPage.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlPage.java 2015-09-28 \
17:50:41 UTC (rev 11320)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlPage.java 2015-09-28 \
18:07:33 UTC (rev 11321) @@ -41,11 +41,6 @@
import java.util.SortedSet;
import java.util.TreeSet;
-import net.sourceforge.htmlunit.corejs.javascript.Context;
-import net.sourceforge.htmlunit.corejs.javascript.Script;
-import net.sourceforge.htmlunit.corejs.javascript.Scriptable;
-import net.sourceforge.htmlunit.corejs.javascript.ScriptableObject;
-
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -87,6 +82,11 @@
import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLDocument;
import com.gargoylesoftware.htmlunit.protocol.javascript.JavaScriptURLConnection;
+import net.sourceforge.htmlunit.corejs.javascript.Context;
+import net.sourceforge.htmlunit.corejs.javascript.Script;
+import net.sourceforge.htmlunit.corejs.javascript.Scriptable;
+import net.sourceforge.htmlunit.corejs.javascript.ScriptableObject;
+
/**
* A representation of an HTML page returned from a server.
* <p>
@@ -896,7 +896,8 @@
sourceCode = \
sourceCode.substring(JavaScriptURLConnection.JAVASCRIPT_PREFIX.length()); }
- final Object result = getWebClient().getJavaScriptEngine().execute(this, \
sourceCode, sourceName, startLine); + final Object result =
+ getWebClient().getAbstractJavaScriptEngine().execute(this, \
sourceCode, sourceName, startLine);
return new ScriptResult(result, \
getWebClient().getCurrentWindow().getEnclosedPage()); }
@@ -983,7 +984,7 @@
return JavaScriptLoadResult.COMPILATION_ERROR;
}
- client.getJavaScriptEngine().execute(this, script);
+ ((JavaScriptEngine) client.getAbstractJavaScriptEngine()).execute(this, \
script); return JavaScriptLoadResult.SUCCESS;
}
@@ -1071,7 +1072,7 @@
final String scriptCode = response.getContentAsString(scriptEncoding);
response.cleanUp();
if (null != scriptCode) {
- final JavaScriptEngine javaScriptEngine = client.getJavaScriptEngine();
+ final JavaScriptEngine javaScriptEngine = (JavaScriptEngine) \
client.getAbstractJavaScriptEngine();
final Script script = javaScriptEngine.compile(this, scriptCode, \
url.toExternalForm(), 1); if (script != null) {
// cache the script
@@ -2206,7 +2207,7 @@
super.setDocumentType(type);
if (hasFeature(JS_WINDOW_IN_STANDARDS_MODE) && !isQuirksMode()) {
- final JavaScriptEngine jsEngine = getWebClient().getJavaScriptEngine();
+ final JavaScriptEngine jsEngine = (JavaScriptEngine) \
getWebClient().getAbstractJavaScriptEngine(); \
jsEngine.definePropertiesInStandardsMode(this); }
}
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlScript.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlScript.java 2015-09-28 \
17:50:41 UTC (rev 11320)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlScript.java 2015-09-28 \
18:07:33 UTC (rev 11321) @@ -31,8 +31,6 @@
import java.io.StringWriter;
import java.util.Map;
-import net.sourceforge.htmlunit.corejs.javascript.BaseFunction;
-
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -43,7 +41,7 @@
import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
import com.gargoylesoftware.htmlunit.SgmlPage;
import com.gargoylesoftware.htmlunit.html.HtmlPage.JavaScriptLoadResult;
-import com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine;
+import com.gargoylesoftware.htmlunit.javascript.AbstractJavaScriptEngine;
import com.gargoylesoftware.htmlunit.javascript.PostponedAction;
import com.gargoylesoftware.htmlunit.javascript.host.Window;
import com.gargoylesoftware.htmlunit.javascript.host.dom.Document;
@@ -54,6 +52,8 @@
import com.gargoylesoftware.htmlunit.protocol.javascript.JavaScriptURLConnection;
import com.gargoylesoftware.htmlunit.xml.XmlPage;
+import net.sourceforge.htmlunit.corejs.javascript.BaseFunction;
+
/**
* Wrapper for the HTML element "script".<br>
* When a script tag references an external script (with attribute src) it gets \
executed when the node @@ -219,7 +219,7 @@
executeScriptIfNeeded();
}
};
- final JavaScriptEngine engine = \
getPage().getWebClient().getJavaScriptEngine(); + final \
AbstractJavaScriptEngine engine = \
getPage().getWebClient().getAbstractJavaScriptEngine(); \
engine.addPostponedAction(action); }
// if FF, only execute if the "src" attribute
@@ -231,7 +231,7 @@
executeScriptIfNeeded();
}
};
- final JavaScriptEngine engine = \
getPage().getWebClient().getJavaScriptEngine(); + final \
AbstractJavaScriptEngine engine = \
getPage().getWebClient().getAbstractJavaScriptEngine(); \
engine.addPostponedAction(action); }
}
@@ -285,7 +285,7 @@
if ((!hasFeature(JS_SCRIPT_ASYNC_NOT_SUPPORTED) && hasAttribute("async"))
|| postponed && StringUtils.isBlank(getTextContent())) {
- final JavaScriptEngine engine = \
getPage().getWebClient().getJavaScriptEngine(); + final \
AbstractJavaScriptEngine engine = \
getPage().getWebClient().getAbstractJavaScriptEngine(); \
engine.addPostponedAction(action); }
else {
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/AbstractJavaScriptEngine.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/AbstractJavaScriptEngine.java 2015-09-28 \
17:50:41 UTC (rev 11320)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/AbstractJavaScriptEngine.java 2015-09-28 \
18:07:33 UTC (rev 11321) @@ -100,4 +100,11 @@
* Shutdown the JavaScriptEngine.
*/
void shutdown();
+
+ /**
+ * Indicates if JavaScript is running in current thread.<br/>
+ * This allows code to know if there own evaluation is has been triggered by \
some JS code. + * @return {@code true} if JavaScript is running
+ */
+ boolean isScriptRunning();
}
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/JavaScriptEngine.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/JavaScriptEngine.java 2015-09-28 \
17:50:41 UTC (rev 11320)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/JavaScriptEngine.java 2015-09-28 \
18:07:33 UTC (rev 11321) @@ -1144,7 +1144,7 @@
* @param c the node class {@link DomNode} or some subclass.
* @return {@code null} if none found
*/
- public Class<? extends HtmlUnitScriptable> getJavaScriptClass(final Class<?> c) \
{ + public Class<? extends SimpleScriptable> getJavaScriptClass(final Class<?> c) \
{ return jsConfig_.getDomJavaScriptMapping().get(c);
}
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/SimpleScriptable.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/SimpleScriptable.java 2015-09-28 \
17:50:41 UTC (rev 11320)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/SimpleScriptable.java 2015-09-28 \
18:07:33 UTC (rev 11321) @@ -201,9 +201,10 @@
}
}
if (javaScriptClass == null) {
- final JavaScriptEngine javaScriptEngine = \
getWindow().getWebWindow().getWebClient().getJavaScriptEngine(); + final \
JavaScriptEngine javaScriptEngine = (JavaScriptEngine) + \
getWindow().getWebWindow().getWebClient().getAbstractJavaScriptEngine();
for (Class<?> c = domNode.getClass(); javaScriptClass == null && c != \
null; c = c.getSuperclass()) {
- javaScriptClass = (Class<? extends SimpleScriptable>) \
javaScriptEngine.getJavaScriptClass(c); + javaScriptClass = \
javaScriptEngine.getJavaScriptClass(c); }
}
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/background/DownloadBehaviorJob.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/background/DownloadBehaviorJob.java 2015-09-28 \
17:50:41 UTC (rev 11320)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/background/DownloadBehaviorJob.java 2015-09-28 \
18:07:33 UTC (rev 11321) @@ -24,6 +24,7 @@
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.WebRequest;
import com.gargoylesoftware.htmlunit.WebResponse;
+import com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine;
import net.sourceforge.htmlunit.corejs.javascript.Context;
import net.sourceforge.htmlunit.corejs.javascript.ContextAction;
@@ -79,7 +80,7 @@
return null;
}
};
- final ContextFactory cf = \
client_.getJavaScriptEngine().getContextFactory(); + final ContextFactory \
cf = ((JavaScriptEngine) client_.getAbstractJavaScriptEngine()).getContextFactory(); \
cf.call(action); }
catch (final IOException e) {
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/AbstractJavaScriptConfiguration.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/AbstractJavaScriptConfiguration.java 2015-09-28 \
17:50:41 UTC (rev 11320)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/AbstractJavaScriptConfiguration.java 2015-09-28 \
18:07:33 UTC (rev 11321) @@ -29,7 +29,6 @@
import org.apache.commons.logging.LogFactory;
import com.gargoylesoftware.htmlunit.BrowserVersion;
-import com.gargoylesoftware.htmlunit.javascript.HtmlUnitScriptable;
import com.gargoylesoftware.htmlunit.javascript.SimpleScriptable;
/**
@@ -47,7 +46,7 @@
private static final Map<String, String> CLASS_NAME_MAP_ = new HashMap<>();
- private Map<Class<?>, Class<? extends HtmlUnitScriptable>> domJavaScriptMap_;
+ private Map<Class<?>, Class<? extends SimpleScriptable>> domJavaScriptMap_;
private final Map<String, ClassConfiguration> configuration_;
@@ -91,7 +90,7 @@
* @param browser the browser version
* @return the class configuration
*/
- public static ClassConfiguration getClassConfiguration(final Class<? extends \
HtmlUnitScriptable> klass, + public static ClassConfiguration \
getClassConfiguration(final Class<? extends SimpleScriptable> klass, final \
BrowserVersion browser) { if (browser != null) {
final String expectedBrowserName;
@@ -311,12 +310,12 @@
* are the JavaScript class names (e.g. "HTMLAnchorElement").
* @return the mappings
*/
- public Map<Class<?>, Class<? extends HtmlUnitScriptable>> \
getDomJavaScriptMapping() { + public Map<Class<?>, Class<? extends \
SimpleScriptable>> getDomJavaScriptMapping() { if (domJavaScriptMap_ != null) {
return domJavaScriptMap_;
}
- final Map<Class<?>, Class<? extends HtmlUnitScriptable>> map = new \
HashMap<>(configuration_.size()); + final Map<Class<?>, Class<? extends \
SimpleScriptable>> map = new HashMap<>(configuration_.size());
final boolean debug = LOG.isDebugEnabled();
for (final String hostClassName : configuration_.keySet()) {
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/ClassConfiguration.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/ClassConfiguration.java 2015-09-28 \
17:50:41 UTC (rev 11320)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/ClassConfiguration.java 2015-09-28 \
18:07:33 UTC (rev 11321) @@ -23,7 +23,6 @@
import java.util.Map.Entry;
import java.util.Set;
-import com.gargoylesoftware.htmlunit.javascript.HtmlUnitScriptable;
import com.gargoylesoftware.htmlunit.javascript.SimpleScriptable;
/**
@@ -41,7 +40,7 @@
private Map<String, Method> staticFunctionMap_ = new HashMap<>();
private List<String> constants_ = new ArrayList<>();
private String extendedClassName_;
- private final Class<? extends HtmlUnitScriptable> hostClass_;
+ private final Class<? extends SimpleScriptable> hostClass_;
/**
* The constructor method in the {@link #hostClass_}
@@ -61,7 +60,7 @@
* @param definedInStandardsMode should be defined in only Standards Mode
* @param className the class name, can be null
*/
- public ClassConfiguration(final Class<? extends HtmlUnitScriptable> hostClass, \
final Class<?>[] domClasses, + public ClassConfiguration(final Class<? extends \
SimpleScriptable> hostClass, final Class<?>[] domClasses,
final boolean jsObject, final boolean definedInStandardsMode, final \
String className) { final Class<?> superClass = hostClass.getSuperclass();
if (superClass != SimpleScriptable.class) {
@@ -190,7 +189,7 @@
* Gets the class of the JavaScript host object.
* @return the class of the JavaScript host object
*/
- public Class<? extends HtmlUnitScriptable> getHostClass() {
+ public Class<? extends SimpleScriptable> getHostClass() {
return hostClass_;
}
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/MessagePort.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/MessagePort.java 2015-09-28 \
17:50:41 UTC (rev 11320)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/MessagePort.java 2015-09-28 \
18:07:33 UTC (rev 11321) @@ -115,7 +115,8 @@
return;
}
- final JavaScriptEngine jsEngine = \
getWindow().getWebWindow().getWebClient().getJavaScriptEngine(); + final \
JavaScriptEngine jsEngine = (JavaScriptEngine) + \
getWindow().getWebWindow().getWebClient().getAbstractJavaScriptEngine();
final PostponedAction action = new \
PostponedAction(getWindow().getWebWindow().getEnclosedPage()) { @Override
public void execute() throws Exception {
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Promise.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Promise.java 2015-09-28 \
17:50:41 UTC (rev 11320)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Promise.java 2015-09-28 \
18:07:33 UTC (rev 11321) @@ -17,14 +17,9 @@
import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.CHROME;
import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.EDGE;
import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.FF;
-import net.sourceforge.htmlunit.corejs.javascript.Context;
-import net.sourceforge.htmlunit.corejs.javascript.Function;
-import net.sourceforge.htmlunit.corejs.javascript.JavaScriptException;
-import net.sourceforge.htmlunit.corejs.javascript.NativeObject;
-import net.sourceforge.htmlunit.corejs.javascript.Scriptable;
+import com.gargoylesoftware.htmlunit.javascript.AbstractJavaScriptEngine;
import com.gargoylesoftware.htmlunit.javascript.FunctionWrapper;
-import com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine;
import com.gargoylesoftware.htmlunit.javascript.PostponedAction;
import com.gargoylesoftware.htmlunit.javascript.SimpleScriptable;
import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass;
@@ -33,6 +28,12 @@
import com.gargoylesoftware.htmlunit.javascript.configuration.JsxStaticFunction;
import com.gargoylesoftware.htmlunit.javascript.configuration.WebBrowser;
+import net.sourceforge.htmlunit.corejs.javascript.Context;
+import net.sourceforge.htmlunit.corejs.javascript.Function;
+import net.sourceforge.htmlunit.corejs.javascript.JavaScriptException;
+import net.sourceforge.htmlunit.corejs.javascript.NativeObject;
+import net.sourceforge.htmlunit.corejs.javascript.Scriptable;
+
/**
* A JavaScript object for {@code Promise}.
*
@@ -138,7 +139,7 @@
}
};
- final JavaScriptEngine jsEngine = \
window.getWebWindow().getWebClient().getJavaScriptEngine(); + final \
AbstractJavaScriptEngine jsEngine = \
window.getWebWindow().getWebClient().getAbstractJavaScriptEngine(); \
jsEngine.addPostponedAction(thenAction);
return promise;
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 2015-09-28 \
17:50:41 UTC (rev 11320)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Window.java 2015-09-28 \
18:07:33 UTC (rev 11321) @@ -2236,7 +2236,8 @@
return;
}
- final JavaScriptEngine jsEngine = \
getWebWindow().getWebClient().getJavaScriptEngine(); + final JavaScriptEngine \
jsEngine = (JavaScriptEngine) + \
getWebWindow().getWebClient().getAbstractJavaScriptEngine();
final PostponedAction action = new \
PostponedAction(getDomNodeOrDie().getPage()) { @Override
public void execute() throws Exception {
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDocument.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDocument.java 2015-09-28 \
17:50:41 UTC (rev 11320)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDocument.java 2015-09-28 \
18:07:33 UTC (rev 11321) @@ -685,7 +685,7 @@
closePostponedAction_ = true;
final HtmlPage page = (HtmlPage) getDomNodeOrDie();
final WebWindow enclosingWindow = page.getEnclosingWindow();
- page.getWebClient().getJavaScriptEngine().addPostponedAction(new \
PostponedAction(page) { + \
page.getWebClient().getAbstractJavaScriptEngine().addPostponedAction(new \
PostponedAction(page) { @Override
public void execute() throws Exception {
if (writeBuffer_.length() != 0) {
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElement.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElement.java 2015-09-28 \
17:50:41 UTC (rev 11320)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElement.java 2015-09-28 \
18:07:33 UTC (rev 11321) @@ -348,7 +348,7 @@
final String action = getHtmlForm().getActionAttribute().trim();
if (StringUtils.startsWithIgnoreCase(action, \
JavaScriptURLConnection.JAVASCRIPT_PREFIX)) {
final String js = \
action.substring(JavaScriptURLConnection.JAVASCRIPT_PREFIX.length());
- webClient.getJavaScriptEngine().execute(page, js, "Form action", 0);
+ webClient.getAbstractJavaScriptEngine().execute(page, js, "Form action", \
0); }
else {
// download should be done ASAP, response will be loaded into a window \
later
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLDocument.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLDocument.java 2015-09-28 \
17:50:41 UTC (rev 11320)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLDocument.java 2015-09-28 \
18:07:33 UTC (rev 11321) @@ -40,7 +40,6 @@
import com.gargoylesoftware.htmlunit.html.DomNode;
import com.gargoylesoftware.htmlunit.html.HtmlElement;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.gargoylesoftware.htmlunit.javascript.HtmlUnitScriptable;
import com.gargoylesoftware.htmlunit.javascript.SimpleScriptable;
import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass;
import com.gargoylesoftware.htmlunit.javascript.configuration.JsxConstructor;
@@ -212,10 +211,10 @@
// TODO: cleanup, getScriptObject() should be used!!!
if (domNode instanceof DomElement && !(domNode instanceof HtmlElement)) {
if (domNode instanceof SvgElement) {
- final Class<? extends HtmlUnitScriptable> javaScriptClass = \
getWindow().getWebWindow().getWebClient() + final Class<? extends \
SimpleScriptable> javaScriptClass = \
getWindow().getWebWindow().getWebClient()
\
.getJavaScriptEngine().getJavaScriptClass(domNode.getClass()); try {
- scriptable = (SimpleScriptable) javaScriptClass.newInstance();
+ scriptable = javaScriptClass.newInstance();
}
catch (final Exception e) {
throw Context.throwAsScriptRuntimeEx(e);
Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavaScriptEngineTest.java
===================================================================
--- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavaScriptEngineTest.java 2015-09-28 \
17:50:41 UTC (rev 11320)
+++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavaScriptEngineTest.java 2015-09-28 \
18:07:33 UTC (rev 11321) @@ -1308,7 +1308,7 @@
final HtmlPage page = loadPage(html);
final WebClient webClient = getWebClient();
- final JavaScriptEngine engine = webClient.getJavaScriptEngine();
+ final JavaScriptEngine engine = (JavaScriptEngine) \
webClient.getAbstractJavaScriptEngine();
engine.addPostponedAction(new PostponedAction(page) {
@Override
------------------------------------------------------------------------------
_______________________________________________
HtmlUnit-develop mailing list
HtmlUnit-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/htmlunit-develop
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic