Chrome 119 베타에서는 CSS 상대 색상 문법, 새로운 의사 클래스 등을 제공합니다.
달리 명시되지 않는 한, 설명된 변경사항은 Android, ChromeOS, Linux, macOS, Windows용 최신 Chrome 베타 채널 버전에 적용됩니다. 제공된 링크 또는 ChromeStatus.com의 목록을 통해 여기에 나열된 기능에 대해 자세히 알아보세요. Chrome 119는 2023년 10월 4일 현재 베타 버전입니다. Google.com(데스크톱) 또는 Android Google Play 스토어에서 최신 앱을 다운로드할 수 있습니다.
CSS
이 버전에는 네 가지 새로운 CSS 기능이 추가되었습니다.
:user-valid 및 :user-invalid CSS 의사 클래스
:user-invalid
및 :user-valid
의사 클래스는 각각 잘못된 입력이나 올바른 입력으로 요소를 나타내지만, 사용자가 상당한 상호작용을 한 후에야 합니다. 이는 :valid
및 :invalid
와 유사하지만, 이러한 의사 클래스가 사용자가 요소와 상호작용한 후에만 일치한다는 제약 조건이 추가됩니다.
CSS 상대 색상 구문 (RCS)
상대 색상 문법을 사용하면 개발자가 다른 색상의 매개변수를 수정하여 색상을 정의할 수 있습니다.
예를 들어 oklab(from magenta calc(l * 0.8) a b);
를 사용하면 80% 더 밝은 oklab 자홍색이 됩니다.
CSS 클립 경로 도형 상자 값
이제 CSS clip-path
속성이 <geometry-box>
값을 지원하여 클립의 참조 상자를 제어하므로 clip-path
를 더 쉽게 사용할 수 있습니다. 이러한 상자 값은 기본 도형 (예: clip-path: circle(50%) margin-box
)과 함께 사용하거나 지정된 상자에 클립하는 데 단독으로 사용할 수 있습니다 (예: clip-path: content-box
).
CSS 클립 경로 xywh() 및 rect() 값
이제 Chrome에서 clip-path
속성의 xywh()
및 rect()
값을 지원하므로 직사각형 또는 둥근 직사각형 클립을 더 쉽게 지정할 수 있습니다.
Web API
이전 저장용량에 대한 쿠키 만료/최대 기간 속성 상한
Chrome 104에서 새로 생성된 쿠키 또는 만료일이 있는 쿠키의 경우 이후 해당 날짜가 400일을 넘지 않도록 제한되었습니다. 이제 동일한 한도가 이미 저장소에 있는 쿠키에도 소급 적용됩니다. 이러한 쿠키의 만료일은 Chrome 119 이상이 처음 시작되고 일회성 데이터베이스 이전 후 400일 이내로 제한됩니다. Chrome 119가 출시된 후 최소 400일이 지나기 전에는 이 변경사항의 영향을 사용자가 느낄 수 없으며, 해당 기간에 업데이트되지 않은 기존 쿠키에만 영향을 미칩니다.
DisplayMediaStreamOptions MonitorTypeSurfaces
getDisplayMedia()
가 호출되면 브라우저에서 사용자는 탭, 창, 모니터와 같은 디스플레이 노출 영역을 선택할 수 있습니다. 이제 웹 애플리케이션은 monitorTypeSurfaces
옵션을 사용하여 사용자에게 제공되는 선택 항목 중 유형이 모니터인 디스플레이 표면을 포함하려는 경우 브라우저에 힌트를 줄 수 있습니다.
분리 프레임 기능 업데이트
Chrome 119에서는 분리 프레임에 다음과 같은 개선사항이 포함되어 있습니다.
개인 정보 보호 샌드박스 내 Protected Audience API에는 Protected Audience 광고 크기 매크로를 위한 추가 형식 옵션이 있습니다. 선택 기능을 사용하면 입찰에서 낙찰된 광고의 크기를 광고 URL에 매크로로 넣을 수 있습니다. 예를 들면 다음과 같습니다.
https://ad.com?width={/%AD_WIDTH%}&height={/%AD_HEIGHT%}
deprecatedReplaceInURN
및 registerAdMacro
에서 사용하는 매크로 등 Protected Audience의 다른 매크로 유형과의 일관성을 높이기 위해 Chrome 119에는 현재 형식 외에도 ${AD_WIDTH}
및 ${AD_HEIGHT}
를 매크로 형식으로 사용하는 기능이 추가됩니다.
이제 자동 비콘이 등록된 모든 URL로 전송됩니다. 이전에는 setReportEventDataForAutomaticBeacons()
를 호출할 때 지정된 대상만 자동 비콘을 수신했으며, 이는 해당 대상이 Worklet에서 "reserved.top_navigation"
의 registerAdBeacon()
를 호출한 경우에도 마찬가지입니다. 이제 "reserved.top_navigation"
에 대해 registerAdBeacon()
를 호출한 모든 대상은 자동 비콘을 받지만 setReportEventDataForAutomaticBeacons()
에 지정된 대상만 비콘과 함께 자동 비콘 데이터를 받게 됩니다. 이제 setReportEventDataForAutomaticBeacons()
의 "once"
매개변수는 전체 비콘이 한 번 전송되는지 확인하는 것이 아니라 데이터가 한 번 전송되는지 여부를 결정합니다.
교차로 관찰자 스크롤 여백
Intersection Observer scrollMargin
속성을 사용하면 개발자가 현재 스크롤 컨테이너에 의해 잘린 중첩된 스크롤 컨테이너 내에서 타겟을 관찰할 수 있습니다. 이렇게 하려면 교집합을 계산할 때 컨테이너의 클리핑 rect를 scrollMargin
로 확장합니다.
키보드 포커스 가능 스크롤 컨테이너
이 기능은 순차 포커스 탐색을 사용하여 스크롤 컨테이너를 포커스 가능하게 만들어 접근성을 개선합니다. 이전에는 tabIndex가 명시적으로 0 이상으로 설정되지 않는 한 Tab 키가 스크롤러에 포커스를 두지 않았습니다. 기본적으로 스크롤러를 포커스 가능하게 만들면 마우스를 사용할 수 없거나 사용하지 않으려는 사용자가 키보드의 탭과 화살표 키를 사용하여 클립한 콘텐츠에 포커스를 둘 수 있습니다. 이 동작은 스크롤러에 키보드 포커스 가능 하위 요소가 포함되지 않은 경우에만 사용 설정됩니다.
자동차용 비공개 네트워크 액세스 제한
Android Automotive용 Chrome에서 비공개 네트워크 액세스 제한사항을 경고만 하는 대신 적용합니다(BuildInfo::is_automotive
인 경우). 여기에는 하위 리소스에 대한 비공개 네트워크 액세스 프리플라이트 요청과 작업자의 비공개 네트워크 액세스가 포함됩니다.
Chrome 기기 속성 읽기
Device Attributes Web API는 Managed Device Web API의 하위 집합으로, 웹 애플리케이션에 기기 정보를 쿼리하는 기능을 제공합니다. 예: 기기 ID, 일련번호, 위치
대상 이름의 댕글링 마크업이 _blank
(으)로 대체됨
이번 변경으로 인해 댕글링 마크업 (예: \n
, <
)이 포함된 경우 탐색 가능한 타겟 이름 (일반적으로 타겟 속성으로 설정)이 _blank
로 대체됩니다. 댕글링 마크업 삽입 완화의 우회 문제가 수정됩니다.
Sec-CH-Prefers-Reduced-Transparency 사용자 환경설정 미디어 기능 클라이언트 힌트 헤더
사용자 환경설정 미디어 기능 클라이언트 힌트 헤더는 미디어 쿼리 레벨 5에서 정의한 사용자 환경설정 미디어 기능 관련 HTTP 클라이언트 힌트 헤더 집합을 정의합니다. 이 헤더를 중요한 클라이언트 힌트로 사용하면 서버에서 CSS 인라인 처리 등과 관련하여 현명한 선택을 할 수 있습니다. Sec-CH-Prefers-Reduced-Transparency
는 사용자의 prefers-reduced-transparency
환경설정을 반영하며 Chrome 119부터 사용할 수 있습니다.
표준 준수 URL 호스트 구두점 문자
Chrome의 URL 호스트 구두점 문자 처리가 URL 표준을 준수하도록 합니다. 예를 들면 다음과 같습니다.
변경 전:
> const url = new URL("http://exa(mple.com;");
> url.href
'http://exa%28mple.com/'
(
는 금지된 문자이지만 Chrome에서 잘못 허용합니다.
변경 후:
> const url = new URL("http://exa(mple.com;");
> => throws TypeError: Invalid URL.
WebCodecs AudioEncoder 전송률Mode
일부 오디오 코덱은 오디오 인코더 비트 전송률 모드 지정을 지원합니다. 이 기능은 기본값이 "variable"
인 "bitrateMode"
플래그를 WebCodec의 AudioEncoderConfig
에 추가합니다. 이 플래그는 VideoEncoderConfig
에 이미 있는 구성 옵션과 기본값을 미러링합니다.
이 플래그를 사용하면 개발자는 가변 비트 전송률 또는 일정한 비트 전송률로 오디오를 인코딩할 것인지 선택할 수 있습니다. 특정 코덱 인코더 구현은 용어가 약간 다를 수 있지만 (예: Opus의 CBR
와 VBR
) 모두 '상수'라는 일반적인 개념에 매핑되어야 합니다. '변수' 비교 있습니다.
두 가지 옵션은 다음과 같은 효과가 있습니다.
- variable: 오디오 인코더가 대상 품질을 유지하면서 대역폭/바이너리 크기를 보존하기 위해 인코딩하는 오디오 콘텐츠에 따라 비트 전송률을 높이거나 낮출 수 있습니다. 예를 들어 인코더가 무음을 인코딩할 때는 비트 전송률을 낮추고 음성을 인코딩할 때는 전체 비트 전송률로 되돌릴 수 있습니다.
- 상수 : 오디오 콘텐츠와 관계없이 오디오 인코더가 동일한 비트 전송률을 유지하도록 강제합니다. 이는 예측 가능한 대역폭 소비가 바람직할 때 유용할 수 있습니다.
Chrome 119부터 이 플래그는 Chromium의 두 코덱(Opus 및 AAC)에 영향을 미칩니다.
TLS용 X25519Kyber768 키 캡슐화
Kyber768 양자 방지 키 계약 알고리즘을 배포하여 향후 양자 암호화 분석에서 현재 Chrome TLS 트래픽을 보호합니다. 이는 IETF 표준을 기반으로 하는 하이브리드 X25519 + Kyber768 키 계약입니다. 이 사양 및 출시는 W3C의 범위를 벗어납니다. 이 키 계약은 TLS 암호화로 실행되며 사용자에게 투명하게 공개됩니다.
오리진 트라이얼 진행 중
Chrome 119에서는 다음과 같은 새로운 오리진 트라이얼을 선택할 수 있습니다.
전체 화면 창으로 팝업 열기
새로운 오리진 트라이얼으로 window.open()
JavaScript API에 fullscreen
windowFeatures 매개변수가 추가됩니다. 이를 통해 발신자가 팝업을 포함하는 팝업을 디스플레이에서 전체 화면으로 바로 열 수 있습니다 (screenX 및 screenY 기반). 이렇게 하면 개발자가 팝업을 수동으로 전체 화면으로 전환할 필요가 없습니다. 이 경우 새로운 사용자 활성화 신호가 필요할 수 있습니다.
지원 중단 및 삭제
이 버전의 Chrome에는 다음과 같은 지원 중단 및 삭제 기능이 도입되었습니다. 예정된 지원 중단, 현재 지원 중단 및 이전에 이루어진 삭제 목록을 보려면 ChromeStatus.com을 방문하세요.
이 Chrome 버전에서는 4가지 기능이 삭제됩니다.
웹 SQL 삭제
앞서 웹 SQL 지원 중단 및 삭제를 공지한 바 있습니다. 이 기능은 Chrome 119부터 완전히 삭제됩니다. 리버스 오리진 트라이얼을 통해 개발자는 Chrome 123까지 WebSQL을 계속 사용할 수 있습니다.
Sanitizer API 삭제
Sanitizer API는 사용하기 쉽고, 항상 안전하며, 브라우저에서 유지관리하는 HTML 새니타이저를 플랫폼에 구축하는 것을 목표로 합니다. Chrome에서는 당시의 사양 초안에 따라 Chrome 105의 초기 버전을 출시했습니다. 하지만 논의가 진행되면서 제안된 API의 형태가 크게 변경되었습니다.
현재의 API가 확고히 자리잡기 전에 기존 구현을 삭제할 예정입니다. 제안된 사양이 다시 안정화되면 Sanitizer API를 다시 구현할 예정입니다.
데이터 삭제: SVGUseElement의 URL
SVGUseElement
에 data: URL
를 할당하면 XSS가 발생할 수 있습니다. 또한 신뢰할 수 있는 유형을 우회하게 되었습니다. 이에 따라 이 기능에 대한 지원을 중단하고 삭제할 계획입니다.
선언적 Shadow DOM의 비표준 shadowroot
속성 삭제
선언적 Shadow DOM을 사용 설정하는 standard-track shadowrootmode
속성은 Chrome 111에서 도입되었습니다. 이전의 비표준 shadowroot
속성이 Chrome 119에서 삭제됩니다. 간단한 이전 경로: shadowroot
를 shadowrootmode
로 바꾸면 됩니다.