Download api available?

I do not understand this entry in the compatibility table on MDN:

" x48 – 68 (Released 2016-08-02)
Removed in 79 and later"

What has been removed? The “x”?

Or does that mean download was available 69-78 and is not available now?

In any case, it does not work now in Android, only in TB and FF. Or could it be the createObjectURL?

Thanks, Klaus

“48 - 68 (Released 2016-08-02)” means that support for this first landed on August 2nd, 2016 when Firefox for Android 48 was released and support was dropped in Firefox for Android 68. I suspect that the “x” you’re referring to is the red X icon in the support table. That icon indicates this item is not currently supported.

For some additional historical context, Firefox was originally released on Android as “Firefox for mobile” and was codenamed Fennec. The last release of the Fennec version of Firefox was 68. The next Android release was based on a new code base called Fenix and the first version number was 79. There were no Android releases between 68 and 79. There were significant differences between the WebExtensions APIs supported by Fennec and Fenix, which is why you will see some APIs were supported in the past but aren’t supported today.

Interesting. Are you sure?
When the red x is next to 48-68, I would interpret that as not supported in 48-68, and after that, otherwise.

Compare bookmarkTreeNode ( bookmarks - Mozilla | MDN ) which has a green 45 to indicate it works since 45.

Per your interpretation, I would expect a green 48-68, followed by a red x 69

But other than the MDN signalling, does browser.download work on Android,or is there any other way to generate a file for the user?

I could also interpret this as not working 48-68 (red x), working since 69, but removed (not working) since 79, with no info on what happened before 48.

I’m quite sure. The compatibility tables are meant to give developers a quick reference for what is currently supported and a bit more historical context when needed.

  • Items without version numbers have either always or never been supported by that browser.
    • A check mark indicates it has always been supported.
    • An X indicates it has never been supported.
  • An item that only has one version number (78) indicates that support was added in that version.
  • An item with two version numbers separated by a dash (57 – 68) indicates support was added in first value and removed in the second.

If you’d like to dig deeper, I’d suggest starting with the mdn/browser-compat-data repo. Specifically, check out the webextensions/api/downloads.json file and reference the version_removed and version_last sections of the schema docs. It might also be worth noting that this is where the version range is output in the compatibility table.

Per your interpretation, I would expect a green 48-68, followed by a red x 69

Unfortunately, displaying that much information in the compatibility table would make it more difficult for readers to quickly and easily assess what they can/can’t use right now.

No, browser.download does not work on Android. There are other ways to write a file to disk in JavaScript such as flagging an anchor link as savable via the download attribute or the web platform’s File System Access API.

Thanks, I will try that for saving the file.