Java Code Examples for com.gargoylesoftware.htmlunit.WebClient#getJavaScriptEngine()
The following examples show how to use
com.gargoylesoftware.htmlunit.WebClient#getJavaScriptEngine() .
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: JavaScriptEngineTest.java From htmlunit with Apache License 2.0 | 6 votes |
/** * @throws Exception if the test fails */ @Test public void shutdown() throws Exception { final String html = "<html></html>"; final HtmlPage page = loadPage(html); @SuppressWarnings("resource") final WebClient webClient = getWebClient(); final AbstractJavaScriptEngine<?> engine = webClient.getJavaScriptEngine(); engine.addPostponedAction(new PostponedAction(page) { @Override public void execute() throws Exception { // empty } }); assertEquals(1, getPostponedActions(engine).get().size()); webClient.close(); assertNull(getPostponedActions(engine).get()); }
Example 2
Source File: DedicatedWorkerGlobalScope.java From htmlunit with Apache License 2.0 | 5 votes |
void loadAndExecute(final WebClient webClient, final String url, final Context context, final boolean checkMimeType) throws IOException { final HtmlPage page = (HtmlPage) owningWindow_.getDocument().getPage(); final URL fullUrl = page.getFullyQualifiedUrl(url); final WebRequest webRequest = new WebRequest(fullUrl); final WebResponse response = webClient.loadWebResponse(webRequest); if (checkMimeType && !MimeType.isJavascriptMimeType(response.getContentType())) { throw Context.reportRuntimeError( "NetworkError: importScripts response is not a javascript response"); } final String scriptCode = response.getContentAsString(); final JavaScriptEngine javaScriptEngine = (JavaScriptEngine) webClient.getJavaScriptEngine(); final DedicatedWorkerGlobalScope thisScope = this; final ContextAction<Object> action = new ContextAction<Object>() { @Override public Object run(final Context cx) { final Script script = javaScriptEngine.compile(page, thisScope, scriptCode, fullUrl.toExternalForm(), 1); return javaScriptEngine.execute(page, thisScope, script); } }; final ContextFactory cf = javaScriptEngine.getContextFactory(); if (context != null) { action.run(context); } else { final JavaScriptJob job = new WorkerJob(cf, action, "loadAndExecute " + url); owningWindow_.getWebWindow().getJobManager().addJob(job, page); } }
Example 3
Source File: JavaScriptEngineTest.java From htmlunit with Apache License 2.0 | 5 votes |
/** * Test case where {@link JavaScriptEngine#registerWindowAndMaybeStartEventLoop(WebWindow)} * is being called after {@link JavaScriptEngine#shutdown()}. */ @Test public void useAfterShutdownShouldNotCreateThreads() { @SuppressWarnings("resource") final WebClient webClient = getWebClient(); final WebWindow window = webClient.getCurrentWindow(); final AbstractJavaScriptEngine<?> engine = webClient.getJavaScriptEngine(); webClient.close(); engine.registerWindowAndMaybeStartEventLoop(window); assertTrue(getJavaScriptThreads().isEmpty()); }
Example 4
Source File: DedicatedWorkerGlobalScope.java From HtmlUnit-Android with Apache License 2.0 | 5 votes |
void loadAndExecute(final String url, final Context context) throws IOException { final HtmlPage page = (HtmlPage) owningWindow_.getDocument().getPage(); final URL fullUrl = page.getFullyQualifiedUrl(url); final WebClient webClient = owningWindow_.getWebWindow().getWebClient(); final WebRequest webRequest = new WebRequest(fullUrl); final WebResponse response = webClient.loadWebResponse(webRequest); final String scriptCode = response.getContentAsString(); final JavaScriptEngine javaScriptEngine = (JavaScriptEngine) webClient.getJavaScriptEngine(); final DedicatedWorkerGlobalScope thisScope = this; final ContextAction action = new ContextAction() { @Override public Object run(final Context cx) { final Script script = javaScriptEngine.compile(page, thisScope, scriptCode, fullUrl.toExternalForm(), 1); return javaScriptEngine.execute(page, thisScope, script); } }; final ContextFactory cf = javaScriptEngine.getContextFactory(); if (context != null) { action.run(context); } else { final JavaScriptJob job = new WorkerJob(cf, action, "loadAndExecute " + url); owningWindow_.getWebWindow().getJobManager().addJob(job, page); } }