Chrome 121 베타

달리 명시되지 않는 한 다음 변경사항은 Android, ChromeOS, Linux, macOS, Windows용 최신 Chrome 베타 채널 버전에 적용됩니다. 제공된 링크 또는 ChromeStatus.com의 목록을 통해 여기에 나열된 기능에 관해 자세히 알아보세요. Chrome 121은 2023년 12월 6일부터 베타 버전입니다. 데스크톱용 Google.com 또는 Android의 경우 Google Play 스토어에서 최신 앱을 다운로드할 수 있습니다.

CSS

이 버전에는 6가지 새로운 CSS 기능이 추가되었습니다.

CSS 강조 표시 상속

CSS 강조표시 상속을 사용하면 ::selection::highlight와 같은 CSS 강조 표시 유사 클래스가 요소 체인이 아닌 유사 강조표시 체인을 통해 속성을 상속합니다. 그 결과 하이라이트에서 속성을 상속하는 보다 직관적인 모델이 생성됩니다.

이는 CSS Pseudos 레벨 4 사양의 요구사항을 구현합니다.

"지원되는 속성에 캐스케이드에 의해 값이 제공되지 않는 경우 ... 지정된 값은 원래 요소의 상위 요소의 상응하는 하이라이트 유사 요소에서 상속하여 결정됩니다."

CSS 스크롤바: scrollbar-colorscrollbar-width

CSS 스크롤바 사양을 사용하면 개발자가 색상과 두께를 지정하여 스크롤바의 스타일을 지정할 수 있습니다. 이 사양은 다음 두 속성을 추가합니다. scrollbar-color 속성을 사용하면 스크롤바가 웹페이지의 특정 스타일에 더 잘 맞도록 스크롤바의 색 구성표를 변경할 수 있습니다. scrollbar-width 속성을 사용하면 일부 사용 사례에 더 적합할 수 있는 더 좁은 스크롤바를 사용하거나 스크롤 가능 여부에 영향을 미치지 않고 스크롤바를 완전히 숨길 수도 있습니다.

색상 글꼴의 CSS font-palette 애니메이션

CSS font-palette 속성을 사용하면 색상 글꼴을 렌더링하는 데 사용되는 특정 팔레트를 선택할 수 있습니다. 이 속성에 애니메이션을 적용할 수 있도록 새로 추가된 지원 덕분에 팔레트 간 전환이 더 이상 별개의 단계가 아니라 선택한 두 팔레트 간의 부드러운 전환이 됩니다. CSS 애니메이션 및 전환에서는 모든 위치에서 작동합니다.

CSS 맞춤법 및 문법 기능

CSS는 사용자 에이전트가 맞춤법이 틀렸거나 문법적으로 틀린 것으로 신고한 텍스트의 스타일을 지정하는 가상 요소와 맞춤법 및 문법 오류와 관련된 사용자 에이전트의 기본 장식을 노출하는 라인 장식을 강조 표시합니다. 이 기능을 통해 개발자는 기본 맞춤법 및 문법 오류에 관해 더 읽기 쉬운 색상을 선택하고, 맞춤법이 잘못된 단어를 배경색이나 기타 장식으로 강조 표시하고, 기기 환경에 어울리는 맞춤 맞춤법 검사를 구현할 수 있습니다.

SVG의 CSS 마스킹 개선

Chrome 120의 CSS 마스크 지원에 이어 SVG에 새로운 마스크 지원 (여러 마스크 및 mask-mode, mask-composite, mask-position, mask-repeat)이 추가되었습니다. 또한 원격 SVG 마스크 (예: mask: url(masks.svg#star))도 지원됩니다.

Ruby 관련 표시 값

새로운 CSS 디스플레이 속성 값 rubyruby-text가 추가되었습니다. <ruby><rt>의 기본 표시 값이 각각 rubyruby-text로 변경되며 ruby 레이아웃은 이러한 표시 값을 따릅니다. 웹 작성자는 새 표시 값을 설정하여 <div>와 같은 요소를 사용하여 Ruby를 렌더링할 수 있습니다.

Web API

기여 분석 보고 기능 번들: 집계 지연 감소, 이벤트 수준 보고서 입실론 필드, 예약된 키

Chrome에서는 다음에 중점을 둔 Attribution Reporting API가 변경되었습니다.

  • 감소된 집계 보고 지연을 지원하여 전송 손실을 줄입니다.
  • 이벤트 수준 보고 epsilon 필드를 지원하여 추가 API 구성 가능
  • 예약된 키가 발견될 때 등록을 실패하여 API의 확장성을 개선했습니다.

뒤로-앞으로 캐시 notRestoredReason API

notRestoredReason API는 PerformanceNavigationTiming API를 사용하여 bfcache에서 페이지가 제공되지 않는 이유 목록을 보고합니다.

문서 PIP 모드에서 크기 조절 API에 사용자 동작 요구

이렇게 하면 문서 PIP 모드 창에서 resizeBy()resizeTo() 메서드가 사용 설정되지만 악용 가능성을 줄이기 위한 사용자 동작 요구사항이 추가로 적용됩니다.

EditContext API

EditContext API는 웹 앱을 VK 도형 작성, 필기 입력 패널, 음성 인식 및 IME 컴포지션과 같은 고급 텍스트 입력 방법과 통합하는 프로세스를 간소화합니다. 접근성과 성능을 개선하고 웹 기반 편집기를 위한 새로운 기능을 제공합니다.

지원되는 클립보드 형식의 기능 감지

이제 새로운 supports() 함수를 호출하고 MIME 유형을 인수로 전달(예: ClipboardItem.supports('image/png'))하여 Async Clipboard API가 특정 MIME 유형을 지원하는지 확인할 수 있습니다.

HTMLSelectElement showPicker()

HTMLSelectElement의 showPicker() 메서드는 개발자가 input.showPicker() 패턴에 따라 <select> 요소의 옵션 선택 도구를 프로그래매틱 방식으로 열 수 있는 방법을 제공합니다.

MediaCapabilities: decodingInfo()로 HDR 지원 쿼리

세 가지 새로운 VideoConfiguration 사전 필드(hdrMetadataType, colorGamut, transferFunction)를 통해 HDR 렌더링 지원을 감지할 수 있도록 Media Capabilities API를 확장합니다.

Chromium은 자체 톤 매핑 알고리즘을 구현하므로 HDR10 (smpteSt2086) 정적 메타데이터에 대해 항상 true를 반환합니다. smpteSt2094-40 (HDR10+) 및 smpteSt2094-10 동적 메타데이터는 현재 지원되지 않으므로 false를 반환합니다.

Private Aggregation API: 집계 코디네이터 선택

Private Aggregation API에 대한 이러한 수정사항은 공급업체에서 지정한 허용 목록에서 페이로드 암호화에 사용할 코디네이터를 선택하는 메커니즘을 제공합니다. 서비스 선택은 공유 저장소 run()selectURL() 호출과 Protected Audience의 runAdAuction()joinAdInterestGroup() 호출에서 추가 옵션으로 이루어집니다. 광범위한 접근 방식은 Attribution Reporting API의 접근 방식과 대체로 일치합니다.

데스크톱용 Remote Playback API

이 API는 웹페이지에서 미디어의 원격 재생을 제어할 수 있는 HTMLMediaElement를 확장합니다. 이 기능은 Chrome 56의 Android에서 제공되며 Chrome 121부터 데스크톱에서 사용할 수 있습니다.

Speculation Rules API

Speculation Rules API에 새로운 기능이 추가되었습니다.

문서 규칙 지원: 브라우저가 페이지의 <a> 요소에서 추측 로드를 위한 URL 목록을 가져올 수 있는 추측 규칙 문법의 확장 프로그램입니다. 이러한 링크를 사용할 수 있는 기준이 포함될 수 있습니다. 이 기능은 추측 규칙을 위한 새로운 'eagerness' 필드와 결합되어 개발자가 마우스 오버 또는 마우스 다운 시 페이지에서 즉시 링크를 자동으로 미리 가져오거나 사전 렌더링할 수 있습니다.

별도의 변경사항을 통해 인라인 <script> 요소를 사용하는 대신 Speculation-Rules HTTP 응답 헤더를 사용하여 추측 규칙을 지정할 수 있습니다. 이 헤더의 값은 "application/speculationrules+json" MIME 유형의 텍스트 리소스를 가리키는 URL이어야 합니다. 리소스의 규칙이 문서의 규칙 세트에 추가됩니다.

마지막으로 No-Vary-Search 힌트를 사용하면 URL 쿼리 매개변수가 변경되더라도 추측 미리 가져오기를 일치시킬 수 있습니다. No-Vary-Search HTTP 응답 헤더는 일치 목적으로 URL 쿼리의 일부 또는 전부를 무시할 수 있다고 선언합니다. 쿼리 매개변수 키의 순서가 일치를 방지해서는 안 되거나, 특정 쿼리 매개변수가 일치를 방지해서는 안 된다고, 알려진 특정 쿼리 매개변수만 불일치를 야기한다고 선언할 수 있습니다.

SpeechSynthesis 및 SpeechSynthesisVoice 인터페이스 객체

SpeechSynthesisSpeechSynthesisVoice의 인터페이스 객체를 이미 지원되는 기능에 추가합니다. 이렇게 하면 SpeechSynthesisVoice.prototype을 사용하여 특성을 감지할 수 있습니다.

Storage Buckets API

Storage Buckets를 사용하면 사이트에서 기기 내 데이터를 별도의 '버킷'으로 정리할 수 있습니다. 따라서 사용자 에이전트는 그룹화된 데이터를 다른 버킷에 있는 데이터와 별개로 제거할 수 있으며, 사이트에서 의미론적으로 관련된 데이터를 인체공학적으로 관리할 수 있습니다. 각 스토리지 버킷에는 IndexedDB 및 CacheStorage와 같은 설정된 스토리지 API와 연결된 데이터가 포함될 수 있습니다.

URLPattern: 왼쪽 상속, 오른쪽 와일드 카드

기본 URL, 생성자 문자열 구문 또는 둘 다를 사용하여 구성된 패턴의 동작은 변경되지만, 기본 URL 없이 구성요소를 별도로 명시적으로 지정하는 패턴은 변경되지 않습니다.

'이전' 구성요소가 명시적으로 지정된 경우 구성요소는 기본 URL에서 상속되지 않습니다. 문자열 형식에서 지정되지 않은 '나중' 구성요소는 비워 둘 필요가 아니라 암시적으로 와일드 카드가 사용됩니다. 단, 호스트 이름이 항상 지정되어야 하는 포트는 예외입니다. 사용자 이름과 비밀번호는 암시적으로 지정되거나 상속되지 않습니다.

이렇게 하면 와일드 카드를 사용하는 것이 바람직한 경우 이전보다 패턴이 더 확장됩니다.

URLPattern: RegExp v 플래그 u 대신

개발자는 URL Pattern API를 사용하여 패턴 문자열을 지정할 수 있습니다. 이는 내부적으로 정규 표현식으로 변환됩니다.

API가 처음 구현될 때 이러한 정규 표현식은 u 플래그로 컴파일되었습니다. Chrome 121에서는 이 플래그를 v 플래그로 업데이트하여 유니코드 집합을 사용 설정합니다.

WebGPU에 추가된 사항

이제 개발자가 파이프라인을 만들 때 WebGPU를 사용하여 셰이더 모듈의 진입점을 생략할 수 있으므로 인체공학이 향상됩니다. 기본 진입점이 없으면 평소와 같이 GPUValidationError가 트리거됩니다.

WebGPU 타임스탬프 쿼리를 사용하면 WebGPU 애플리케이션이 특히 패스의 시작과 끝에서 GPU 명령어를 실행하는 데 걸리는 시간을 정확하게 (나노초 단위까지) 측정할 수 있습니다. 타임스탬프 쿼리는 GPU 워크로드의 성능과 동작에 대한 유용한 정보를 얻는 데 주로 사용됩니다.

WebGPU 사양은 타이밍 공격 문제로 인해 타임스탬프 쿼리를 선택 기능으로 만들지만, 타임스탬프 쿼리 양자화는 100마이크로초의 해상도로 타이머의 정밀도를 줄임으로써 적절한 중간 지점을 제공합니다.

TLS용 X25519Kyber768 키 캡슐화

Kyber768 양자 저항 키 계약 알고리즘을 배포하여 향후 양자 암호화 분석으로부터 현재 Chrome TLS 트래픽을 보호합니다. 이는 IETF 표준을 기반으로 하는 하이브리드 X25519 + Kyber768 키 계약입니다. 이 사양 및 출시는 W3C의 범위를 벗어납니다. 이 키 계약은 TLS 암호화로 실행되며 사용자에게 투명해야 합니다.

오리진 트라이얼 진행 중

Chrome 121에서는 다음과 같은 새로운 오리진 트라이얼을 선택할 수 있습니다.

Element Capture API

Element Capture API는 DOM의 하위 트리를 캡처하는 메서드를 제공합니다.

탭 캡처를 시작하기 위해 기존 수단을 통해 얻은 동영상 MediaStreamTrack이 있는 경우, 요소 캡처를 사용하면 트랙을 변형하여 지정된 요소에서 시작하는 DOM의 하위 트리만 캡처할 수 있습니다.

이 API는 Region Capture API와 다소 유사하지만 가리는 콘텐츠와 가려진 콘텐츠가 모두 캡처에서 제외되므로 애플리케이션의 유연성을 더 높여줍니다.

ElementCapture 오리진 트라이얼 등록

기존 동작 변경사항

Chrome 121에는 개발자가 변경사항을 인지할 수 있도록 여기에 포함된 기존 동작에 관한 다음 변경사항이 포함되어 있습니다 .

최근에 이동한 교차 출처 Iframe의 입력 이벤트 삭제

최근 교차 출처 iframe이 삽입 페이지 내에서 이동한 경우 Chrome은 iframe을 타겟팅하는 이벤트를 자동으로 삭제합니다. 근거는 iframe이 최근에 이동한 경우 사용자가 iframe을 클릭하거나 탭할 의도가 없었을 가능성이 높기 때문입니다.

이 변경사항은 2019년에 제한된 형태로 출시되었습니다. 이 변경사항은 IntersectionObserver의 버전 2 기능 (즉, 오클루전 또는 효과 감지)을 사용하는 스크립트가 포함된 iframe에만 영향을 미쳤습니다. 이번 출시에서는 이 동작이 모든 교차 출처 iframe으로 확장되며 Chrome 121에서 제한된 실험으로 시작한 후 확대될 예정입니다.