Page 1 of 1

binary XPCOM components

Posted: Wed Jul 13, 2011 11:02 pm
by therube
Since you've brought it up, Killing Binary XPCOM in Add-ons. Is JavaScript Fit?, & since I've been meaning to ask ...


Is my (neophyte) description somewhat accurate?
what is this "XPCOM component"?

From what I gather, some extensions use DLL's (essentially an EXE, but in this case linked with "Mozilla code"). DLL's, long known for "DLL Hell", seemingly also give Mozilla headaches. So Mozilla is looking to do away with them, providing JavaScript constructs as an alternative. Due to the "hell", Mozilla is looking to do away with XPCOM components (DLLs, so less hell). During this conversion period, Mozilla is specifically breaking DLLs with each new release. So if you want your extension (or more likely, plugin, like say from Eset's Email scanner), you (Eset) needs to update its DLL (or change from DLL to JavaScript) upon a new release. And Mozilla wants that so that Eset, in case they fail to update, they do not break Mozilla.
http://www.dslreports.com/forum/r260045 ... ~start=140


And then there is the flashgot.exe. And that differs (& it is different) from a binary XPCOM component, how? In that it is a totally stand-alone application, not reliant on anything "Mozilla" (libraries or whatever), hence you have no requirement to update it with (as is the case now) each new (FF) release.


Similarly I noted that Fireshot will no longer work without a "binary component" update.

Re: binary XPCOM components

Posted: Thu Jul 14, 2011 10:24 am
by dhouwn
Yep, this binary does not seem to link to anything Mozilla-related and also is not necessary for the core FlashGot functionality (how else could the extension work on non-Win32 platforms?), so it's no problem for Giorgio I believe.
But should Firefox run in low integrity mode in the future then I guess this might pose a challenge (would an elevation dialog have to pop-up?).

Re: binary XPCOM components

Posted: Thu Jul 14, 2011 5:29 pm
by Giorgio Maone
dhouwn wrote:is not necessary for the core FlashGot functionality (how else could the extension work on non-Win32 platforms?)
It is necessary to talk with most Windows download manager. On Linux, FlashGot uses dynamically created bash scripts instead, and on Mac OS X AppleScript, mostly.
dhouwn wrote: But should Firefox run in low integrity mode in the future then I guess this might pose a challenge (would an elevation dialog have to pop-up?).
If ever that bug gets "fixed", I strongly suspect the low integrity process will be the content one (either one for all content, as it is currently on Mobile, or one per tab, Chrome-style).
So the ability to launch external executables will be probably retained by the chrome process.