From the platform's point of view, for the first issue, the icon should not be manually adjusted by the users themselves. For example, the user customizes a theme, and then manually adjusts the icons of all 20 installed extensions by himself (assuming that all extensions provide settings for adjusting icons).
Overall, the problem developers face is:
1. do not know where the icon will be used. There may be many places, e.g. tabs strip icon, toolbar icon, side panel icon, context menu icon, and icons at chrome://extensions/, etc.
2. do not know the background color
3. do not get notified when the background color changes (i.e. the theme changes).
Yes, Linux is finally in the club too. What I was trying to explain earlier was that it seems that we have 2 different cases here:
1. One where the user has the ability to set the theme for the tabs and toolbar.
2. Another where Chrome picks the theme from the underlying OS settings, for its internal settings pages.
One is easily solved by using `chrome.action.setIcon`, meaning the user sets the theme, and again the user determines which icon will look best depending on the chosen theme.
The second one is where Chrome itself detects the theme from the underlying OS and decided what theme to use, but it only picks a static icon from the manifest since there is only one.
At least that's how it behaves on my end.