For Firefox, it is a complex issue.
I did some tests again. In my understanding, conclusions are:
- Firefox MV3, event page ("persistent": false): context menus persist across Firefox restarts, but don't persist across disable-then-enable.
- Firefox MV2, non-persistent background ("persistent": false) (Firefox >= 106): context menus persist across Firefox restarts, but don't persist across disable-then-enable.
- Firefox MV2, persistent background ("persistent": true): context menus do not persist across Firefox restarts, and don't persist across disable-then-enable.
In other words,
1. no matter MV2 or MV3, event page or persistent background, Firefox context menus don't persist across disable-then-enable.
2. Firefox >= 106, MV2 + "persistent": false or MV3 event page, Firefox context menus persist across Firefox restarts.
3. Firefox MV2 + "persistent": true, Firefox context menus don't persist across Firefox restarts.