피드로 돌아가기
Dev.toFrontend
원문 읽기
Firefox MV3: blocking webRequest 유지 통한 확장성 확보
Firefox Extension Manifest V3 vs V2: What Actually Changed
AI 요약
Context
Chrome의 Manifest V3 도입으로 인한 API 제약과 확장 프로그램 기능 축소 상황 발생. 특히 background page의 Service Worker 전환에 따른 상태 유지 불가 및 webRequest 제약이 주요 병목 지점으로 작용.
Technical Solution
- Background Page를 Event-driven 구조의 Service Worker로 전환하여 브라우저 리소스 최적화
- 메모리 내 상태 유실 방지를 위해 browser.storage.session 및 local API를 활용한 상태 지속성 확보
- CSP 강화로 unsafe-eval 및 외부 CDN 스크립트 로드를 금지하고 모든 JS를 번들링하는 보안 구조 설계
- browser_action과 page_action을 unified action API로 통합하여 인터페이스 단순화
- Chrome과 달리 blocking webRequest API를 유지하여 네트워크 요청의 세밀한 제어권 보존
실천 포인트
- Service Worker 도입 시 전역 변수 기반 상태 관리 대신 Storage API 활용 여부 검토 - 외부 스크립트 의존성을 제거하고 모든 라이브러리를 로컬 번들로 포함하는 빌드 파이프라인 구축 - Ad-blocker 수준의 네트워크 제어가 필요한 경우 Firefox MV3의 blocking webRequest 활용 가능성 확인 - Chrome과 Firefox 동시 배포 시 MV2/MV3 하이브리드 지원 전략 수립