firefox 4: problem with NPN_GetURL target=_self

Andriy Gapon avg at icyb.net.ua
Tue Apr 19 08:36:38 PDT 2011


[sorry for the cross-post but the issue at hand seems to be of dual nature]

I observe a particular problem with Firefox 4 and IcedTea Java plugin.
The issue can be described in simple terms as follows:
- the plugin calls the browser via NPN_GetURL(target=_self) [because that's what a
Java applet instructs it to do]
- the browser makes a "nested" call back to the plugin via
NPP_GetValue(NPPVpluginScriptableNPObject)
- because of the peculiarities of the plugin implementation it gets stuck in this
nested call until its internal timeout is reached [*]

Now, the problem could be simply attributed to that peculiarity and the case would
be solved for Firefox.  But not quite yet.

The same plugin with the same applet work without the problem with Firefox 3 and
other browsers.
I see one difference in the behavior: those browsers call NPP_Destroy in response
to NPN_GetURL(target=_self).  I guess that that makes sense because of the
target=_self.

[*] The way IcedTea uses glib channels for communication with Java process (applet
runner) via named pipes precludes "recursive" communication - while a channel
callback is running its channel seems to be excluded from being polled in the glib
main loop.

Thank you in advance for any help / insights.

-- 
Andriy Gapon



More information about the distro-pkg-dev mailing list