You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by jt...@apache.org on 2020/12/26 14:40:07 UTC
[netbeans-html4j] 12/25: Resolve deferred, then dispatch,
then resolve deferred
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 ec3e1f39c352eef73a896c28fafc77cf5608570c
Author: Jaroslav Tulach <ja...@apidesign.org>
AuthorDate: Tue Dec 22 15:09:25 2020 +0100
Resolve deferred, then dispatch, then resolve deferred
---
.../org/netbeans/html/presenters/spi/Generic.java | 33 ++++++++++++----------
1 file changed, 18 insertions(+), 15 deletions(-)
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 b6d5b38..e452569 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
@@ -345,18 +345,16 @@ abstract class Generic implements Fn.Presenter, Fn.KeepAlive, Flushable {
"fnClose=) {\n",
"fnBegin= var encParams = ds(@1).toJava(null, -1, [",
"fnPPar=@2 p@1", """
- fnBody=]);
- var v = ds(@3).toVM('c', '@1', '@2', thiz ? thiz.id : null, encParams);
- while (v !== null && v.indexOf && v.indexOf('javascript:') === 0) {
- var script = v.substring(11);
- try {
- var r = eval.call(null, script);
- } catch (e) { console.warn('error: ' + e + ' executing: ' + script + ' at:\\n' + e.stack); }
- v = ds(@3).toVM('jr', null, null, null, null); }
- return @4 ? eval('(' + v + ')') : v;
- };
- """,
-
+ fnBody=]);
+ var v = ds(@3).toVM('c', '@1', '@2', thiz ? thiz.id : null, encParams);
+ while (v !== null && v.indexOf && v.indexOf('javascript:') === 0) {
+ var script = v.substring(11);
+ try {
+ var r = eval.call(null, script);
+ } catch (e) { console.warn('error: ' + e + ' executing: ' + script + ' at:\\n' + e.stack); }
+ v = ds(@3).toVM('jr', null, null, null, null); }
+ return @4 ? eval('(' + v + ')') : v;
+ };""",
"fnFoot=ds(@2).rg(@1, jsvm);\n"
})
final Integer exportVm(Object vm) {
@@ -671,9 +669,6 @@ abstract class Generic implements Fn.Presenter, Fn.KeepAlive, Flushable {
boolean first = top == null || Boolean.TRUE.equals(top.done);
log(Level.FINE, "jc: {0}@{1}args: {2} is first: {3}, now: {4}", new Object[]{method.getName(), vm, params, first, topMostCall()});
Item newItem = registerCall(new Item(nextCallId(), top, method, vm, converted));
- if (first || synchronous) {
- dispatch(newItem);
- }
return javaresult();
}
}
@@ -690,6 +685,14 @@ abstract class Generic implements Fn.Presenter, Fn.KeepAlive, Flushable {
}
finished[0] = false;
final Item top = topMostCall();
+ if (top.method != null) {
+ if (top.done == null) {
+ dispatch(top);
+ if (deferred != null) {
+ continue;
+ }
+ }
+ }
String jsToExec = top.inJavaScript(finished);
log(Level.FINE, "jr: {0} jsToExec: {1} finished: {2}", new Object[]{topMostCall(), jsToExec, finished[0]});
if (jsToExec != null) {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists