This is an automated email from the ASF dual-hosted git repository. jtulach pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/netbeans-html4j.git
commit ece738df357347cf9087d4538861ba6a47f837e9 Author: Jaroslav Tulach <jaroslav.tul...@apidesign.org> AuthorDate: Sun Dec 27 07:40:57 2020 +0100 Use -Dorg.netbeans.html.Generic.wait4js=true to always wait for JavaScript execution to finish --- .travis.yml | 2 +- generic/pom.xml | 11 +++++++++++ .../main/java/org/netbeans/html/presenters/spi/Generic.java | 7 ++++++- .../netbeans/html/presenters/spi/ProtoPresenterBuilder.java | 3 +++ 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 99f3300..cfa050e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,7 +32,7 @@ before_script: script: - $JAVA_HOME/bin/java -version - mvn install -DskipTests $ARGS - - mvn -q verify $ARGS + - mvn -q verify $ARGS -Dorg.netbeans.html.Generic.wait4js=true - if [ -n "$JAVADOC" ]; then mvn javadoc:aggregate; fi matrix: diff --git a/generic/pom.xml b/generic/pom.xml index 09b34a5..6500712 100644 --- a/generic/pom.xml +++ b/generic/pom.xml @@ -36,6 +36,7 @@ <publicPackages>org.netbeans.html.presenters.spi</publicPackages> <publicMetaInf/> <sigtestPackages/> + <wait4js>false</wait4js> </properties> <dependencies> @@ -95,6 +96,16 @@ </configuration> </plugin> <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <systemPropertyVariables> + <org.netbeans.html.Generic.wait4js>${wait4js}</org.netbeans.html.Generic.wait4js> + </systemPropertyVariables> + <skip>false</skip> + </configuration> + </plugin> + <plugin> <groupId>org.netbeans.html</groupId> <artifactId>html4j-maven-plugin</artifactId> <executions> diff --git a/generic/src/main/java/org/netbeans/html/presenters/spi/Generic.java b/generic/src/main/java/org/netbeans/html/presenters/spi/Generic.java index 3a6a331..473749c 100644 --- a/generic/src/main/java/org/netbeans/html/presenters/spi/Generic.java +++ b/generic/src/main/java/org/netbeans/html/presenters/spi/Generic.java @@ -67,6 +67,7 @@ abstract class Generic implements Fn.Presenter, Fn.KeepAlive, Flushable { this.evalJS = evalJS; this.type = type; this.app = app; + this.resetDeferredDisabled(); } final Object lock() { @@ -764,11 +765,15 @@ abstract class Generic implements Fn.Presenter, Fn.KeepAlive, Flushable { exec(id, Strings.flushExec(key, id).toString()); } if (topMostCall() == null) { - deferredDisabled = false; + resetDeferredDisabled(); } } } + private void resetDeferredDisabled() { + deferredDisabled = Boolean.getBoolean("org.netbeans.html.Generic.wait4js"); + } + final Object exec(int id, String fn) { assert Thread.holdsLock(lock()); boolean first; diff --git a/generic/src/main/java/org/netbeans/html/presenters/spi/ProtoPresenterBuilder.java b/generic/src/main/java/org/netbeans/html/presenters/spi/ProtoPresenterBuilder.java index f56b56b..cc79a20 100644 --- a/generic/src/main/java/org/netbeans/html/presenters/spi/ProtoPresenterBuilder.java +++ b/generic/src/main/java/org/netbeans/html/presenters/spi/ProtoPresenterBuilder.java @@ -26,6 +26,9 @@ import org.netbeans.html.boot.spi.Fn.Presenter; /** The <em>prototypical</em> presenter builder. Builds a {@link Presenter} based on * top of textual protocol transferred between JVM and JavaScript engines. + * Supports one additional configuration property; by setting + * {@code org.netbeans.html.Generic.wait4js} + * to {@code true} one enables, more reliable, yet possibly slower, mode. */ public final class ProtoPresenterBuilder { private Evaluator loadScript; --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists