월간 크롬 이슈 리포트 2022년 6월호


들어가며

프런트엔드 개발의 가장 큰 디펜던시인 크롬 브라우저의 주요 이슈를 Chrome Platform Status의 Roadmap과 한 달간 blink-dev 활동 요약을 기준으로 정리하여 공유한다.

💡M은 Milestone을 의미하며, M103은 103버전을 의미한다.

💡 웹 플랫폼 관련 이슈 위주로 다루며, 서비스에 영향이 크다고 판단되는 부분은 목차에 📌 를 표시한다.

💡 표준화에 대한 웹 개발자의 의견은 Chrome Platform Status에 쓰인 내용을 그대로 인용했다.

목차

  1. M103

    • 샌드박스 처리된 iframe에서 외부 프로토콜 차단
  2. M104

    • filesystem: URLs로 이동하는 iframe 컨텍스트 차단
    • U2F 보안 키 API 제거
    • 레거시 Client Hint 모드 제거
  3. M105 (dev)

    • 비보안 컨텍스트에서의 WebSQL 지원 중단 및 제거
    • 스크립트와 스타일시트에 'blocking=render' 속성 추가
    • 제스처 스크롤 DOM 이벤트 제거
  4. Dev Trial

    • MathML
  5. Origin Trial

    • 공유 엘리먼트 트랜지션
  6. 지원 중단 및 제거 예정

    • document.domain setter 지원 중단
    • 컨텍스트 보안을 위한 공개 웹 사이트의 하위 리소스에 대한 "사설 네트워크 요청" 제한
    • navigateEvent.transitionWhile() 제거
    • Event.path 지원 중단

버전별 이슈 리스트

1. M103

샌드박스 처리된 iframe에서 외부 프로토콜 차단

이슈

샌드박스 처리된 iframe이 외부 응용 프로그램을 열지 못하도록 차단한다. 개발자가 신뢰할 수 없는 콘텐츠를 샌드박스화하고 일반 탐색을 통해 사용자를 이동시킬 수 있는 권한을 부여하지 않으면 외부 앱이나 플레이 스토어로 이동하지 않도록 할 수 있다.

표준화

상기 제안에 대한 타 브라우저의 의견은 다음과 같다.

References

2. M104

filesystem: URLs로 이동하는 iframe 컨텍스트 차단

이슈

기존에 filesystem:// URLs에 대한 렌더링 시작 탐색은 최상위 프레임에서 차단되지만 iframe에서는 허용되었다. 앞으로는 모든 곳에서 filesystem:// URLs에 대한 탐색을 일관되게 차단한다.

표준화

상기 제안에 대한 타 브라우저의 의견은 다음과 같다.

  • Firefox: 의견 없음
  • Safari: 의견 없음
  • 웹 개발자: 의견 없음

References

U2F 보안 키 API 제거

이슈

U2F는 크롬의 보안 키 API이다. 이를 통해 사이트는 USB 보안 키에 공개 키 자격 증명을 등록하고 이중 인증 절차 시스템을 구축할 수 있다. U2F는 웹 표준이 되지 않았으며 WebAuthn(M67)에 포함되었다. U2FCryptotoken은 명백히 유지관리 모드에 있으며 2년 전부터 사이트를 WebAuthn으로 마이그레이션하도록 권장했다.

표준화

상기 제안에 대한 타 브라우저의 의견은 다음과 같다.

  • Firefox: 의견 없음
  • Safari: 의견 없음
  • 웹 개발자: 의견 없음

References

레거시 Client Hint 모드 제거

이슈

4가지 레거시 Client Hint(dpr, width, viewport-width, device-memory)는 기본 allowlistself이지만 안드로이드에서는 *인 것처럼 동작한다. 기본 allowlist*인 것은 Client Hint Infrastructure 표준에 맞지 않는다. 이 문제를 수정하면 이런 Hint의 명시적 위임을 요구하여 안드로이드에서의 개인정보를 보호할 수 있다.

표준화

상기 제안에 대한 타 브라우저의 의견은 다음과 같다.

  • Firefox: 의견 없음
  • Safari: 의견 없음
  • 웹 개발자: 의견 없음

References

3. M105 (dev)

비보안 컨텍스트에서의 WebSQL 지원 중단 및 제거

이슈

Web SQL Database 표준은 2009년 4월에 처음 제안되어 2010년 11월에 폐기되었다. Gecko는 이 기능을 구현하지 않았고 Webkit은 2019년에 이 기능을 더 이상 지원하지 않는다. W3C는 웹 데이터베이스가 필요하면 Web Storage 또는 Indexed Database를 채택하라고 권장한다.

표준화

상기 제안에 대한 타 브라우저의 의견은 다음과 같다.

  • Firefox: 해당 없음
  • Safari: 배포됨
  • 웹 개발자: 의견 없음

References

스크립트와 스타일시트에 'blocking=render' 속성 추가

이슈

'blocking=render' 속성 값을 <script>, <style>, 스타일시트 <link>에 넣어 명시적으로 렌더링을 차단하도록 한다. 스크립트 안의 스크립트 삽입 같은 이유로 로딩 중인 페이지와의 상호작용을 막거나 스타일이 없는 콘텐츠로 인한 깜빡임을 방지하는데 사용할 수 있다.

표준화

상기 제안에 대한 타 브라우저의 의견은 다음과 같다.

References

제스처 스크롤 DOM 이벤트 제거

이슈

크롬 플러그인에서 사용하기 위해 추가된 'gesturescrollstart', 'gesturescrollupdate', 'gesturescrollend' 3가지 제스처 스크롤 DOM 이벤트는 표준이 아니다. 현재 이 API들은 전혀 동작하지 않는다.

표준화

상기 제안에 대한 타 브라우저의 의견은 다음과 같다.

  • Firefox: 해당 없음
  • Safari: 해당 없음
  • 웹 개발자: 의견 없음

References

4. Dev Trial

MathML

이슈

웹 페이지에 수학 공식을 삽입하는 가장 많이 쓰는 방법은 정적 이미지 또는 JavaScript 라이브러리를 사용하는 것이지만 작성자에게 복잡성, 성능 문제 등의 문제를 야기한다.

이런 문제를 해결하고 다음 사항들을 위해 MathML Core 사양을 구현한다.

  1. 사용자가 작성한 수학 공식을 브라우저의 다른 텍스트와 일관되게 표시한다. 수학 표기법을 효율적이고 자연스러우며 읽기 쉬운 고품질 렌더링으로 제공한다.
  2. 저자가 웹 플랫폼의 나머지 부분과 일관되게 추론할 수 있게 한다. 수학적 표기법의 기본적이고 효율적이며 상호 운용 가능한 렌더링을 제공한다.
  3. 엄격히 정의하고 테스트 가능하며 상호 운용 가능한 구현을 보장한다.
  4. 향후 추가 작업 및 대화를 위한 출발점을 만든다. 나머지 플랫폼과 일관되게 더 쉽게, 더 많이 탐색할 수 있도록 한다.

데모

표준화

상기 제안에 대한 타 브라우저의 의견은 다음과 같다.

  • Firefox: 배포 됨
  • Safari: 배포 됨
  • 웹 개발자: 긍정적

References

5. Origin Trial

공유 엘리먼트 트랜지션

이슈

공유 엘리먼트 트랜지션은 단일 페이지 애플리케이션(SPAs)에서 세련된 트랜지션을 적용할 수 있도록 한다. 일부 기본 애니메이션 속성을 사용하도록 선택하거나 고유한 트랜지션 효과를 사용자 지정할 수 있다.

표준화

상기 제안에 대한 타 브라우저의 의견은 다음과 같다.

  • Firefox: 의견 없음
  • Safari: 의견 없음
  • 웹 개발자: 매우 긍정적

References

6. 지원 중단 및 제거 예정

document.domain setter 지원 중단

이슈

document.domain setter를 사용하면 개발자가 동일 출처 정책을 완화하여 크롬에서 관리하는 기본적인 보안 경계를 복잡하게 만든다. 또한 크롬의 프로세스 모델에 대한 post-Spectre 도입을 방해한다. Origin-keyed agent clusters를 통해 옵트인 해야하며 지원을 중단한다. setter는 남지만 출처가 변경되지 않는다.

크롬의 threat model에서는 프로세스를 유일한 방어 가능한 보안 경계로 간주해야한다. 이를 위해서는 출처를 프로세스에 맞추는 것이 가장 중요하다.

다른 출처 간의 비동기 메시지를 보내기 위해서는 document.domain 대신 window.postMessage를 사용하기를 권장한다. M106(9/27 배포 예정)에 적용될 예정이다.

데모

표준화

상기 제안에 대한 타 브라우저의 의견은 다음과 같다.

References

컨텍스트 보안을 위한 공개 웹 사이트의 하위 리소스에 대한 "사설 네트워크 요청" 제한

이슈

공개 웹 사이트의 하위 리소스에 대한 사설 네트워크 요청은 보안 컨텍스트에서만 시작할 수 있어야 한다. 예를 들어 인터넷에서 인트라넷으로의 요청, 인터넷에서 루프백으로의 요청이 있다. 현재(M103) Origin Trial 중에 있으며, M106(9/27 배포 예정)에 적용될 예정이다.

표준화

상기 제안에 대한 타 브라우저의 의견은 다음과 같다.

References

이슈

설계 결함이 보고되어 navigateEvent.transitionWhile()navigationEvent.intercept()로 대체된다. transitionWhile()의 동일한 기본 기능에 대해 보다 유용한 API를 제공하기 위해 intercept()가 도입되었다.

M108(11/29 배포 예정)에 적용될 예정이다.

표준화

상기 제안에 대한 타 브라우저의 의견은 다음과 같다.

  • Firefox: 의견 없음
  • Safari: 의견 없음
  • 웹 개발자: 긍정적

References

Event.path 지원 중단

이슈

Event.path는 리스너가 호출될 객체의 배열인 이벤트의 경로를 반환하는 비표준 API이다. 크롬에서만 지원되므로 웹 호환성 문제가 발생한다. 웹 개발자는 동일한 결과를 반환하는 표준 API인 Event.composedPath()로 변경해야한다.

M109(23년 1/10 배포 예정)에 적용될 예정이다.

표준화

상기 제안에 대한 타 브라우저의 의견은 다음과 같다.

  • Firefox: 의견 없음
  • Safari: 의견 없음
  • 웹 개발자: 긍정적

References

임재언2022.07.06
Back to list