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

Jiri Vanek jvanek at redhat.com
Thu Mar 5 17:32:43 UTC 2015


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.

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?

Thank you very much!

J.


More information about the distro-pkg-dev mailing list