Updating Web Extension When User Alters Preferences

Let me break this down:

window.localStorage:

  • avoid usage in extensions, since data in it can be deleted by privacy features
  • changes trigger window.addEventListener("storage", listener)

browser.storage.local:

  • use in extensions
  • changes trigger browser.storage.onChanged

The “doesn’t work” was that the event listener you were using does not fire for that storage type.