Closed Bug 310078 Opened 19 years ago Closed 16 years ago

Java Plugin Discovery problems (OJI Plugin textual description lacks JVM version)

Categories

(Firefox :: General, enhancement)

PowerPC
macOS
enhancement
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: joelstevenson, Unassigned)

Details

User-Agent:       Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8b4) Gecko/20050908 Firefox/1.4
Build Identifier: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8b4) Gecko/20050908 Firefox/1.4

I notice that the OJI Java Plugin has no indication of which JVM version(s) it
supports within the textual description.  Currently the description is

"Runs Java applets using the <APPLET>, <OBJECT> and <EMBED> HTML elements. For
more information see MRJ Plugin and MRJ Plugin JEP."

whereas all other Mac Java Plugins include something like "Java 1.3.1 Plugin" or
some such thing.

I understand that there's probably no requirements for what's put in this
description, but it does appear that some sites expect there to be both the
string 'Java' and some form of version number(s) in there.  One example of this
is the HP Insight Manager's login page which requires there to be at least a
1.4.1 JVM on the client machine.  Unfortunately the Insight Manager is
incompatible with Safari (for HTML/JavaScript reasons) but should work fine with
Firefox if only it could be convinced that there was a valid JVM on board.

Is this something that can be handled by Firefox or is this an OJI plugin bug
(or a problem somewhere else?)

Reproducible: Always

Steps to Reproduce:
1.  write or try to use a page that tries to figure out JVM version via 
<code>
// example code which tries to determine what version of the java
// plugin exists.
for (var i = 0; i < navigator.plugins.length; i++)
{
	var description = navigator.plugins.item(i).description;

	if (description.indexOf("Java") == -1)
		continue;

	// look for 1.4
	var version = "1.3";
	var vIdx   = description.indexOf("1.4");
	// not found?, look for 1.5
	if (vIdx == -1)
		vIdx = description.indexOf("1.5");


	if (vIdx >= 0)
	{
		version = description.substr(vIdx, 3);

		if (version < "1.4")
			continue;
	}
	
	// do something with the knowledge ...
}
</code>

Actual Results:  
OJI plugin is not found to be a valid Java Plugin

Expected Results:  
Include the Java VM versions it provides in the text description.
> "Runs Java applets using the <APPLET>, <OBJECT> and <EMBED> HTML elements. For
> more information see MRJ Plugin and MRJ Plugin JEP."

This comes from the "about:plugins" display for the MRJ Plugin JEP (aka "OJI
Plugin for Mac OS X").  The information in that display is statically linked
-- once the program has been compiled, it can't be changed.  But the MRJ
Plugin JEP (together with JavaEmbeddingPlugin.bundle, both of which are part
of the Java Embedding Plugin) use different Java versions on different
versions of Mac OS X.  And on Mac OS X Tiger (10.4.X), the user can actually
select whether the Java Embedding Plugin uses Java 1.4.2 or Java 5.0/1.5.

So what you ask is impossible.

On the other hand, it _might_ be possible to include a link to one of the
popular Java testing sites in the static information in the "about:plugins"
display.  But there are serious limits to how much can be included in the
string which you quoted, and which I quoted again above.  I suspect I would
have to keep the string the same length it is now.  (I found this out by trial
and error long ago ... though I'm still not sure exactly why this limit
exists.)

I will consider altering the about:plugins display to include a link to (say)
http://www.java.com/en/download/help/testvm.xml.  But I probably won't get to
this for a while.

(The Java Embedding Plugin is bundled with recent versions of Mozilla.org
browsers.  For more information see http://javaplugin.sourceforge.net/ and
http://www.mozillazine.org/talkback.html?article=7230.)

Summary: Java Plugin Discovery problems (OJI Plugin textual description lacks JVM version) → Java Plugin Discovery problems (OJI Plugin textual description lacks JVM version)
Note that the JEP also has a version (0.9.4a currently), but that isn't
displayed either.
> Note that the JEP also has a version (0.9.4a currently), but that isn't
> displayed either.

Quite right ... and thanks for pointing it out.

I now think I'm going to completely change the MRJ Plugin JEP's identifying
information in about:plugins to (simply) call it the Java Embedding Plugin, to
include the current version, and to include a link to a Java version testing
site.

This will probably happen in the next version.

Think this is WFM now, if not please open a bug against Steven in the correct component...
Status: UNCONFIRMED → RESOLVED
Closed: 16 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.