erwinwinata / ff-activex-host

Automatically exported from code.google.com/p/ff-activex-host
0 stars 0 forks source link

Parameters order when calling activex methods #2

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Parameters order is incorrect when calling activex method/functions.

For example if in IE I call activex function this way
document.getElementById('Control').function1(par1, par2, par3)
all is working. in ff I should call the same method
document.getElementById('Control').function1(par3, par2, par1)

in order to make it works correctly.

Original issue reported on code.google.com by yauhe...@gmail.com on 19 Dec 2008 at 3:18

GoogleCodeExporter commented 8 years ago
Thanks for reporting this issue. I will look into it.

Original comment by leeor.ah...@gmail.com on 19 Dec 2008 at 9:34

GoogleCodeExporter commented 8 years ago
One more question (mostly connected with additional functionality). I am really 
have 
no expirience in mozilla plugin development (really I am C# developer) but I 
have no 
choise because of the bad ie performance... Is there is some way to implement 
such 
logic: plugin checks installed activex component, if there is no installed 
active x 
component - it goes to specified url (of cab file) and installs it. I have no 
ideas 
about mozilla object model and its possibilities. As far as I understand your 
plugin 
code it is very thin plugin. All logic is actually done by mozilla classes. So 
I 
really don't no have mozilla any permissions to install activex or no. May be 
you 
have some ideas

Original comment by yauhe...@gmail.com on 20 Dec 2008 at 8:23

GoogleCodeExporter commented 8 years ago
There's no way that I know of to check whether an ActiveX component is 
installed from
within firefox. You can probably just try to create an instance using this 
plugin,
and maybe redirect the browser in case that fails.

This is not 100% proof though, and it will need to involve the user in 
downloading
and installing the ActiveX.

It could be done in native code in the plugin, but it was out of scope, and I 
don't
have the time to implement it.

Original comment by leeor.ah...@gmail.com on 20 Dec 2008 at 10:03

GoogleCodeExporter commented 8 years ago
Turns out that I missed the fact that IDispatch->Invoke() requires that the
parameters are passed in reverse order. Fixed now.

Original comment by leeor.ah...@gmail.com on 21 Dec 2008 at 1:44

GoogleCodeExporter commented 8 years ago
A new XPI has been updated with this change.

Original comment by leeor.ah...@gmail.com on 21 Dec 2008 at 1:50

GoogleCodeExporter commented 8 years ago
Thanks for the fix. ABout installation of activex. When reading sources one 
more 
time I have found very interesting fragment:
// Do we need to download the control?
if (FAILED(hr) && szCodebase)
{
...
      hr = CoGetClassObjectFromURL(clsid, szURL, dwFileVersionMS, dwFileVersionLS,
            NULL, spBindContext, CLSCTX_ALL, NULL, IID_IUnknown, (void 
**) &m_spObject);
...

I don't know why I haven't seen this fragment when browsing first time. but I 
think 
this is what I need. We should only expose some parameter (like copdebase) from 
control and transfer it to this class (it accept this parameter in create 
method). I 
have done such changes and it works for me (it correctly installs cab file to 
ie 
activex location). Some questions about security of course exists but it works 
for 
simple cases (may be trusted urls collection should be used).

Original comment by yauhe...@gmail.com on 22 Dec 2008 at 9:40

GoogleCodeExporter commented 8 years ago
Yes, it should be easy to get it working. However, the security issue does 
concern me
here.

Off the top of my head, I'd say that I would like to have another flag to
allow/disallow downloading of CAB files, and then the URL will need to be 
verified
against the allowed domains list.

How urgent is this issue? And would you be able to do it and send me a patch? 
(kind
of busy here with several projects atm).

Original comment by leeor.ah...@gmail.com on 22 Dec 2008 at 9:58

GoogleCodeExporter commented 8 years ago
for us it is critical. because we have 2 very rich third party plugins that do 
a lot 
of buisness work. So we need this functionality in ff. I will send you changed 
sources. But I am a C# developer. So my coding style may be not so good :)

Original comment by yauhe...@gmail.com on 22 Dec 2008 at 10:10

GoogleCodeExporter commented 8 years ago
I've committed your changes with the addition of checking the codeBaseURL again 
the
Trusted Locations list for some extra security (the URL will always be accepted 
if
the list it empty).

Thanks.

Original comment by leeor.ah...@gmail.com on 22 Dec 2008 at 1:07

GoogleCodeExporter commented 8 years ago

Original comment by leeor.ah...@gmail.com on 6 Feb 2009 at 1:20

GoogleCodeExporter commented 8 years ago
Latest binary release r2.7 still has wrong events parameters order. In case of
multiple parameters which are handled by event js function, the function 
parameters
order is backwards comparing to IE.

Original comment by ger...@gmail.com on 9 Jun 2009 at 1:10

GoogleCodeExporter commented 8 years ago
Committed a fix for the event handler arguments order to revision 31.

Original comment by leeor.ah...@gmail.com on 6 Jul 2009 at 2:08