nsISupportsArray, nsICollection, nsIEnumerator, nsIBidirectionalEnumerator have all been marked as deprecated in their IDL declarations as of Firefox 52 (currently dev edition).
This is not a new thing -- they've been semi-deprecated for 12 years [1] -- we just never fully removed them. Over the years there's been a ton of work to remove usages of the interfaces. I recently did a fair amount of work in bug 792209 [2] to finish off getting rid of all remaining usage in mozilla-central and to make our alternative, nsIArray, behave like nsISupportsArray in order to make it easier to transition add-ons. *What does this mean?* Not that much, just please don't use those interfaces. You should see a slew of warnings if you do (in C++ at least). *How can I help?* *comm-central* - mailnews/calendar still has some usage [3], if you have some spare cycles to help out I'm sure they would appreciate it. If we can't get rid of the usage by release 55 I still plan on removing the IDL files from mozilla-central, it's possible we can move the definitions to comm-central instead. *add-ons* - Are you an add-on dev? Do you know an add-on dev? Transition your code from using those interfaces or encourage the developer of your favorite add-on to do so. *What do I use instead?* *nsIArray* and *nsIMutableArray* along with nsISimpleEnumerator are the recommended replacements. For the most part they are drop-in compatible with nsISupportsArray. In C++ code if you need a new mutable array just use: > nsCOMPtr<nsIMutableArray> arr = nsArray::Create(); > In JavaScript: > let arr = Cc["@mozilla.org/array;1"].createInstance(Ci.nsIMutableArray); -e [1] https://groups.google.com/d/msg/netscape.public.mozilla.xpcom/RDWISpaMqAY/FUCS7G9ZKKIJ [2] https://bugzilla.mozilla.org/show_bug.cgi?id=792209 [3] https://bugzilla.mozilla.org/show_bug.cgi?id=394167 _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform