Removal of nsILocalFile and other interfaces

Jörg Knobloch jorgk at jorgk.com
Tue Aug 8 18:29:34 UTC 2017


On 08/08/2017 20:09, Ben Bucksch wrote:
> you might be able to just undo these m-c commits, or (to avoid changes 
> to m-c) move the IDL files to a new dir in mailnews/compat/src/public/.

None of this will fly.

Firstly we can't undo M-C commits unless we fork, secondly, what good is 
moving the IDL files to a different directory of the underlying M-C was 
removed. For example, there is no nsIScriptableDateFormat any more, so 
having the interface without the underlying code does nothing. Where we 
need the functionality, we need to adopt both IDL and C++ code. Only 
trivial cases like nsILocalFile which was a 100% nsIFile would work.

I look at it like this: On every major release we get 100 bugs saying 
this and that doesn't work any more and these bugs are caused by 
incompatible and unmaintained (and therefore dangerous) add-ons. 
Breaking a few unmaintained add-ons is not problem, at least we break 
them all at once instead of slowly.

So far the M-C removals have been easy to retrofit into TB with hundreds 
of thousands lines of code, so changing
nsILocalFile to nsIFile or iterator "in" to "of" is really not such a 
problem for the alert add-on author.

BTW, these interfaces have been marked deprecated for years.

Jörg.




More information about the tb-planning mailing list