don't we (or can't we) have a simple flag on the message or elsewhere saying "it's currently downloading" or "I won't download because I'm in roaming" or something like that ?

If we don't then I think we need one, so please file a bug about that. Because the logic that you have here is probably already in Gecko, and I don't want to duplicate this.

I'd like to have a `message.status` that would take different values, like "downloaded", "downloading", "not-downloading". We would use the "not downoaded title" when the status is "not-downloading".