Chrome 130 베타

게시일: 2024년 9월 18일

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

CSS

이번 출시에서는 4가지 새로운 CSS 기능이 추가되었습니다.

CSS 컨테이너 쿼리 플랫 트리 조회

컨테이너 쿼리의 사양이 플랫 트리 상위 요소를 조회하도록 변경되었습니다. 이 변경사항은 요소가 슬롯팅되거나 조상 중 하나가 슬롯팅되는 섀도우 트리 내에서 CSS 규칙이 ::part() 또는 ::slotted()를 사용하지 않더라도 요소가 이름이 지정되지 않은 컨테이너를 볼 수 있는 섀도우 DOM에만 관련이 있습니다.

CSS 중첩: 중첩된 선언 규칙

파싱 중에 이러한 선언을 CSSNestedDeclarations 규칙으로 래핑하여 중첩된 규칙을 따르는 베어 선언을 제자리에 유지합니다.

접두사가 없는 완전한 box-decoration-break 지원

인라인 단편화(라인 레이아웃)와 블록 단편화 (인쇄 및 다중 열의 페이지로 나누기) 모두에 box-decoration-break: clone 지원을 추가합니다.

이전 Chrome에서는 블록 프래그먼트화에 box-decoration-break:slice (초기 값)만 지원되었으며 인라인 프래그먼트화의 경우 box-decoration-break:clone도 지원되었지만 접두사가 붙은 -webkit-box-decoration-break 속성을 사용하는 경우에만 지원되었습니다.

::part() 뒤에 더 많은 가상 요소와 가상 클래스 허용

::part() 의사 요소를 사용하는 CSS 선택자는 ::part()를 제외한 다른 CSS 의사 요소와 다양한 유형의 다른 CSS 의사 클래스를 뒤에 가질 수 있습니다. ::part() 뒤에 오는 결합자는 여전히 허용되지 않으며, 트리 구조에 종속된 의사 클래스는 허용되지 않습니다.

이전에는 Chrome에서 ::part() 뒤에 제한된 수의 의사 클래스와 의사 요소만 허용했습니다. 이 변경사항은 허용되어야 하는 모든 가상 클래스와 가상 요소를 허용합니다. 즉, 이제 ::part(part-name):enabled::part(part-name)::marker와 같은 선택기가 허용됩니다.

Web API

Attribution Reporting API 기능 (Attribution 범위)

이 변경사항은 광고 기술 의견과 기여 분석 프로세스가 진행되기 전에 더 세부적인 필터링 제어가 필요하다는 점을 기반으로 합니다. API 호출자가 일반적인 기여 분석 흐름을 시작하기 전에 필터링하는 데 사용되는 '기여 분석 범위'라는 필드를 지정할 수 있습니다. 이를 통해 API 호출자는 기여 분석 세부사항을 더 세밀하게 제어하고 동일한 대상 사이트에서 모두 전환하는 여러 광고주 또는 캠페인이 있는 경우 적절한 기여 분석 보고서를 수신할 수 있습니다.

Attribution Reporting API 기능 (디버그 키 개인 정보 보호 개선)

이 변경사항은 디버그 키와 관련된 잠재적인 개인 정보 보호 격차를 완화하는 데 도움이 됩니다.

현재 API는 서드 파티 쿠키를 사용할 수 있고 API 호출자가 설정할 수 있는 경우 소스 디버그 키 또는 트리거 디버그 키를 지정할 수 있도록 허용합니다. 소스 또는 트리거 디버그 키가 지정되면 기여 분석 보고서에 포함됩니다. 서드 파티 쿠키가 게시자 사이트 또는 광고주 사이트 중 한 곳에서만 허용되고 양쪽 모두에서는 허용되지 않는 경우 개인 정보가 유출될 수 있습니다.

이번 변경사항은 소스 디버그 키와 트리거 디버그 키가 소스와 트리거 모두에 있는 경우에만 기여 분석 보고서에 포함되도록 강제하여 이 문제를 완화합니다. 이는 게시자와 광고주 사이트 모두에서 서드 파티 쿠키를 사용할 수 있음을 의미합니다. 이 변경사항은 이벤트 수준 보고서와 집계 가능한 보고서 모두에 적용됩니다.

공유 Brotli 및 공유 Zstandard를 사용한 압축 사전 전송

이 기능은 지정된 이전 응답을 Brotli 또는 Zstandard로 응답을 압축하는 콘텐츠 인코딩의 외부 사전으로 사용하는 지원을 추가합니다.

기업의 경우 HTTPS 트래픽을 가로채고 알 수 없는 콘텐츠 인코딩에 민감한 엔터프라이즈 네트워크 인프라와의 호환성 문제가 발생할 수 있습니다. 엔터프라이즈 정책 CompressionDictionaryTransportEnabled를 사용하여 압축 사전 전송 기능을 사용 중지할 수 있습니다.

동시 부드러운 scrollIntoView()

behavior: "smooth"가 있는 scrollIntoView() 메서드를 사용하면 개발자가 부드러운 스크롤 애니메이션으로 하위 요소로 스크롤되는 스크롤 컨테이너를 만들 수 있습니다. 이 기능은 진행 중인 scrollIntoView 애니메이션이 다른 스크롤 컨테이너의 관련 없는 스크롤로 취소되지 않도록 Chrome의 API 구현을 수정합니다.

또한 이 기능은 페이지가 로드될 때 호출되는 경쟁 scrollIntoView 때문에 Chrome이 페이지의 프래그먼트 앵커로 스크롤되지 않는 사례도 수정합니다.

PIP 문서: 창 경계 캐시를 무시하는 옵션 추가

이렇게 하면 문서 PIP API에 새 매개변수 (preferInitialWindowPlacement)가 추가됩니다. 이 매개변수를 true로 설정하면 사용자 에이전트가 이 사이트에서 이전 문서 PIP의 위치나 크기를 재사용하지 않아야 함을 나타냅니다.

화상 회의를 PIP로 이동하는 등 동일한 사이트에서 문서 PIP 모드 창이 여러 번 닫히고 다시 열리는 경우가 많습니다. 사용자 에이전트는 가장 최근의 크기와 위치에서 PIP 창을 다시 열 수 있으므로 사용자가 마지막으로 이동한 위치에 유지되고 PIP 창 간에 연속성을 제공합니다. 하지만 새 창이 이전 창과 의미적으로 관련이 없는 경우(예: 새 영상 통화인 경우) 개발자는 이 매개변수를 사용하여 이 창이 기본 위치와 크기로 여는 것이 더 나을 수 있다는 힌트를 사용자 에이전트에 제공할 수 있습니다.

기본 위치와 크기로 창을 여는 방법을 알아보세요.

큰 값 읽기 실패에 대한 IndexedDB의 오류 보고 개선

이전에 DOMException 및 '대규모 IndexedDB 값을 읽지 못함' 메시지와 함께 보고된 특정 오류 사례의 보고가 변경됩니다.

이제 IDBRequest에서 읽는 데이터가 포함된 파일이 디스크에서 누락되면 Chrome에서 이름이 "NotFoundError"DOMException를 발생시켜 복구할 수 없는 오류가 발생할 때 사이트가 적절한 수정 조치를 취할 수 있습니다. 수정 조치에는 DB에서 항목 삭제, 사용자에게 알림, 서버에서 데이터 다시 가져오기가 포함될 수 있습니다.

키보드 포커스 가능 스크롤 컨테이너

이 기능을 사용하면 포커스 가능 하위 요소가 없는 스크롤러가 기본적으로 키보드 포커스 가능해집니다.

이는 스크롤러와 스크롤러 내 콘텐츠를 모든 사용자가 더 쉽게 이용할 수 있도록 하는 데 도움이 되는 중요한 개선사항입니다. 자세한 내용은 키보드 포커스 가능 스크롤러를 참고하세요. 키보드 포커스 가능 스크롤러는 Chrome 130부터 기본적으로 사용 설정됩니다. 웹사이트에서 이 새로운 기능에 적응하는 데 시간이 필요한 경우 다음과 같은 몇 가지 옵션이 있습니다.

Protected Audience 입찰 서비스

Protected Audience API (이전 명칭: FLEDGE)는 리마케팅 및 맞춤 잠재고객 사용 사례를 대상으로 하는 개인 정보 보호 샌드박스 제안이며, 서드 파티가 사이트 전반에서 사용자 탐색 행동을 추적하지 못하도록 만들어졌습니다.

이 기능인 Protected Audience 입찰 및 낙찰 서비스에서는 Protected Audience 계산을 사용자의 기기에서 로컬로 실행하지 않고 신뢰할 수 있는 실행 환경의 클라우드 서버에서 실행할 수 있는 방법을 설명합니다. 계산을 클라우드 서버로 이동하면 기기의 계산 주기와 네트워크 대역폭을 확보하여 Protected Audience 입찰을 최적화하는 데 도움이 될 수 있습니다.

특수하지 않은 스키마 URL 지원

이전에는 Chrome의 URL 파서가 특수하지 않은 URL을 지원하지 않았습니다. 파서는 URL 표준에 맞지 않는 '불투명 경로'가 있는 것처럼 특수하지 않은 URL을 파싱합니다. 이제 Chromium의 URL 파서는 URL 표준에 따라 특수하지 않은 URL을 올바르게 파싱합니다.

자세한 내용은 bit.ly/url-non-special을 참고하세요.

WebAssembly JavaScript 문자열 내장 함수

이 기능은 WebAssembly로 가져오기 위한 일반적인 JavaScript 문자열 작업을 노출합니다. 이를 통해 WebAssembly 내에서 지원 없이 WebAssembly에서 JavaScript 문자열을 만들고 조작할 수 있습니다. 이렇게 해도 지원되는 문자열 참조와 비슷한 성능을 낼 수 있습니다.

WebGPU: 듀얼 소스 블렌딩

두 프래그먼트 셰이더 출력을 단일 프레임버퍼로 결합할 수 있는 선택적 GPU 기능 'dual-source-blending'을 추가합니다. 이 기법은 특히 Porter-Duff 블렌드 모드를 기반으로 하는 등 복잡한 블렌딩 작업이 필요한 애플리케이션에 유용합니다. 이중 소스 혼합은 파이프라인 상태 객체를 자주 변경할 필요성을 줄여 성능과 유연성을 향상할 수 있습니다.

Web Serial: connected 속성 및 RFCOMM 연결 이벤트

이 기능은 불리언 SerialPort.connected 속성을 추가합니다. 직렬 포트가 논리적으로 연결된 경우 속성은 true를 반환합니다. 유선 직렬 포트의 경우 포트가 시스템에 물리적으로 연결되어 있으면 포트가 논리적으로 연결된 것입니다. 무선 직렬 포트의 경우 포트를 호스팅하는 기기가 호스트에 대한 열린 연결이 있으면 포트가 논리적으로 연결됩니다.

이전에는 유선 직렬 포트만 연결 및 연결 해제 이벤트를 디스패치했습니다. 이 기능을 사용하면 포트가 논리적으로 연결되거나 연결 해제될 때 블루투스 RFCOMM 직렬 포트가 이러한 이벤트를 디스패치합니다.

이 기능은 애플리케이션이 포트를 열지 않고도 블루투스 RFCOMM 직렬 포트가 사용 가능한 시점을 감지할 수 있도록 하기 위한 것입니다.

자세한 내용은 Web Serial의 블루투스 RFCOMM 업데이트를 참고하세요.

진행 중인 오리진 트라이얼

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

Language Detector API

텍스트의 언어를 감지하고 신뢰도 수준도 함께 제공하는 JavaScript API입니다.

WebAuthn 증명 형식

WebAuthn 수준 3부터 attestationFormats 필드 지원

WebAuthn 레벨 3은 새로운 attestationFormats 필드에서 사용자 인증 정보 증명 형식에 대한 순서가 지정된 환경설정을 표현하는 사이트를 지원합니다. 이 기능을 사용하면 패스키 제공자가 여러 형식을 지원할 수 있는 Android에서 이를 지원할 수 있습니다.

WebAuthn attestationFormats 트라이얼에 등록합니다.

지원 중단 및 삭제

이 버전의 Chrome에는 다음과 같은 지원 중단 및 삭제가 도입되었습니다. 계획된 지원 중단, 현재 지원 중단, 이전 삭제 목록은 ChromeStatus.com을 참고하세요.

이번 Chrome 출시에서는 한 가지 기능이 삭제됩니다.

DelegatedInkTrailPresenter에서 expectedImprovement 삭제

expectedImprovement 속성은 위임된 잉크 트레일 API가 현재 잉크 지연 시간을 얼마나 개선할지 웹 개발자에게 알려줍니다. 하지만 이 속성은 지문 채취 엔트로피를 늘릴 가치가 없습니다.

이번 Chrome 출시에서는 한 가지 기능이 지원 중단됩니다.

비표준 GPUAdapter requestAdapterInfo() 메서드 지원 중단

개발자가 GPUAdapter info 속성을 사용하여 동기적으로 GPUAdapterInfo를 이미 가져올 수 있으므로 WebGPU의 requestAdapterInfo() 비동기 메서드는 중복됩니다.