JDK-8088723 : iOS: Missing support for jar: URL
  • Type: Bug
  • Component: javafx
  • Sub-Component: web
  • Affected Version: 9
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • Submitted: 2013-06-21
  • Updated: 2018-09-06
  • Resolved: 2017-08-03
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
tbdResolved
Related Reports
Duplicate :  
Relates :  
Description
Description from Jarda's email:

I have a version of Twitter Client demo that runs without Grizzly on the 
desktop (using JavaFX WebView). However the same application shows just an 
empty pane on iOS.

The reason is my usage of jar:file:.... URL scheme. As the iOS WebUI is a 
native component, it does not understand custom Java URLs and fails to load 
the page. When I replaced the use of jar: URL with load of direct content:

     @Override
-    public void displayPage(final URL resource, Runnable onLoad) {
+    public void displayPage(URL resource, Runnable onLoad) {
+        final StringBuilder sb = new StringBuilder();
+        try {
+            BufferedReader is = new BufferedReader(new 
InputStreamReader(resource.openStream()));
+            for (;;) {
+                String line = is.readLine();
+                if (line == null) {
+                    break;
+                }
+                sb.append(line).append('\n');
+            }
+            is.close();
+        } catch (IOException ex) {
+            Exceptions.printStackTrace(ex);
+        }
         engine = FXBrwsr.findEngine(onLoad);
         Platform.runLater(new Runnable() {
             @Override
             public void run() {
-                engine.load(resource.toExternalForm());
+                engine.loadContent(sb.toString());
             }
         });

the page loads, but it does not read relative resources (like CSS).

I think it is desirable to have consistent behavior between desktop and iOS 
WebView
Comments
Please re-test Post JDK-8136466 fix.
03-08-2017

Fixed as part of JDK-8136466 http://hg.openjdk.java.net/openjfx/9-dev/rt/rev/d4f8c9496683 Root cause and use case of this defect is same as JDK-8136466 which is fixed for Windows, Mac and Linux. Where as this is tested on iOS. reverting the state to initial state.
14-10-2015

Fixed as part of JDK-8136466 http://hg.openjdk.java.net/openjfx/9-dev/rt/rev/d4f8c9496683
14-10-2015

iOs specific so assigning to iOS team.
21-06-2013