Chrome 136

안정화 버전 출시일: 2025년 4월 29일

달리 명시되지 않는 한 다음 변경사항은 Android, ChromeOS, Linux, macOS, Windows용 Chrome 136 안정화 버전 채널 출시에 적용됩니다.

HTML 및 DOM

CanvasTextDrawingStyles의 언어 지원

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

버그 추적 #385006131 | ChromeStatus.com 항목 | 사양

CSS 및 UI

dynamic-range-limit 속성

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

버그 추적 #1470298 | ChromeStatus.com 항목 | 사양

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

'자체 링크'는 예외입니다. 사이트 자체 페이지로 연결되는 링크는 이전에 이 정확한 최상위 사이트 및 프레임 출처에서 클릭되지 않았더라도 :visited 스타일로 지정할 수 있습니다. 이 예외는 최상위 프레임과 출처가 동일한 최상위 프레임이나 하위 프레임에서만 사용 설정됩니다. 사이트는 사용자가 방문한 하위 페이지를 이미 알고 있으므로 개인 정보 보호와 관련된 이점이 계속 유지되어 새로운 정보가 노출되지 않습니다. 이는 사용자 환경을 개선하기 위해 커뮤니티에서 요청한 예외입니다.

버그 추적 #1448609 | ChromeStatus.com 항목 | 사양

접두사가 없는 print-color-adjust

print-color-adjust 속성을 사용하면 인쇄된 웹페이지의 색상을 조정할 수 있습니다. 이는 이미 지원되는 Chrome의 -webkit-print-color-adjust와 동일하지만 이름이 표준화되었습니다.

접두사가 -webkit-인 버전은 삭제되지 않습니다.

MDN 문서 | 추적 버그 #376381169 | ChromeStatus.com 항목 | 사양

string attr() 유형을 raw-string로 바꿉니다.

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

따라서 Chrome 136부터 attr(data-foo string)attr(data-foo raw-string)이 됩니다.

버그 추적 #400981738 | ChromeStatus.com 항목 | 사양

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

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

버그 추적 #372475301 | ChromeStatus.com 항목

Web API

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

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

캡처되지 않은 포인터의 경우 click 타겟은 변경되지 않습니다.

버그 추적 #40851596 | ChromeStatus.com 항목 | 사양

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

JavaScript 파일에서 조기 파싱 및 컴파일해야 하는 함수에 관한 정보를 연결할 수 있습니다.

이 정보는 매직 주석으로 인코딩됩니다.

버그 추적 #13917 | ChromeStatus.com 항목 | 사양

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

Chrome의 HTTP 캐시 키 생성 스키마가 최상위 탐색과 관련된 크로스 사이트 유출 공격을 완화하는 is-cross-site-main-frame-navigation 불리언을 포함하도록 업데이트되었습니다.

특히, 이렇게 하면 공격자가 지정된 페이지로의 최상위 탐색을 시작한 후 페이지에서 로드되는 것으로 알려진 리소스로 이동하여 로드 시점을 사용하여 민감한 정보를 추론하는 크로스 사이트 공격을 방지할 수 있습니다. 또한 이 변경사항은 악성 사이트가 탐색을 사용하여 사용자가 이전에 특정 사이트를 방문했는지 추론하는 것을 방지하여 개인 정보 보호를 개선합니다.

버그 추적 #398784714 | ChromeStatus.com 항목 | 사양

Protected Audience: 텍스트 변환 도우미

WebAssembly와 상호작용하는 Protected Audience 입찰 및 점수 스크립트는 문자열 유형 데이터를 바이트 배열로 또는 그 반대로 효율적으로 변환해야 합니다(예: '메모리' ArrayBuffer를 사용하여 문자열을 WebAssembly로 전달하거나 WebAssembly에서 전달). 이렇게 하면 이러한 작업을 JavaScript에서 실행하는 것보다 훨씬 더 효율적으로 실행하는 두 가지 독립형 함수인 protectedAudience.encodeUtf8protectedAudience.decodeUtf8가 제공됩니다.

ChromeStatus.com 항목

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));

ChromeStatus.com 항목 | 사양

추측 규칙: 태그 필드

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

버그 추적 #381687257 | ChromeStatus.com 항목 | 사양

loadedtotal에 double 유형을 사용하도록 ProgressEvent 업데이트

ProgressEvent에는 진행률을 나타내는 loadedtotal 속성이 있으며 이제 유형이 unsigned long long입니다.

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

ChromeStatus.com 항목 | 사양

개인 정보 보호 및 보안

iframe의 권한 정책 보고서

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

버그 추적 #40941424 | ChromeStatus.com 항목 | 사양

Accept-Language 헤더 정보에서 디지털 지문 감소

Accept-Language 헤더 값 문자열이 HTTP 요청 및 navigator.languages에 노출하는 정보의 양을 줄입니다. 이제 Chrome은 모든 HTTP 요청에서 사용자의 기본 언어 전체 목록을 전송하는 대신 Accept-Language 헤더에 사용자의 가장 선호하는 언어를 전송합니다.

버그 추적 #1306905 | ChromeStatus.com 항목

ID

FedCM 업데이트

FedCM이 모든 제공자를 동일한 get() 호출에 포함하여 동일한 대화상자에 여러 ID 공급업체를 표시할 수 있습니다. 이를 통해 개발자는 사용자에게 지원되는 모든 ID 공급업체를 편리하게 표시할 수 있습니다.

또한 Chrome 136에서는 FedCM 패시브 모드에서 다른 계정 추가에 대한 지원이 중단됩니다. 이 기능을 사용하면 선택기에서 다른 IdP 계정과 함께 다른 계정 사용 버튼을 표시할 수 있습니다. 이 기능은 현재 사용되지 않으며 UX 대화에서 이 기능을 지원하면 흐름이 더 복잡해질 뿐 큰 이점이 없다고 판단되었습니다. 이 기능은 FedCM 활성 모드에서 계속 작동합니다.

버그 추적 #1348262 | ChromeStatus.com 항목 | 사양

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

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

버그 추적 #377758786 | ChromeStatus.com 항목 | 사양

이미지 및 미디어

AudioContext 중단된 상태

AudioContextState"interrupted" 상태를 추가합니다. 이 새로운 상태를 사용하면 사용자 에이전트가 전용 오디오 액세스 (VoIP) 중에 또는 노트북 뚜껑이 닫혔을 때 재생을 일시중지할 수 있습니다.

버그 추적 #374805121 | ChromeStatus.com 항목 | 사양

캡처된 노출 영역 제어

웹 애플리케이션에서 다음 작업을 할 수 있는 웹 API입니다.

  1. 캡처된 탭에 휠 이벤트를 전달합니다.
  2. 캡처된 탭의 확대/축소 수준을 읽고 변경합니다.

버그 추적 #1466247 | ChromeStatus.com 항목 | 사양

CapturedSurfaceResolution

화면 공유 중에 캡처된 노출 영역의 픽셀 비율을 노출합니다.

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

버그 추적 #383946052 | ChromeStatus.com 항목 | 사양

WebRTC의 H265 (HEVC) 코덱 지원

이번 변경 후 HEVC는 VP8, H.264, VP9, AV1과 함께 WebRTC에서 지원되는 코덱이 됩니다. MediaCapabilities API를 사용하여 지원을 쿼리할 수 있습니다.

버그 추적 #391903235 | ChromeStatus.com 항목 | 사양

MediaRecorder의 H26x 코덱 지원 업데이트

이제 Chromium의 MediaRecorder API가 HEVC 인코딩을 지원하여 hvc1.* 코덱 문자열을 도입하고 MP4에서 가변 해상도 동영상을 지원하는 새로운 코덱 (hev1.* 및 avc3.*)을 추가합니다.

Chromium M130의 WebCodecs에 HEVC 플랫폼 인코딩 지원이 추가되었습니다. 후속 조치로 Chromium의 MediaRecorder API에 지원이 추가되었습니다. 이제 API는 서로 다른 HEVC 및 H.264 mime 유형 사양으로 MP4 및 Matroska muxer 유형을 모두 지원합니다. HEVC 인코딩은 사용자의 기기와 운영체제에서 필요한 기능을 제공하는 경우에만 지원됩니다.

ChromeStatus.com 항목

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

이 변경사항은 getCharNumAtPosition, isPointInFill, isPointInStrokeSVGPoint 대신 DOMPointInit를 사용하는 측면에서 Chromium 코드를 SVGGeometryElementSVGPathElement의 최신 W3C 사양에 맞게 조정합니다.

버그 추적 #40572887 | ChromeStatus.com 항목 | 사양

WebGPU: GPUAdapterInfo isFallbackAdapter 속성

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

버그 추적 #403172841 | ChromeStatus.com 항목 | 사양

브라우저 변경사항

유연한 스크롤바

이 기능은 Windows 11 Fluent 디자인 언어에 맞게 Windows 및 Linux의 Chromium 스크롤바 (오버레이 및 비오버레이 모두)를 현대화합니다.

오버레이가 아닌 Fluent 스크롤바는 Linux 및 Windows에서 기본적으로 사용 설정됩니다. Chromium의 Linux 스크롤바 디자인은 이전부터 Windows에서 제공되는 디자인과 일치했기 때문에 이 변경사항은 Linux에도 적용됩니다. 오버레이 플루언트 스크롤바를 사용 설정하는 방법은 아직 결정되지 않았습니다.

버그 추적 #1292117 | ChromeStatus.com 항목

오리진 트라이얼

Audio Output Devices API: setDefaultSinkId()

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

시작 버전 체험판 | ChromeStatus.com 항목 | 사양

웹 애플리케이션이 양형 성능 타이밍을 이해하도록 사용 설정

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

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

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

시작 버전 체험판 | 버그 추적 #1413848 | ChromeStatus.com 항목 | 사양

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

이는 웹에 노출되는 변경사항이 아닙니다.

CanvasRenderingContext2D, measureText(), fillText(), strokeText()의 구현이 크게 변경되었습니다. 이로 인해 성능에 영향을 미칠 수 있으므로 캔버스가 많은 애플리케이션에서 새 구현을 사용해 볼 수 있도록 출처 체험판을 실행하고자 합니다.

출처 실험 | 버그 추적 #389726691 | ChromeStatus.com 항목

지원 중단 및 삭제

HTMLFencedFrameElement.canLoadOpaqueURL() 삭제

HTMLFencedFrameElement 메서드 canLoadOpaqueURL()는 2023년에 navigator.canLoadAdAuctionFencedFrame()로 대체되었으며, 이 메서드를 호출하면 새 API를 가리키면서 지원 중단 콘솔 경고가 표시되었습니다. 이 메서드는 Chrome 136에서 삭제되었습니다.

ChromeStatus.com 항목