Перенесення проксі-розширень між Chrome і Firefox
Firefox і Chrome надають однойменні API розширень, але з різними моделями конфігурації. Переносьте політику маршрутизації, а не лише простір імен.
Перейменування chrome на browser не є повним перенесенням проксі-розширення.
Конфігурація фіксованого сервера в Chrome використовує об'єкт режиму та правил. Firefox надає власний інтерфейс глобальних налаштувань проксі і API proxy.onRequest для кожного запиту. Схожі назви не роблять їхні вхідні об'єкти взаємозамінними.
Почніть із політики, яку хочете виразити: одна фіксована кінцева точка, конфігурація PAC або маршрут, що вибирається окремо для кожного запиту. Потім використовуйте інтерфейс, задокументований для кожного браузера.
Слухач Firefox для кожного запиту може повертати відомості про проксі з коду розширення. Для цього потрібні дозвіл проксі та відповідний доступ до хоста для перехоплених запитів. Це інша архітектура, ніж копіювання об'єкта налаштувань фіксованого сервера Chrome і сподівання, що браузер розпізнає кожне поле.
Перевірте також підтримувану версію Firefox і вимоги до manifest. Старі приклади з proxy.register() описують раніший API і не повинні бути основою поточного розширення.
Тримайте спільні дані політики окремо від адаптації під конкретний браузер. Тести й діагностика повинні показувати вибраний маршрут для призначення в кожному браузері, включно з навмисно прямим результатом. Коректний manifest і виклик API без винятку — це лише початок.