프런트엔드 개발의 가장 큰 디펜던시인 크롬 브라우저의 주요 이슈를 Chrome Platform Status의 Roadmap과 한 달간 blink-dev 활동 요약을 기준으로 정리하여 공유한다.
💡M
은 Milestone을 의미하며, M93은 93버전을 의미한다.
💡 웹 플랫폼 관련 이슈 위주로 다루며, 서비스에 영향이 크다고 판단되는 부분은 목차에 📌 를 표시한다.
💡 표준화에 대한 웹 개발자의 의견은 크롬 스테이터스 사이트에 쓰인 내용을 그대로 인용했다.
M101
WebSQL
지원 중단 및 제거M102 (dev)
Navigation
APISanitizer
APIOrigin Trial
setTimeout(0)
의 최대 중첩 레벨 증가setTimeout(..., 0)
timeout 고정 제거WebSQL
지원 중단 및 제거Web SQL
데이터베이스 표준은 2009년 4월에 처음 제안되었으며 2010년 11월에 폐기되었다. Gecko는 이 기능을 구현하지 않았으며 Webkit은 2019년에 이 기능을 더 이상 사용하지 않는다. W3C는 웹 데이터베이스가 필요한 사람들에게 Web Storage
또는 Indexed Database
를 채택하라고 권장한다.
상기 제안에 대한 타 브라우저의 의견은 다음과 같다.
좋은 웹 애플리케이션은 사용자 디바이스의 파일 시스템에서 파일을 읽고 편집할 수 있다. 이 기능은 웹 애플리케이션이 주어진 MIME 타입 및 확장자를 가진 파일을 처리하는 기능을 선언하는 방법을 제공한다.
상기 제안에 대한 타 브라우저의 의견은 다음과 같다.
Navigation
API기존 window.history
API는 싱글 페이지 애플리케이션에서는 다루기 어렵다. Navigation
API는 싱글 페이지 웹 애플리케이션의 요구사항에 맞는 window.history
및 window.location
의 대안을 제공한다.
상기 제안에 대한 타 브라우저의 의견은 다음과 같다.
Sanitizer
API기본적으로 사용하기 쉽고 안전한 HTML Sanitizer API
를 제공한다. 이 API를 통해 개발자는 임의의 HTML 컨텐츠에서 스크립트를 실행할 수 있는 컨텐츠를 제거할 수 있다.
상기 제안에 대한 타 브라우저의 의견은 다음과 같다.
일부 온라인 광고는 광고주나 광고 네트워크와 이전에 상호작용한 적이 있는 잠재적 고객에게 광고를 표시한다. 이는 웹 사이트를 탐색할 때 광고주가 특정인을 인식할 수 있게 함으로써 작동한다. 하지만 이제 이 방법은 웹의 핵심 개인정보보호 문제가 되었다. 관심 그룹 기반의 광고를 용이하게 하는 개인정보보호 API를 제공한다. 관심 데이터와 최종 광고 결정을 서버 측에서 브라우저 측으로 이동해 강력한 개인정보보호 보장 등의 이점을 제공한다.
상기 제안에 대한 타 브라우저의 의견은 다음과 같다.
setTimeout(0)
의 최대 중첩 레벨 증가일반적으로 setTimeout(..., 0)
는 긴 자바스크립트 작업을 쪼개고 다른 내부 작업이 실행되도록 하여 브라우저가 중단되는 것을 방지한다. 간격이 4ms 미만인 setTimeout
및 setInterval
은 이전처럼 강하게 고정되지 않는다. 기존에는 중첩 레벨이 5보다 크고 timeout이 4보다 작으면 timeout을 4로 설정했으나 이 중첩 레벨을 5에서 100으로 증가시킨다.
상기 제안에 대한 타 브라우저의 의견은 다음과 같다.
setTimeout(..., 0)
timeout 고정 제거이전의 setTimeout(..., 0)
호출은 가능한 한 빨리 콜백을 실행하는 대신 1ms의 timeout으로 고정되었다. 이 timeout 고정이 제거되었으며, 이전의 동작을 하려면 setTimeout(..., 1)
을 사용해야 한다.
상기 제안에 대한 타 브라우저의 의견은 다음과 같다.