Closed Bug 435433 Opened 16 years ago Closed 15 years ago

Remove support for passing XPCOM objects across the NPAPI

Categories

(Core Graveyard :: Plug-ins, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED DUPLICATE of bug 500513

People

(Reporter: benjamin, Unassigned)

References

()

Details

Because we're going to be altering nsISupports, we want to remove support for passing nsISupports across the NPAPI boundary.

http://bonsai.mozilla.org/cvsblame.cgi?file=/mozilla/modules/plugin/base/public/npapi.h&rev=3.48&mark=394-395,433-435,655#385 has the current crossover points, which should fail in future versions. We probably don't want this for 1.9.1, but immediately after.
At least the Java plugin depends on this, and will continue to do so until there's equivalent functionality available through the NPAPI. Kenneth Russell outlines what they use in bug 435330 comment 1. Depending on scheduling etc, we could expose what the Java plugin needs in a backwards compatible way even after nsISupports changes (i.e. keep the current nsISupport under a different name for this purpose only until we can get rid of it completely), or we could require a new Java plugin to be used after this change has been made if we can coordinate that with Sun. 
From Sun's standpoint we want to enable Mozilla to remove their legacy code as soon as possible. Doing so will also be a forcing function to users to upgrade to the new and more robust NPAPI and NPRuntime Java Plug-In.

Our only requirements are that the small amount of XPCOM / OJI-specific functionality we rely on be exposed in the NPAPI; and also that we have the opportunity to put out at least one early access build of the new Java Plug-In that works with a Firefox browser with the XPCOM support removed, before the support is removed completely from Firefox.
Komodo's editor plugin relies on NPPVpluginScriptableInstance/NPPVpluginScriptableIID, and we access scintilla api's from both javascript and python via xpcom.  I am not clear on whether changing to NPPVpluginScriptableNPObject can provide us with the same functionality on the python side.
Blocks: 450553
This was fixed in bug 500513
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → DUPLICATE
No longer blocks: 435431
Status: RESOLVED → VERIFIED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.