Shorten the name to register an extension and use configuration object with a generated magic to ensure basic level of consistency. closure
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Mon, 26 May 2014 16:20:51 +0200
branchclosure
changeset 1598ec62383beb7d
parent 1597 0e022ce3f23a
child 1599 36746c46716a
Shorten the name to register an extension and use configuration object with a generated magic to ensure basic level of consistency.
launcher/http/src/main/java/org/apidesign/bck2brwsr/launcher/Bck2BrwsrLauncher.java
rt/vm/src/main/java/org/apidesign/vm4brwsr/ClosureWrapper.java
rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java
     1.1 --- a/launcher/http/src/main/java/org/apidesign/bck2brwsr/launcher/Bck2BrwsrLauncher.java	Mon May 26 14:34:46 2014 +0200
     1.2 +++ b/launcher/http/src/main/java/org/apidesign/bck2brwsr/launcher/Bck2BrwsrLauncher.java	Mon May 26 16:20:51 2014 +0200
     1.3 @@ -122,7 +122,7 @@
     1.4              + "    args.unshift(ldCls);\n"
     1.5              + "    return prevvm.apply(null, args);\n"
     1.6              + "  };\n"
     1.7 -            + "  global.bck2brwsr.registerExtension = prevvm.registerExtension;\n"
     1.8 +            + "  global.bck2brwsr.register = prevvm.register;\n"
     1.9              + "})(this);\n"
    1.10          );
    1.11          LOG.log(Level.INFO, "Serving bck2brwsr.js", b2b);
     2.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ClosureWrapper.java	Mon May 26 14:34:46 2014 +0200
     2.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ClosureWrapper.java	Mon May 26 16:20:51 2014 +0200
     2.3 @@ -158,7 +158,7 @@
     2.4      private static final String[] FIXED_EXTERNS = {
     2.5          "bck2brwsr",
     2.6          "bck2BrwsrThrwrbl",
     2.7 -        "registerExtension",
     2.8 +        "register",
     2.9          "$class",
    2.10          "anno",
    2.11          "array",
     3.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java	Mon May 26 14:34:46 2014 +0200
     3.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java	Mon May 26 16:20:51 2014 +0200
     3.3 @@ -588,7 +588,11 @@
     3.4                  + "    return loader;\n"
     3.5                  + "  };\n");
     3.6              append(
     3.7 -                  "  global.bck2brwsr.registerExtension = function(extension) {\n"
     3.8 +                  "  global.bck2brwsr.register = function(config, extension) {\n"
     3.9 +                + "    if (!config || config['magic'] !== 'kafíčko') {\n"
    3.10 +                + "      console.log('Will not register: ' + extension);\n"
    3.11 +                + "      return false;\n"
    3.12 +                + "    }\n"
    3.13                  + "    extensions.push(extension);\n"
    3.14                  + "    return null;\n"
    3.15                  + "  };\n");
    3.16 @@ -619,7 +623,9 @@
    3.17  
    3.18          @Override
    3.19          protected void generatePrologue() throws IOException {
    3.20 -            append("bck2brwsr.registerExtension(function(exports) {\n"
    3.21 +            append("bck2brwsr.register({\n"
    3.22 +                    + "'magic' : 'kafíčko'\n"
    3.23 +                + "}, function(exports) {\n"
    3.24                             + "  var vm = {};\n");
    3.25              append("  function link(n) {\n"
    3.26                  + "    return function() {\n"