현상
rhwp-firefox 의 `sw/download-interceptor.js` (69줄) 가 rhwp-chrome 의 `sw/download-interceptor.js` (102줄) 에 담긴 #198 fix 내용을 반영하지 않음.
반영 누락 항목:
- `NON_REFETCHABLE_PATTERNS` — DEXT5 류 관공서 핸들러 URL 블랙리스트
- POST 전용 / 세션 토큰 의존 다운로드는 뷰어가 GET 재요청 시 빈 응답 → 빈 뷰어 탭만 뜸
- rhwp-chrome 은 이런 패턴은 인터셉트 포기 (Chrome 기본 다운로드만 진행)
- `HWP_MIME_HINTS` — MIME 타입 기반 판정 (`haansoft`, `x-hwp`, `hwp+zip`)
- 확장자 없는 다운로드 (JSP/ASP 생성) 에서 HWP 식별 필요
- `shouldInterceptDownload` 순수 함수 추출
- rhwp-chrome 은 단위 테스트 가능한 순수 함수로 분리됨 (sw/download-interceptor.test.js)
Firefox 측 아키텍처 차이
단순 복붙은 불가. 두 구현의 구조적 차이:
| 항목 |
rhwp-chrome |
rhwp-firefox |
| 감지 시점 |
`onDeterminingFilename` (단일) |
`onCreated` (1차) + `onChanged` (2차) |
| `suggest` 콜백 |
사용 |
미사용 (Firefox 는 `suggest` 인자 없음) |
| 중복 방지 |
없음 (콜백 1회) |
`handled` Set 필요 |
→ 판정 함수만 공유 (`shouldInterceptDownload`), 콜사이트는 Firefox 의 onCreated+onChanged 구조 유지 하는 설계 필요.
영향
제안 설계
- `sw/download-interceptor-common.js` (신규) — `shouldInterceptDownload` 순수 함수 + 블랙리스트/MIME 상수
- rhwp-chrome `sw/download-interceptor.js` + rhwp-firefox `sw/download-interceptor.js` 에서 공통 모듈 import
- 기존 rhwp-chrome 의 `sw/download-interceptor.test.js` 공통 모듈 대상으로 리팩터
- rhwp-firefox 에서는 `onCreated`/`onChanged` 두 경로에서 모두 공통 판정 함수 호출
또는 모노레포 도입 전까지는 rhwp-firefox 에만 동일 로직 복제 (작은 코드라 중복 허용).
관련
마일스톤
AMO 공개 배포 전 해결 — M100 권장.
현상
rhwp-firefox 의 `sw/download-interceptor.js` (69줄) 가 rhwp-chrome 의 `sw/download-interceptor.js` (102줄) 에 담긴 #198 fix 내용을 반영하지 않음.
반영 누락 항목:
Firefox 측 아키텍처 차이
단순 복붙은 불가. 두 구현의 구조적 차이:
→ 판정 함수만 공유 (`shouldInterceptDownload`), 콜사이트는 Firefox 의 onCreated+onChanged 구조 유지 하는 설계 필요.
영향
제안 설계
또는 모노레포 도입 전까지는 rhwp-firefox 에만 동일 로직 복제 (작은 코드라 중복 허용).
관련
마일스톤
AMO 공개 배포 전 해결 — M100 권장.