|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.gargoylesoftware.htmlunit.javascript.JavaScriptEngine
public class JavaScriptEngine
A wrapper for the Rhino JavaScript engine
that provides browser specific features.
Like all classes in this package, this class is not intended for direct use
and may change without notice.
Field Summary | |
---|---|
static String |
KEY_STARTING_PAGE
Key used to place the HtmlPage for which the JavaScript code is executed
as thread local attribute in current context. |
static String |
KEY_STARTING_SCOPE
Key used to place the scope in which the execution of some JavaScript code started as thread local attribute in current context. This is needed to resolve some relative locations relatively to the page in which the script is executed and not to the page which location is changed. |
Constructor Summary | |
---|---|
JavaScriptEngine(WebClient webClient)
Creates an instance for the specified WebClient . |
Method Summary | |
---|---|
void |
addPostponedAction(PostponedAction action)
Adds an action that should be executed first when the script currently being executed has finished. |
Object |
callFunction(HtmlPage htmlPage,
net.sourceforge.htmlunit.corejs.javascript.Function function,
net.sourceforge.htmlunit.corejs.javascript.Context context,
net.sourceforge.htmlunit.corejs.javascript.Scriptable scope,
net.sourceforge.htmlunit.corejs.javascript.Scriptable thisObject,
Object[] args)
Calls the given function taking care of synchronization issues. |
Object |
callFunction(HtmlPage htmlPage,
Object javaScriptFunction,
Object thisObject,
Object[] args,
DomNode htmlElement)
Calls a JavaScript function and return the result. |
net.sourceforge.htmlunit.corejs.javascript.Script |
compile(HtmlPage htmlPage,
String sourceCode,
String sourceName,
int startLine)
Compiles the specified JavaScript code in the context of a given HTML page. |
protected JavaScriptExecutor |
createJavaScriptExecutor()
Creates the JavaScriptExecutor that will be used to handle JS. |
Object |
execute(HtmlPage htmlPage,
net.sourceforge.htmlunit.corejs.javascript.Script script)
Executes the specified JavaScript code in the context of a given HTML page. |
Object |
execute(HtmlPage htmlPage,
String sourceCode,
String sourceName,
int startLine)
Executes the specified JavaScript code in the context of a given HTML page. |
HtmlUnitContextFactory |
getContextFactory()
Returns this JavaScript engine's Rhino ContextFactory . |
JavaScriptExecutor |
getJavaScriptExecutor()
Returns the JavaScriptExecutor. |
WebClient |
getWebClient()
Returns the web client that this engine is associated with. |
protected void |
handleJavaScriptException(ScriptException scriptException)
Handles an exception that occurred during execution of JavaScript code. |
void |
holdPosponedActions()
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK. Indicates that no postponed action should be executed. |
void |
initialize(WebWindow webWindow)
Performs initialization for the given webWindow. |
boolean |
isScriptRunning()
Indicates if JavaScript is running in current thread. This allows code to know if there own evaluation is has been triggered by some JS code. |
void |
processPostponedActions()
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK. Process postponed actions, if any. |
int |
pumpEventLoop(long timeoutMillis)
Executes the jobs in the eventLoop till timeoutMillis expires or the eventLoop becomes empty. |
void |
registerWindowAndMaybeStartEventLoop(WebWindow webWindow)
Register WebWindow with the JavaScriptExecutor. |
void |
shutdownJavaScriptExecutor()
Shutdown JavaScriptExecutor. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String KEY_STARTING_SCOPE
public static final String KEY_STARTING_PAGE
HtmlPage
for which the JavaScript code is executed
as thread local attribute in current context.
Constructor Detail |
---|
public JavaScriptEngine(WebClient webClient)
WebClient
.
webClient
- the client that will own this engineMethod Detail |
---|
public final WebClient getWebClient()
public HtmlUnitContextFactory getContextFactory()
ContextFactory
.
ContextFactory
public void initialize(WebWindow webWindow)
webWindow
- the web window to initialize forpublic JavaScriptExecutor getJavaScriptExecutor()
public void registerWindowAndMaybeStartEventLoop(WebWindow webWindow)
webWindow
- the WebWindow to be registered.protected JavaScriptExecutor createJavaScriptExecutor()
JavaScriptExecutor
that will be used to handle JS.
public int pumpEventLoop(long timeoutMillis)
GAEUtils.isGaeMode()
.
timeoutMillis
- the timeout in milliseconds
public void shutdownJavaScriptExecutor()
public net.sourceforge.htmlunit.corejs.javascript.Script compile(HtmlPage htmlPage, String sourceCode, String sourceName, int startLine)
htmlPage
- the page that the code will execute withinsourceCode
- the JavaScript code to executesourceName
- the name that will be displayed on error conditionsstartLine
- the line at which the script source starts
public Object execute(HtmlPage htmlPage, String sourceCode, String sourceName, int startLine)
htmlPage
- the page that the code will execute withinsourceCode
- the JavaScript code to executesourceName
- the name that will be displayed on error conditionsstartLine
- the line at which the script source starts
public Object execute(HtmlPage htmlPage, net.sourceforge.htmlunit.corejs.javascript.Script script)
htmlPage
- the page that the code will execute withinscript
- the script to execute
public Object callFunction(HtmlPage htmlPage, Object javaScriptFunction, Object thisObject, Object[] args, DomNode htmlElement)
htmlPage
- the pagejavaScriptFunction
- the function to callthisObject
- the this object for class method callsargs
- the list of arguments to pass to the functionhtmlElement
- the HTML element that will act as the context
public Object callFunction(HtmlPage htmlPage, net.sourceforge.htmlunit.corejs.javascript.Function function, net.sourceforge.htmlunit.corejs.javascript.Context context, net.sourceforge.htmlunit.corejs.javascript.Scriptable scope, net.sourceforge.htmlunit.corejs.javascript.Scriptable thisObject, Object[] args)
htmlPage
- the HTML page that caused this script to executedfunction
- the JavaScript function to executecontext
- the context in which execution should occurscope
- the execution scopethisObject
- the 'this' objectargs
- the function's arguments
public boolean isScriptRunning()
true
if JavaScript is runningpublic void addPostponedAction(PostponedAction action)
action
- the actionprotected void handleJavaScriptException(ScriptException scriptException)
scriptException
- the exceptionpublic void holdPosponedActions()
public void processPostponedActions()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |