Chrome 132 베타

게시일: 2024년 11월 13일

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

CSS

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

CSS 앵커 포지셔닝: insetmargin 속성에서 anchor-size() 허용

원래 anchor-size()는 크기 조정 속성에서만 허용되었습니다. 인셋과 여백에서도 anchor-size()를 허용하도록 사양이 변경되었습니다.

CSS 가로 쓰기 모드

writing-mode CSS 속성에 대한 sideways-rlsideways-lr 키워드 지원 sideways-rlsideways-lr는 CJK가 아닌 텍스트를 세로로 작성하는 데 유용합니다. vertical-rlvertical-lr와 달리 CJK 언어에 적합한 동작이 없습니다.

Web API

모든 화면 캡처

getAllScreensMedia()를 사용하여 현재 기기에 연결된 모든 화면을 캡처합니다.

getDisplayMedia()를 여러 번 호출하면 여러 사용자 동작이 필요하고, 사용자가 매번 다음 화면을 선택해야 하는 부담이 있으며, 앱에 모든 화면이 선택되었음을 보장하지 않습니다. getAllScreensMedia() 메서드는 이러한 모든 측면에서 개선되었습니다.

이 기능은 데스크톱에서만 제공됩니다.

대화상자 전환 이벤트

<dialog> 요소가 열리고 닫히는 시점을 알면 유용하며 popover에는 이미 팝오버가 열리거나 닫힐 때 디스패치되는 ToggleEvent가 있습니다. 이전에는 <dialog>가 열리는 시점을 감지하려면 열림을 확인하기 위해 변이 관찰자를 등록해야 했지만, 이벤트가 더 쉬운 경우도 많습니다.

이 변경사항은 팝오버가 디스패치하는 것과 동일한 ToggleEvent를 통합하지만 <dialog> 요소의 경우 showModal 또는 show가 호출되면 <dialog>newState=open와 함께 ToggleEvent를 디스패치합니다. <dialog>가 닫히면 (양식, 버튼 또는 closewatcher 사용) newState=closed와 함께 ToggleEvent을 디스패치해야 합니다.

요소 캡처

탭 캡처를 시작하기 위해 기존 수단을 통해 획득한 동영상 MediaStreamTrack가 주어지면 요소 캡처를 통해 트랙을 변이시켜 지정된 요소에서 시작하는 DOM의 하위 트리만 캡처할 수 있습니다.

이 API는 영역 캡처 API와 유사하지만, 가려진 콘텐츠와 가리는 콘텐츠가 모두 캡처에서 제외되므로 애플리케이션의 유연성이 더 높습니다.

FedCM 승인 기능

여기에는 ID 공급자 (IdP)가 사용자가 신뢰 당사자 (RP)에 캘린더 액세스 권한을 부여하도록 하는 등의 승인 흐름을 구현하는 데 사용할 수 있는 몇 가지 기능이 번들로 제공됩니다. 구체적인 내용은 다음과 같습니다.

  • IdP는 권한 (연속 API)에 대한 맞춤 프롬프트를 표시할 수 있어야 합니다.
  • RP는 액세스하려는 항목 (매개변수 API)을 IdP에 전달하는 확장 가능한 방법이 필요합니다.
  • RP는 이 상황에서 다른 정보 (필드 API)를 요청하므로 IdP가 '이름, 이메일 주소, 프로필 사진'을 공유하는 것을 언급하는 텍스트를 맞춤설정하거나 숨길 수 있어야 합니다.
  • IdP는 다른 엔드포인트를 사용하여 승인 흐름을 구현할 수 있습니다 (여러 configURL).
  • 특정 계정은 인증 및 승인 흐름 중 하나만 사용할 수 있으므로 두 흐름에서 서로 다른 계정을 표시하는 방법이 필요합니다 (계정 라벨 API).

FedCM 모드 API 및 기타 계정 사용 API

FedCM의 새로운 확장 프로그램 두 가지:

  • 모드: active 모드를 사용하면 웹사이트에서 버튼 클릭 내에서 FedCM을 호출할 수 있습니다 (예: IdP에 로그인 버튼 클릭). 이렇게 하면 FedCM이 항상 표시되는 사용자 인터페이스로 응답해야 합니다. 활성 모드에서 FedCM API를 호출하면 사용자가 로그아웃된 경우 사용자가 ID 공급자 (IdP)에 로그인하게 됩니다. 또한 활성 모드는 명시적 사용자 동작 내에서 호출되므로 UI는 소극적 모드의 UI (사용자 동작 요구사항이 필요하지 않으며 페이지 로드 시 호출될 수 있음)에 비해 더 눈에 띕니다 (예: 중앙에 위치하고 모달임).
  • 다른 계정 사용: 이 확장 프로그램을 사용하면 IdP가 사용자가 다른 계정에 로그인하도록 허용할 수 있습니다.

가져오기: Request.bytes(), Response.bytes()

Uint8Array로 확인되는 프로미스를 반환하는 bytes() 메서드를 RequestResponse 인터페이스에 추가합니다. RequestResponse에는 arrayBuffer() 메서드가 있지만 버퍼에서 직접 읽을 수는 없습니다. 이를 읽으려면 Uint8Array와 같은 뷰를 만들어야 합니다. bytes() 메서드는 요청 및 응답 본문을 가져오는 인체공학적 설계를 개선합니다.

Android 및 WebView의 파일 시스템 액세스

이 API를 사용하면 개발자가 기기의 파일 시스템을 사용하여 사용자 기기의 다른 (비웹) 앱과 상호작용하는 강력한 앱을 빌드할 수 있습니다. 사용자가 웹 앱에 액세스 권한을 부여하면 이 API를 통해 앱이 사용자가 선택한 파일과 폴더를 직접 읽거나 변경사항을 저장할 수 있습니다. 파일을 읽고 쓰는 것 외에도 이 API는 디렉터리를 열고 콘텐츠를 열거할 수 있으며, 나중에 동일한 콘텐츠에 다시 액세스할 수 있도록 IndexedDB에 파일 및 디렉터리 핸들을 저장할 수 있습니다.

파일 시스템 액세스는 Chrome 86에서 데스크톱에 제공되었으며 Chrome 132에서는 Android 및 WebView에서 사용할 수 있습니다.

localhost의 Strict-Transport-Security 무시

Strict-Transport-Security (STS) 응답 헤더는 STS가 모든 포트에서 호스트 전체에 적용되므로 localhost 웹 서버에 문제를 일으킬 수 있습니다. 이로 인해 로컬에서 테스트하는 웹 개발자에게 호환성 문제가 발생합니다. 또한 일시적인 이유로 localhost 웹 서버를 일반적으로 시작하는 소프트웨어 패키지를 사용하는 최종 사용자에게도 영향을 미칩니다. 예를 들어 웹 로그인에서 로컬 소프트웨어 패키지로의 인증 토큰 통신이 있습니다. 한 로컬 리스너가 localhost 응답에 Strict-Transport-Security를 설정하면 포트와 관계없이 모든 후속 localhost 요청에 적용됩니다.

Chrome 132는 localhost URL의 응답에서 Strict-Transport-Security 헤더를 무시하여 이 문제를 해결합니다.

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

이 기능의 출시 (Chrome 130)는 접근성 회귀로 인해 중단되었습니다. 이 문제는 해결되었으며 Chrome 132에서 기능이 계속 출시됩니다.

Private State Token API 권한 정책 기본 허용 목록 와일드 카드

Private State Token API에 대한 액세스는 권한 정책 기능에 의해 관리됩니다. Chrome 132에서는 private-state-token-issuanceprivate-state-token-redemption 기능의 기본 허용 목록이 self에서 * (와일드 카드)로 업데이트됩니다.

PushMessageData::bytes()

PushMessageData 인터페이스는 API가 일반적으로 바이트 버퍼를 Uint8Arrays로 판매해야 한다는 원칙에 따라 올해 초 새로운 bytes() 메서드로 수정된 Body 인터페이스를 모방합니다. Chrome 132는 PushMessageData 인터페이스에도 bytes() 접근자를 제공하여 Body 인터페이스와 다시 정렬됩니다.

sharedStorage.selectURL의 저장된 쿼리

이제 sharedStorage.selectURL()를 사용하면 페이지별로 쿼리를 저장하고 재사용할 수 있습니다. 저장된 쿼리를 처음 실행할 때는 페이지별 로드 예산이 두 번 청구되지만 동일한 페이지 로드 중에 저장된 쿼리를 후속 실행할 때는 청구되지 않습니다. 이는 쿼리 이름을 지정하는 selectURL() 옵션의 savedQuery 매개변수를 사용하여 실행됩니다.

비활성 문서의 팝오버 및 대화상자 예외 발생

이전에는 비활성 문서 내에 있는 팝오버 또는 대화상자에서 showPopover() 또는 showModal()을 호출하면 에러가 표시되지 않고 실패했습니다. 예외가 발생하지 않지만 문서가 비활성 상태이므로 팝오버나 대화상자가 표시되지 않았습니다. Chrome 132부터 이러한 상황에서 InvalidStateError가 발생합니다.

WebAuthn Signal API

WebAuthn 신뢰 당사자가 기존 사용자 인증 정보에 관한 정보를 사용자 인증 정보 저장소 제공업체에 다시 전달하여 잘못되거나 취소된 사용자 인증 정보를 제공업체 및 시스템 UI에서 업데이트하거나 삭제할 수 있도록 허용합니다.

Chrome 데스크톱의 패스키용 신호 API에 대해 자세히 알아보세요.

WebGPU: 32비트 부동 소수점 텍스처 혼합

float32-blendable GPU 기능을 사용하면 형식이 r32float, rg32float, rgba32float인 GPU 텍스처를 혼합할 수 있습니다.

WebGPU: GPUDevice에서 GPUAdapterInfo 노출

GPUDevice adapterInfo 속성은 GPUAdapter 객체와 동일한 GPUAdapterInfo을 노출합니다.

WebGPU: 텍스처 뷰 사용

소스 텍스처에서 사용 플래그의 하위 집합을 요청하기 위해 WebGPU 텍스처 뷰 생성에 선택적 필드를 추가합니다.

기본적으로 텍스처 뷰 사용은 소스 텍스처에서 상속되지만 상속된 전체 사용과 호환되지 않을 수 있는 뷰 형식이 있습니다. 텍스처 뷰 생성에 사용 필드를 추가하면 사용자가 뷰 형식과 호환되고 텍스처 뷰의 의도된 사용에 특화된 소스 텍스처 사용의 하위 집합을 요청할 수 있습니다.

WebGPU 구현은 하위 수준 리소스 생성을 최적화하고 더 전문화된 사용 플래그로 뷰를 사용할 때 성능을 개선할 수도 있습니다.

새 오리진 트라이얼

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

Document-Isolation-Policy

Document-Isolation-Policy를 사용하면 문서는 COOP 또는 COEP를 배포하지 않고도 페이지의 crossOriginIsolation 상태와 관계없이 자체적으로 crossOriginIsolation를 사용 설정할 수 있습니다. 이 정책은 프로세스 격리로 지원됩니다. 또한 문서의 비 CORS 교차 출처 하위 리소스는 사용자 인증 정보 없이 로드되거나 CORP 헤더가 있어야 합니다.

매직 댓글을 사용한 명시적 컴파일 힌트

이 기능을 사용하면 JavaScript 파일에서 적극적으로 파싱하고 컴파일해야 하는 함수에 관한 정보를 첨부할 수 있습니다. 이 정보는 매직 댓글로 인코딩됩니다.

지원 중단 및 삭제

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

이 Chrome 버전에서는 두 가지 기능이 삭제됩니다.

navigator.storage은 스토리지 압력 이벤트의 EventTarget로 만들어졌으며 프로토타입 단계를 지나지 못했습니다. 이 데드 코드가 삭제되므로 navigator.storage가 더 이상 EventTarget를 확장하지 않습니다.

접두사가 있는 HTMLVideoElement 전체 화면 API 삭제

접두사가 있는 HTMLVideoElement 전체 화면 API는 Chrome

2018년에 Chrome 71에서 접두사가 없는 버전으로 처음 출시된 Element.requestFullscreen() API로 대체되었습니다. 2024년 현재 대부분의 브라우저는 몇 년 동안 접두사가 없는 API를 지원해 왔습니다.

Chrome 132에서는 HTMLVideoElement에서 다음을 삭제합니다.

  • webkitSupportsFullscreen 속성
  • webkitDisplayingFullscreen 속성
  • webkitEnterFullscreen() 메서드.
  • webkitExitFullscreen() 메서드. FullScreen에서 'S'의 대소문자가 다릅니다.
  • webkitEnterFullScreen() 메서드.
  • webkitExitFullScreen() 메서드.

이제 이러한 메서드는 최신 API의 별칭일 뿐입니다. 그 사용량은 지난 몇 년간 꾸준히 감소했습니다.