There is support for the browser.theme, I already got this working in my Turn Off the Lights Firefox extension. And it works great! However, I got few issues:
It doesn’t support the “theme” as “optional_permissions” (in the manifest file)
Is there a way to detect the current browser theme, this set it back later
Hm. It may be possible. This example assumes that there is only ever one extension of the type theme active, enabling another will disable the previous one:
Is there a way without the “management” permission?
And do you find a complete browser.theme API list. (of what you can change in the Firefox web browser)
Unfortunately, this “engineering plan” is the only document with actual API information I could find. It has no date on it, but I think I ran across the very same thing at least two month ago.
This lack of documentation makes it hard to answer your other question, but I think the management API is, and will be, the way to go here.