Java applets using the embed tag fail to load when they check for a specific version of Java

VERIFIED FIXED

Status

Core Graveyard
Java: OJI
VERIFIED FIXED
16 years ago
7 years ago

People

(Reporter: Brian Nesse (gone), Assigned: Brian Nesse (gone))

Tracking

Trunk
PowerPC
Mac OS X

Firefox Tracking Flags

(Not tracked)

Details

(URL)

(Assignee)

Description

16 years ago
Java applets declared as in the example below fail to load because the MRJ
Plugin does not specifically claim to support the required mimetype.

<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH = 520
HEIGHT = 400 NAME =" TestApplet" ALIGN = middle VSPACE = 0 HSPACE = 0
codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
<param NAME = CODE VALUE =" raoult.RaoultApplet.class" >
<param NAME = CODEBASE VALUE =" ." >
<param NAME = ARCHIVE VALUE =" raoult.jar" >
<param NAME = NAME VALUE =" TestApplet" >

<param NAME="type" VALUE="application/x-java-applet;version=1.3">
<param NAME="scriptable" VALUE="false">
<COMMENT>
<embed type="application/x-java-applet;version=1.3"  CODE ="
raoult.RaoultApplet.class" CODEBASE =" ." ARCHIVE =" raoult.jar" NAME ="
TestApplet" WIDTH = 520 HEIGHT = 400 ALIGN = middle VSPACE = 0 HSPACE = 0 
scriptable=false
pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><noembed></COMMENT>

</noembed></embed>
</object>

Applets declared with the <applet> tag, or as <embed> tags using only
"application/x-java-applet", work as expected because they to not request a
specific version of Java.

There are two routes we can take to fix this situation.
1) We can add mimetype descriptions for all of the various Java releases.
   (there are currently 9 from 1.1 to 1.3.1)
2) We can evangalize sites to use the applet tag, or at least to not use
   ;version=x.x.

There are issues with both of these. If we follow the first path we end up
having to rev the plugin everytime Sun revs their JRE. If we follow the second
path we could end up evangalizing a potentially unlimited number of sites.

Comment 1

16 years ago
3) One more option is to change mime type comparison algorithm and 
  if there is no exact match for whole string  then strip first part untill ";"
  and try it.

This approach also has issues :)

 
(Assignee)

Comment 2

16 years ago
Yes, I didn't mention that approach as we had already kind of ruled it out as
being too ugly.
(Assignee)

Comment 3

16 years ago
As resource files don't diff well, I'll do this manually...Currently we support:
application/x-java-vm,                   xjv
application/x-java-applet,               xja
application/x-java-applet;version=1.1,   xja11
application/x-java-applet;version=1.1.2, xja112

Versions apparently attached to Java 1 (OS 9 and OS X plug-ins):
application/x-java-applet;version=1.1.1, xja111
application/x-java-applet;version=1.1.3, xja113
application/x-java-applet;version=1.2,   xja12

Versions apparently attached to Java 2 (OS X plug-in):
application/x-java-applet;version=1.2.1, xja121
application/x-java-applet;version=1.2.2, xja122
application/x-java-applet;version=1.3, xja13
application/x-java-applet;version=1.3.1, xja131

Future versions attached to Java 2 (OS X plug-in):
application/x-java-applet;version=1.4, xja14
application/x-java-applet;version=1.4.1, xja141

This info has been gleaned from a) the Windows Java Plug-in, and b) the Sun Java 
website, and is my best guess as to versions we would have to claim to support.

This list is not comprehensive, as there also appear to be 1.1.x versions up to 
1.1.8 (though apparently not supported by the Windows Java Plug-in.) Also, some 
of these versions do not appear to correspond to Sun Java releases (see http://
java.sun.com/products/archive/).

Updated

16 years ago
Blocks: 88870

Comment 4

16 years ago
I wouldn't advise adding 1.4* versions, because Apple's JVM is based on Java 2
version 1.3.1.
(Assignee)

Comment 5

16 years ago
No, I would agree that claiming to support 1.4 is probably a bad idea. I just
added them for completeness.
(Assignee)

Comment 6

16 years ago
I dug some more and found that Apples latest, and final, MRJ release for Classic
supports JDK 1.1.8. Previous releases supported 1.0.2, 1.1.3, and 1.1.7 JDK's.

So, mimetypes to be added to the classic plug-in are:
  application/x-java-applet;version=1.1.1, xja111
  application/x-java-applet;version=1.1.3, xja113
For completeness, we could also add any or all of the following:
  application/x-java-applet;version=1.0.2, xja102
  application/x-java-applet;version=1.1.7, xja117
  application/x-java-applet;version=1.1.8, xja118
As these mimetypes doesn't appear on Windows plug-in releases, the only reason I
can see for doing this would be to (potentially) support pages written
specifically for the Mac.

In additon the following should also go into the OS X plug-in:
  application/x-java-applet;version=1.2,   xja12
  application/x-java-applet;version=1.2.1, xja121
  application/x-java-applet;version=1.2.2, xja122
  application/x-java-applet;version=1.3, xja13
  application/x-java-applet;version=1.3.1, xja131
Status: NEW → ASSIGNED

Comment 7

16 years ago
Since it's a binary file that gets modified I'll just say r= on the concept.

Comment 8

16 years ago
sr=beard on the concept
(Assignee)

Comment 9

16 years ago
OSX Plugin changes checked in.
(Assignee)

Comment 10

16 years ago
Classic plugin changes checked in.
Status: ASSIGNED → RESOLVED
Last Resolved: 16 years ago
Resolution: --- → FIXED

Updated

15 years ago
QA Contact: pmac → petersen

Comment 11

15 years ago
Verified in the 2002-12-17-08 cfm trunk under OS X 10.2.3.
Status: RESOLVED → VERIFIED

Updated

7 years ago
Component: Java: OJI → Java: OJI
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.