java plugin in nspluginviewer

Dirk Mueller mueller at kde.org
Mon Oct 21 10:47:02 BST 2002


On Mon, 21 Okt 2002, Till Krech wrote:

> 1) I do not get any debug output from nspluginviewer. It is started from a 
> KProcess within the plugin_part in konqueror. My workaround: use 
> receivedStderr signal and a slotStderr wich does a kdDebug. Not very nice.

it should end up in ~/.X.err, or in the konsole window you restarted kdeinit 
in. 

> 2) Width and height of a plugin are set to 1600 x 1200 by default.

Thats a bug. 

> The width and height attributes of an <object> tag are not passed to the 
> plugin which only understands parameters such as
> <param name="width" value="400"> 
> I found a workaround by 'converting' the attributes to pseudo params 
> __KHTML__WIDTH and __KHTML_HEIGHT in khtml/rendering/render_frames.cpp as it 
> is already done with other attributes like this:
>       params.append( QString::fromLatin1("__KHTML__WIDTH=\"%1\"").arg( 
> o->getAttribute(ATTR_WIDTH).string() ) );
>       params.append( QString::fromLatin1("__KHTML__HEIGHT=\"%1\"").arg( 
> o->getAttribute(ATTR_HEIGHT).string() ) );

I'm not sure why we need such a complex format for passing it downwards (who 
parses that? nspluginviewer or the nsplugin itself?)

> 
> 3) The java plugin does not work with user agent strings other than Netscape 
> 4.7. It is possible to define a pseudo domain 'nspluginviewer' and to set the 
> user agent string for this domain. But this makes not much sense. Why should 
> a user be able/obligated to configure this ? Netscape plugins are for 
> Netscape browsers. nspluginviewer can only handle ns4 plugins.

what happens when there is a different user agent string set ?


> 4) there are crashes in the nspluginviewer because of memory corruption. I 
> tried to run konqueror with valgrind --trace-children but it stops when 
> loading the netscape plugin shared object file.

How does it load it ? with dlopen? valgrind should be able to survive that. 

Yeah, I also suspect quite some bugs in nspluginviewer, but its a bitch to 
debug this thing :(

you could try valgrinding only the child itself by hacking in that it 
ld_preloads the valgrind.so lib. 


>    delete _tempFile;
> ----->   delete _queue;
> }
> 
> _queue is not a pointer. What happens upon delete ? Isn't _queue deleted 
> automatically when NSPluginStreamBase is deleted?

it deletes the contents of _queue. yes, _queue (the container object) is 
deleted, but not its contents. 


-- 
Dirk (received 267 mails today)




More information about the kfm-devel mailing list