Chrome 136 베타

게시일: 2025년 4월 3일

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

CSS 및 UI

이 출시에서는 새로운 CSS 및 UI 기능 6개를 추가합니다.

CSS dynamic-range-limit 속성

페이지에서 HDR 콘텐츠의 최대 밝기를 제한할 수 있도록 합니다.

필기체 스크립트의 문자 간격 무시

이 기능은 개발자가 사양에 따라 지정했더라도 필기체 스크립트의 letter-spacing 설정을 무시하는 로직을 추가하여 글자 간격이 단어를 끊지 않도록 합니다.

사용자의 방문 기록 유출을 방지하기 위해 앵커 요소는 이전에 이 최상위 사이트 및 프레임 출처에서 클릭된 경우에만 :visited 스타일로 지정됩니다.

이전에 이 사이트와 프레임에서 클릭된 링크에 대해서만 스타일을 지정하면 :visited 링크 스타일 지정 정보를 얻기 위해 개발된 많은 측면 채널 공격이 이제 더 이상 사용되지 않습니다. 더 이상 사이트에 사용자에 관한 새로운 정보를 제공하지 않습니다.

:visited 링크의 개인 정보 보호 개선사항에 대해 자세히 알아보기

string attr() 유형을 raw-string로 이름 바꾸기

CSS 작업 그룹은 string attr() 유형을 raw-string로 대체하기로 결정했습니다.

따라서 Chrome에서는 attr() 문법을 변경하여 attr(data-foo string)attr(data-foo raw-string)가 되도록 했습니다.

유형에 구애받지 않는 var() 대체

var() 함수의 대체 부분이 참조되는 맞춤 속성의 유형을 검증하지 않습니다.

접두사가 없는 print-color-adjust

print-color-adjust 속성을 사용하면 인쇄된 웹페이지의 색상을 조정할 수 있습니다. 이는 Chrome에서 이미 지원되는 -webkit-print-color-adjust와 동일하지만 이름이 표준화되어 있습니다. 접두사가 -webkit인 버전은 삭제되지 않습니다.

Web API

AudioContext 중단 상태

AudioContextState"interrupted" 상태를 추가합니다. 이 새로운 상태를 사용하면 UA가 이러한 시나리오에서 재생을 일시중지하고 웹 애플리케이션이 적절하게 응답할 수 있습니다.

Blob URL 파티셔닝: 가져오기/탐색

저장용량 파티셔닝의 연장으로, 저장용량 키 (최상위 사이트, 프레임 출처, has-cross-site-ancestor 불리언)별로 Blob URL 액세스의 파티셔닝을 구현합니다. 단, 프레임 출처로만 파티셔닝된 상태로 유지되는 최상위 탐색은 예외입니다. 이 동작은 현재 Firefox와 Safari에서 구현한 것과 유사하며 Blob URL 사용을 저장용량 파티셔닝의 일부로 다른 저장용량 API에서 사용하는 파티셔닝 스키마와 일치시킵니다.

또한 이제 상응하는 사이트가 탐색을 실행하는 최상위 사이트와 크로스 사이트인 Blob URL에 대한 렌더러에서 시작한 최상위 탐색에 noopener가 적용됩니다. 이를 통해 Chrome이 Safari의 유사한 동작과 일치하게 됩니다. 관련 사양은 이러한 변경사항을 반영하도록 업데이트되었습니다.

응답하지 않는 웹페이지의 비정상 종료 보고서에 있는 호출 스택

이 기능은 JavaScript 코드가 무한 루프 또는 기타 매우 긴 계산을 실행하여 웹페이지가 응답하지 않게 되었을 때 JavaScript 호출 스택을 캡처합니다. 이를 통해 개발자는 응답하지 않는 원인을 파악할 수 있습니다. 이유가 응답 없음인 경우 JavaScript 호출 스택이 비정상 종료 보고 API에 포함됩니다.

Captured Surface Control API

Captured Surface Control API를 사용하면 웹 애플리케이션이 캡처된 탭에 휠 이벤트를 전달하고 캡처된 탭의 확대/축소 수준을 읽고 변경할 수 있습니다.

CapturedSurfaceResolution

화면 공유 중에 캡처된 노출 영역의 픽셀 비율을 노출합니다. 이 기능을 사용하면 애플리케이션이 시스템 리소스를 보존하거나 캡처된 노출 영역의 실제 및 논리적 해상도에 따라 품질과 대역폭 절충점을 조정할 수 있습니다.

캡처된 포인터에 클릭 이벤트 전달

pointerup 이벤트가 전달되는 동안 포인터가 캡처되면 click 이벤트는 UI 이벤트 사양에 따라 pointerdownpointerup 이벤트의 가장 가까운 공통 조상 대신 캡처된 대상에 전달됩니다. 캡처되지 않은 포인터의 경우 click 대상은 변경되지 않습니다.

매직 주석을 사용한 명시적 컴파일 힌트

JavaScript 파일에서 조기 파싱 및 컴파일해야 하는 함수에 관한 정보를 연결할 수 있습니다. 정보는 매직 주석으로 인코딩됩니다.

FedCM 업데이트: 여러 IdP 지원, 수동 모드에서 '계정 추가' 기능 삭제

이 업데이트를 통해 FedCM은 동일한 대화상자에 여러 ID 공급자를 표시할 수 있습니다. 이를 통해 개발자는 지원되는 모든 ID 공급업체를 사용자에게 편리하게 표시할 수 있습니다. 먼저 모든 제공자를 동일한 get() 호출에 포함하는 간단한 사례를 처리할 계획입니다. 또한 FedCM 패시브 모드에서 '계정 추가' 기능에 대한 지원도 중단됩니다. 이 기능을 사용하면 선택 도구에서 다른 IdP 계정과 함께 '다른 계정 사용' 버튼을 표시할 수 있습니다. 이 기능은 현재 사용되지 않으며 UX 대화를 통해 이를 지원하면 큰 이점 없이 더 복잡한 흐름이 발생한다는 결론을 내렸습니다. 이 기능은 FedCM 활성 모드에서도 계속 작동합니다.

유창한 스크롤바

이 기능은 Windows 11 Fluent 디자인 언어에 맞게 Windows 및 Linux의 Chrome 스크롤바 (오버레이 및 비오버레이 모두)를 현대화합니다. 오버레이가 아닌 Fluent 스크롤바가 Linux 및 Windows에서 기본적으로 사용 설정됩니다. Chrome의 Linux 스크롤바 디자인은 이전부터 Windows에서 제공되는 디자인과 일치했기 때문에 이 변경사항은 Linux에도 적용됩니다.

WebRTC의 H265 (HEVC) 코덱 지원

Chrome 136부터 HEVC가 VP8, H.264, VP9, AV1과 함께 WebRTC에서 지원되는 코덱으로 추가됩니다. MediaCapabilities API를 사용하여 지원을 쿼리할 수 있습니다.

이 최신 코덱은 VP8 및 H264와 같은 이전 세대 코덱에 비해 압축 효율성 (비트 전송률당 더 높은 품질)이 향상되었으며 10년 넘게 매우 강력한 하드웨어 지원을 제공합니다. 이는 배터리 수명을 늘리고 성능 문제의 위험을 줄이는 것으로 이어지며, 하위 하드웨어 인코더의 성능에 따라 하드웨어 VP9 또는 AV1 인코더를 사용할 수 없는 경우 시각적 환경을 개선하는 경우가 많습니다.

MediaRecorder의 H26x 코덱 지원 업데이트

이제 MediaRecorder API가 HEVC 인코딩을 지원하며 hvc1.* 코덱 문자열을 도입하고 MP4에서 가변 해상도 동영상을 지원하는 새로운 코덱 (hev1.*avc3.*)을 추가합니다. HEVC 플랫폼 인코딩 지원이 Chrome 130의 WebCodecs에 추가되었습니다. 후속 조치로 Chromium의 MediaRecorder API에 지원이 추가되었습니다. 이제 API는 서로 다른 HEVC 및 H.264 mime 유형 사양으로 MP4 및 Matroska muxer 유형을 모두 지원합니다. HEVC 인코딩은 사용자의 기기와 운영체제에서 필요한 기능을 제공하는 경우에만 지원됩니다.

Chrome Enterprise의 IP 주소 로깅 및 보고

Chrome Enterprise는 로컬 및 원격 IP 주소를 수집 및 보고하고 이러한 IP 주소를 보안 조사 로그 (SIT)로 전송하여 보안 모니터링 및 침해 사고 대응 기능을 개선하고 있습니다. 또한 Chrome Enterprise를 사용하면 관리자가 원하는 경우 Chrome Enterprise 보고 커넥터를 사용하여 퍼스트 파티 및 서드 파티 SIEM 제공업체에 IP 주소를 전송할 수 있습니다. Chrome Enterprise Core 고객이 사용할 수 있습니다.

HTTP 캐시 파티션 키에 탐색 이니시에이터 통합

Chrome의 HTTP 캐시 키 생성 스키마가 최상위 탐색과 관련된 크로스 사이트 유출 공격을 완화하는 is-cross-site-main-frame-navigation 불리언을 포함하도록 업데이트되었습니다. 특히, 이렇게 하면 공격자가 지정된 페이지로의 최상위 탐색을 시작한 다음 페이지에서 로드되는 것으로 알려진 리소스로 이동하여 로드 시점으로부터 민감한 정보를 추론하는 크로스 사이트 공격을 방지할 수 있습니다. 또한 이 변경사항은 악성 사이트가 탐색을 사용하여 사용자가 이전에 특정 사이트를 방문했는지 추론하는 것을 방지하여 개인 정보 보호를 개선합니다.

CanvasTextDrawingStyles의 언어 지원

모든 DOM 요소와 마찬가지로 <canvas> DOM 요소는 글꼴 선택에 대한 언어별 처리를 정의하는 데 사용되는 lang 속성을 허용합니다 (글꼴에 언어별 글리프가 있는 경우). 브라우저는 이 속성을 준수합니다. 그러나 OffscreenCanvas가 생성될 때는 언어 정보를 설정할 방법이 없으므로 오프스크린 캔버스가 출력이 사용되는 캔버스와 다른 렌더링된 결과를 생성하는 상태가 될 수 있습니다. 이 기능은 CanvasTextDrawingStyleslang IDL 속성을 추가하여 텍스트 그리기 및 측정항목의 언어를 직접 제어할 수 있도록 합니다.

iframe의 권한 정책 보고서

'잠재적 권한 정책 위반'이라는 새로운 위반 유형을 도입합니다. 이 유형은 권한 정책 (보고 전용 정책 포함)과 iframe에 설정된 allow 속성만 확인하여 적용된 권한 정책과 iframe에 전파된 권한 간의 충돌을 감지합니다.

예측 가능한 보고된 스토리지 할당량

무제한 저장용량 권한이 없는 사이트의 경우 StorageManager의 Estimate API에서 예측 가능한 저장용량 할당량을 보고합니다. 시크릿 모드에서는 사용 가능한 스토리지 공간이 일반 모드보다 훨씬 작으므로 보고된 스토리지 할당량을 사용하여 사용자의 탐색 모드를 감지할 수 있습니다.

Private Aggregation API: 집계 오류 보고

Private Aggregation API를 사용할 때 발생할 수 있는 다양한 오류 조건이 있습니다. 예를 들어 개인 정보 보호 예산이 소진되어 더 이상 히스토그램 기여가 이루어지지 않을 수 있습니다. 이 기능을 사용하면 개발자가 특정 유형의 오류가 발생할 때만 전송해야 하는 히스토그램 기여를 등록할 수 있습니다. 이 기능은 오류 조건의 빈도를 측정하고 관련 개발자 지정 측정기준(예: 배포된 코드의 버전)으로 이러한 측정값을 분할하는 것을 지원합니다. 오류 자체가 교차 사이트 정보일 수 있으므로 서드 파티 쿠키가 없는 사용자의 페이지에 이를 단순히 노출할 수는 없습니다. 대신 이 기능은 집계 서비스를 통해 노이즈가 있는 기존 집계 보고 파이프라인을 재사용합니다.

RegExp.escape

RegExp.escape은 문자열을 취하고 정규 표현식 내에서 패턴으로 사용할 수 있는 이스케이프된 버전을 반환하는 정적 메서드입니다. 예를 들면 다음과 같습니다.

const str = prompt("Please enter a string");
const escaped = RegExp.escape(str);
const re = new RegExp(escaped, 'g'); // handles reg exp special tokens with the replacement.

console.log(ourLongText.replace(re));

추측 규칙: 태그 필드

개발자가 추측 규칙에 field 태그를 추가할 수 있도록 합니다. 이 선택적 필드는 추측 규칙의 소스를 추적하는 데 사용할 수 있습니다. 예를 들어 중간 서버에서 다르게 처리하는 경우입니다. 추측과 연결된 모든 태그는 Sec-Speculation-Tags 헤더와 함께 전송됩니다.

Storage Access API의 엄격한 동일 출처 정책

동일 출처 정책을 엄격하게 준수하도록 Storage Access API 시맨틱을 조정합니다. 즉, 프레임에서 document.requestStorageAccess()를 사용하면 기본적으로 사이트가 아닌 iframe의 출처에 대한 요청에만 쿠키가 연결됩니다. CookiesAllowedForUrls 정책 또는 스토리지 액세스 헤더는 계속해서 크로스 사이트 쿠키를 차단 해제하는 데 사용할 수 있습니다.

loadedtotal에 double 유형을 사용하도록 ProgressEvent를 업데이트합니다.

ProgressEvent에는 진행 상황을 나타내는 loadedtotal 속성이 있으며 이제 유형이 unsigned long long입니다. 이 기능을 사용하면 이 두 속성의 유형이 double로 변경되므로 개발자가 값을 더 세부적으로 제어할 수 있습니다. 예를 들어 이제 개발자는 total이 1이고 loaded가 0에서 1로 점진적으로 증가하는 ProgressEvent를 만들 수 있습니다. 이는 max 속성이 생략된 경우 <progress> HTML 요소의 기본 동작과 일치합니다.

getCharNumAtPosition, isPointInFill, isPointInStroke에는 DOMPointInit를 사용합니다.

이 변경사항은 getCharNumAtPosition, isPointInFill, isPointInStrokeSVGPoint보다 DOMPointInit 사용에 관한 SVGGeometryElementSVGPathElement의 최신 W3C 사양에 따라 Chromium 코드를 조정합니다.

웹 인증 조건부 생성 (패스키 업그레이드)

WebAuthn 조건부 생성 요청을 사용하면 웹사이트에서 기존 비밀번호 사용자 인증 정보를 패스키로 업그레이드할 수 있습니다.

WebGPU: GPUAdapterInfo isFallbackAdapter 속성

GPUAdapterInfo isFallbackAdapter 불리언 속성은 어댑터가 더 광범위한 호환성, 더 예측 가능한 동작 또는 향상된 개인 정보 보호를 위해 상당한 성능 제한이 있는지 여부를 나타냅니다. 일부 시스템에는 대체 어댑터가 없을 수 있습니다.

새로운 오리진 트라이얼

Chrome 136에서는 다음과 같은 새로운 출처 무료 체험판을 선택할 수 있습니다.

Audio Output Devices API: setDefaultSinkId()

이 기능은 MediaDevices에 setDefaultSinkId()를 추가하여 최상위 프레임이 하위 프레임에서 사용하는 기본 오디오 출력 장치를 변경할 수 있도록 합니다.

웹 애플리케이션이 양극화된 성능 타이밍을 이해하도록 지원

웹 애플리케이션은 웹 애플리케이션에서 제어할 수 없는 요인으로 인해 페이지 로드 성능이 바이모달 배포될 수 있습니다. 예를 들면 다음과 같습니다.

  • 사용자 에이전트가 처음 실행될 때('콜드 스타트' 시나리오) 시스템의 리소스를 놓고 경쟁하는 많은 비용이 많이 드는 초기화 작업을 실행해야 합니다.
  • 브라우저 확장 프로그램은 웹사이트의 성능에 영향을 줄 수 있습니다. 예를 들어 일부 확장 프로그램은 사용자가 방문하는 모든 페이지에서 추가 코드를 실행하므로 CPU 사용량이 증가하고 응답 시간이 느려질 수 있습니다.
  • 머신이 집약적인 작업을 실행하느라 바쁘면 웹페이지가 느리게 로드될 수 있습니다.

이러한 시나리오에서 웹 앱이 로드하려는 콘텐츠는 시스템에서 실행 중인 다른 작업과 경쟁하게 됩니다. 따라서 웹 애플리케이션 자체에 성능 문제가 있는지 아니면 외부 요인으로 인해 문제가 발생했는지 감지하기 어렵습니다.

PerformanceNavigationTiming 객체의 새 confidence 필드를 사용하면 개발자가 탐색 시간이 웹 애플리케이션을 대표하는지 파악할 수 있습니다.

기기 결합 세션 사용자 인증 정보

웹사이트에서 세션을 단일 기기에 안전하게 바인딩하는 방법입니다.

이를 통해 서버는 기기에 안전하게 바인딩된 세션을 보유할 수 있습니다. 브라우저는 서버의 요청에 따라 비공개 키 소유 증명과 함께 주기적으로 세션을 갱신합니다.

캔버스 텍스트 렌더링 구현 업데이트

CanvasRenderingContext2D 및 OffscreenCanvasRenderingContext2D의 measureText(), fillText(), strokeText() 내부 요소가 RTL 텍스트 및 캐싱을 더 잘 지원하는 새로운 구현으로 대체되었습니다. 이로 인해 성능과 BIDI 텍스트 출력에 영향을 줄 수 있으므로 이 출처 체험판을 통해 텍스트가 많은 캔버스 애플리케이션에서 새 구현을 사용해 보고 발생할 수 있는 문제를 신고할 수 있습니다.

지원 중단 및 삭제

이 버전의 Chrome에서는 다음과 같은 지원 중단 및 삭제가 적용됩니다. ChromeStatus.com에서 예정된 지원 중단, 현재 지원 중단, 이전 삭제 목록을 확인하세요.

이 Chrome 버전에서는 두 가지 기능이 지원 중단됩니다.

국제 언어 정보의 getter 지원 중단

Intl Locale Info API는 주 데이터 (한 주의 첫째 날, 주말 시작일, 주말 종료일, 첫 번째 주의 최소 일수)와 해당 언어에서 사용되는 텍스트 방향 시간 주기 같은 언어 정보를 노출하여 Intl.Locale 객체를 개선하는 3단계 ECMAScript TC39 제안서입니다. 이 변경사항으로 인해 출시 이후 사양 변경에서 지원 중단된 일부 getter가 삭제됩니다.

HTMLFencedFrameElement.canLoadOpaqueURL()가 삭제됩니다.

canLoadOpaqueURL()는 2023년에 navigator.canLoadAdAuctionFencedFrame()로 대체되었으며, 이를 호출하면 개발자를 새 API로 안내하는 지원 중단 콘솔 경고가 표시되었습니다. 함수를 HTMLFencedFrameElement에 연결하는 것은 적절하지 않으며 대신 navigator 객체 (다른 펜싱된 프레임 및 광고 입찰 메서드가 포함됨)에 연결해야 합니다.