Bug 343286

Summary: nspluginwrapper can not handle javaplugin.so
Product: [openSUSE] openSUSE 10.3 Reporter: Marcus Meissner <meissner>
Component: FirefoxAssignee: Marcus Meissner <meissner>
Status: RESOLVED WONTFIX QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: edwardp7, matz, rguenther, sbrabec
Version: Final   
Target Milestone: ---   
Hardware: 64bit   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Marcus Meissner 2007-11-21 14:04:15 UTC
nspluginwrapper does not support the javaplugin.

(required for 64bit firefox + java)

the problem is in nspluginwrapper which is lacking _gxx_personality_v0 export.
Comment 1 Marcus Meissner 2007-11-21 15:54:47 UTC
Micha Matz and myself spent some time on this today.

nspluginwrapper is not able to handle the Java Plugin currently and it is 
no easy fix.

We added some C++ symbols, we linked libsupc++.a better, but then the problem is that the plugion interface is exposed via "NSFactory" instead of the NP_* functions.

This will be major implementation effort.
Comment 2 Stanislav Brabec 2007-11-21 17:06:08 UTC
It would not be as easy as it sounds.

Here is a comment from nspluginwrapper developer:

From: Gwenole Beauchesne <gb.public@free.fr>
To: Stanislav Brabec <sbrabec@suse.cz>
Subject: Re: nspluginwrapper: why Sun Java is not wrapped?
Date: Thu, 3 May 2007 07:18:51 +0200

...

> Why Sun Java plugin does not work with nspluginwrapper and how
> complicated it would be to make it working.

nspluginwrapper only implements an NPAPI bridge at this time. I had a  
quick look at OJI (what java plugins use) some time ago, it's seems  
to be a derivative of NPAPI. I believe that to support OJI, we'd  
first have to write a proper XPCOM bridge. The other problem is that  
OJI documentation is quite weak though I have sources of  
gcjwebplugin, (old) kaffe-plugin and even jvm 1.4 for x86.

The problem with XPCOM is that I don't think there is a generic way  
to implement that even if we parse the types description files (.xpt)  
because e.g. in/out arguments would need special attention to keep  
the other-side synchronised and thus knowing what changed. So it  
would need to be a case by case basis and honestly, that's tedious.

Besides, I am not an expert in NPAPI/OJI/XPCOM, I am just learning as  
I need to. ;-)

...
Comment 3 Edward Piecewicz 2007-11-21 22:12:49 UTC
SeaMonkey also does not find the Java plugin, it does not affect just Firefox.
Comment 4 Marcus Meissner 2007-11-21 22:37:30 UTC
this is not about "not finding" the java plugin.

The java plugin is there just fine.


However, no 64bit Mozilla browser (Firefox, Seamonkey) is able to use 
the Java plugin. The java plugin is 32bit and would need a 32-64 bit layer,
which is present by "nspluginwrapper". 

However, as in #c2, nspluginwrapper does not handle the kind of plugin the
Java plugin is.

As long as upstream does not have a solution please just use the 32bit
Firefox or seamonkey on your 64bit machine if you need JAVA.