Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8090376

New method JSObject.getWindow(Object) to allow interaction of legacy Applets within JavaFX WebView

    XMLWordPrintable

    Details

    • Subcomponent:
      web

      Description

      Based on discussions of RT-37103 and RT-30622, it is clear that there is a mismatch of the Netscape package from jfxrt.jar and plugin.jar. The FX version of the package does not offer a getWindow(Applet) method because an FX application was not designed to support Applets loaded through WebView.

      But to allow seamless and progressively migration of legacy web applications dependent on Applets to a JavaFX-based deployment, it would make sense to have such support in order to allow the website to work without agressive refactoring of Javascript LiveConnect pages that plug with Applets (and vice-versa).

      The proposal is to include a getWindow(Object) to allow Applets to be refactored (small changes) in order to allow the developer to plug with the ScriptEngine loaded by WebEngine. This will allow the code behind the Applet to run both through regular web browsers and from within a WebView context.

      I have a proof of concept that I have submitted to show at JavaOne 2014 and I am open to discuss this further with the team responsible for WebView as well the team responsible for the plugin.jar in JDK.

      The long-term solution is to have plugin.jar as part of JDK classpath along with jfxrt.jar and an extra getWindow(Object) method. WebView can also be improved to support loading applets remotely and create the necessary wrappers on the fly.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              kcr Kevin Rushforth
              Reporter:
              bborges Bruno Borges (Inactive)
              Votes:
              3 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Imported: