[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