ko-fx/src/main/java/org/apidesign/html/kofx/FXContext.java
changeset 322 4a93f2679691
parent 309 7025177bd67e
child 358 80702021b851
     1.1 --- a/ko-fx/src/main/java/org/apidesign/html/kofx/FXContext.java	Thu Oct 10 14:02:18 2013 +0200
     1.2 +++ b/ko-fx/src/main/java/org/apidesign/html/kofx/FXContext.java	Tue Nov 05 23:06:32 2013 +0100
     1.3 @@ -20,6 +20,7 @@
     1.4   */
     1.5  package org.apidesign.html.kofx;
     1.6  
     1.7 +import java.io.Closeable;
     1.8  import java.io.IOException;
     1.9  import java.io.InputStream;
    1.10  import java.util.ServiceLoader;
    1.11 @@ -27,7 +28,6 @@
    1.12  import javafx.application.Platform;
    1.13  import net.java.html.js.JavaScriptBody;
    1.14  import netscape.javascript.JSObject;
    1.15 -import org.apidesign.html.boot.impl.FnContext;
    1.16  import org.apidesign.html.boot.spi.Fn;
    1.17  import org.apidesign.html.context.spi.Contexts;
    1.18  import org.apidesign.html.json.spi.FunctionBinding;
    1.19 @@ -151,13 +151,11 @@
    1.20      public void runSafe(final Runnable r) {
    1.21          class Wrap implements Runnable {
    1.22              @Override public void run() {
    1.23 -                Fn.Presenter prev = FnContext.currentPresenter(browserContext);
    1.24 -                try {
    1.25 +                try (Closeable c = Fn.activate(browserContext)) {
    1.26                      r.run();
    1.27 -                } finally {
    1.28 -                    FnContext.currentPresenter(prev);
    1.29 +                } catch (IOException ex) {
    1.30 +                    // cannot be thrown
    1.31                  }
    1.32 -                
    1.33              }
    1.34          }
    1.35          Wrap w = new Wrap();
    1.36 @@ -189,7 +187,7 @@
    1.37          @Override
    1.38          public void fillContext(Contexts.Builder context, Class<?> requestor) {
    1.39              if (isJavaScriptEnabled()) {
    1.40 -                FXContext c = new FXContext(FnContext.currentPresenter());
    1.41 +                FXContext c = new FXContext(Fn.activePresenter());
    1.42                  
    1.43                  context.register(Technology.class, c, 100);
    1.44                  context.register(Transfer.class, c, 100);