Blink Dev-Group에 있으면서, 새로운 Chrome 버전 M90의 beta가 3월 11일에 나온다고 한다. Chromium의 어떤 새로운 기능들이 Chrome 에 도입될 수 있을지 알아보도록 한다.
이 내용은 What’s Shipping 시트를 참고하였다.
각각 기능은 한 줄에서 두 줄 정도로 이해한 만큼 쓰도록 한다. 몇 가지는 생략할 수도 있다.
특히 인상 깊은 건 우선순위 기반 스케쥴러의 도입이 아닐까 싶다.
-
Seeking past the end of a file in the File System Access API
파일의 끝을 지나서 write를 할 때 reject 대신, 파일을 0x00(NUL)값과 함께 확장한다.
-
Highlight API Explained를 위한 feature라는데, 아직 잘 모르겠다 WHATWG 스팩에도 constructor만 명시되어 있다.
-
Subresource loading with Web Bundles
다수의 리소스를(e.g. Web Bundles) 번들로 묶을 수 있는 포멧을 사용하여 많은 수의 리소스들을 효율적으로 로드할 수 있는 방향을 제공한다.
-
Support specifying width/height on <source> elements for <picture>
<picture>에 대하여 <source>를 이용해 width와 height를 제공함으로써 image의 화면 비율을 계산할 수 있게 해준다.
<picture> <source srcset="image.jpg" width="640" height="480"> <img style="width: 100%; height: auto;"> </picture>
-
URL protocol setter: New restrictions for file URLs
파일에 혹은 파일로 부터 URL이 변경될 때 발생하는 edge case를 바로잡음.
-
Use :focus-visible in the default UA style sheet
Chromium의 기본 UA스타일을 포커스 인디케이터를 위해 :focus pseudo-class를 사용하는 것 대신 :focus-visible를 사용함
-
WebAssembly Exception Handling
웹 어셈블리의 exception handling 도입.
-
WebAudio: OscillatorOptions.periodicWave is not nullable
더이상 periodicWave의 맴버 OscillatorOptions을 null로 설정할 수 없음
-
사이트가 WebXr 세션 내에서 environmental lighting의 근사치를 쿼리할 수 있다.
-
WebXRDevice의 Deapth Buffer로 접근할 수 있게 해준다.
-
getCurrentBrowsingContextMedia()
navigator.mediaDevices.getCurrentBrowsingContextMedia() 이 api를 통해 현재 탭에서의 MedaiStream을 캡처할 수 있다.
-
Main thread Scheduling APIs: Prioritized scheduler.postTask
개발자가 브라우져의 네이티브 스케쥴러를 통해 3개의 우선순위(user-blocking, user-visible, and background)를 가지는 테스크(javscript callbak)를 스케줄 할 수있게 해준다. (성능과 관련 있음)
-
MediaStreamTrack Insertable Streams (a.k.a. Breakout Box)
카메라의 출력, 마이크, 화면 캡처 또는 코덱의 디코더 부분과 코덱의 디코더 입력과 같은 MeadiaStreamTracks에서 전달하는 raw 미디어를 조작하기 위한 API
-
Protect
application/x-protobuffer
via Cross-Origin-Read-Blockingspeculative execution 공격으로부터 ‘application/x-protobuffer’을 지킨다.
-
Device Web API의 일부분인 Device attribute를 query 할 수 있게 한다.
-
Relative indexing method for Array, String, and TypedArrays
at() 함수 추가.
let arr = [1,2,3,4]; arr.at(-1); // Returns 4
-
StaticRange와 Range를 추상화 함
-
Add support for CSS properties “overflow: clip” and “overflow-clip-margin”
https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#values
-
Chrome desktop을 위한 AV1 인코더 도입
- Clipboard: read-only files support
- CORS-RFC1918: CORS restrictions on internet-to-intranet connections.
-
CSS aspect-ratio interpolation
비율에 대한 보간 내용인 것 같다.
-
Custom Element의 state를 :state() psuedo class에서 접근 할 수 있다.