[rfc][icedtea-web] Use jnlp_href parameter instead of attribute in applet tag for reproducers

Jie Kang jkang at redhat.com
Thu Mar 5 19:08:06 UTC 2015



----- Original Message -----
> On 03/05/2015 06:09 PM, Jie Kang wrote:
> > Hello,
> >
> > This patch reverts a previous change to a number of reproducers in
> > Icedtea-Web to use the jnlp_href as a parameter instead of an attribute in
> > the applet tag.
> >
> > This is to maintain reproducer compatibility with browsers other than
> > firefox (e.g. midori & epiphany)
> >
> >
> >
> > In terms of possible fixes to IT-W to support jnlp_href as an attribute, I
> > believe that it is not possible. An explanation is below:
> >
> > On the Java side, we receive the parameter string from the initialization
> > message that comes from the FIFO queue.
> >    PluginAppletViewer.handleInitializationMessage
> >
> > On the C side, it sends the message in:
> >   IcedTeaNPPlugin.ITNP_SetWindow
> >    IcedTeaNPPlugin.plugin_send_initialization_message
> >
> > This message contains the parameter string from
> >   ITNPPluginData::parameters_string :
> >
> > This is built in:
> >   ITNP_New(...):
> >    IcedTeaNPPlugin.plugin_parameters_string(argc, argn, argv)
> >
> > This gathers the information from argc, argn, arv. I haven't figured out
> > where this is called but atm I am assuming it comes from the browser.
> >
> > For firefox, when jnlp_href is used as an attribute, it is sent to us as a
> > parameter.
> >
> > Firefox:
> > ITNPP Thread# 140288974678592, gthread 0x7f97926196c0:   PIPE: plugin
> > wrote(?): instance 1 handle 41943439 width 640 height 480 tag
> > [...]/generated-reproducer-SimpleJNLP/SimpleJNLP.html
> > id;applet;code;SimpleJNLP;jnlp_href;SimpleJNLP.jnlp;mayscript;;scriptable;true;height;480;width;640;codebase;[...]/itw-work/generated-reproducer-SimpleJNLP/;
> >
> > In the case of midori and epiphany, the jnlp_href is not sent to us and
> > seems to be ignored by the browser. However, in all the documents I've
> > found, jnlp_href is supposed to be used as a parameter, not an attribute,
> > so it's not necessarily a bug that midori and epiphany don't go the extra
> > effort to send us jnlp_href as a parameter.
> >
> > Midori:
> > ITNPP Thread# 139760886282752, gthread 0x175d0a0:   PIPE: plugin wrote(?):
> > instance 1 handle 39846171 width 640 height 480 tag
> > [...]/generated-reproducer-SimpleJNLP/SimpleJNLP.html
> > code;SimpleJNLP;baseURL;[...]/generated-reproducer-SimpleJNLP/SimpleJNLP.html;mayScript;;
> >
> >
> > As well, firefox seems to send anything in the applet attributes as a
> > parameter, e.g. the height/width/codebase/scriptable, whereas midori
> > doesn't.
> >
> >
> 
> Hi!
> 
> 
> Thanx for investigation!
> 
> Go on and push this stuff.

Okay.

> 
> Do you mind to create two more reproducers catching this behaviour?
> 
> One jnlp with this jnlp_href attribute
> and two @test methods in  testcase one for midori and epiphany, being pass
> when this param is
> actually not delivered (app fails) and second testcase for rest of browsers
> (I belive opera is going
> correctly here, so was chrome and chormium - you can check history on tyr)
> which ensure that
> attribute was passed?

Yeah definitely, that's a good idea.


Regards,

> 
> Thank you very much!
> 
> J.
> 

-- 

Jie Kang

OpenJDK Team - Software Engineering Intern


More information about the distro-pkg-dev mailing list