Chrome 57의 API 지원 중단 및 삭제

조 메들리
조 메들리

거의 모든 Chrome 버전에서 제품, 성능, 웹 플랫폼의 기능과 관련된 수많은 업데이트와 개선사항이 확인됩니다. 이 도움말에서는 2월 초 현재 베타 버전인 Chrome 57의 지원 중단 및 삭제에 관해 설명합니다. 이 목록은 언제든지 변경될 수 있습니다.

BluetoothDevice.uuids 속성 삭제

현재 사양에 맞게 웹 블루투스 API를 가져오기 위해 BluetoothDevice.uuids 속성이 삭제될 예정입니다. device.getPrimaryServices()를 호출하여 허용된 GATT 서비스를 모두 검색할 수 있습니다.

Chromium 버그

키 생성 요소 삭제

Chrome 49부터 이 페이지에 권한이 부여되지 않은 경우 <keygen>의 기본 동작은 빈 문자열을 반환하는 것이었습니다. IE/Edge는 <keygen>를 지원하지 않으며 <keygen>을 지원하라는 공개 신호를 표시하지 않았습니다. Firefox는 이미 사용자 동작 뒤에 <keygen>를 제어하지만 이를 삭제하는 것을 공개적으로 지원하고 있습니다. Safari는 <keygen>를 제공하며 지속적인 지원과 관련하여 공개 뷰를 공개하지 않았습니다. Chrome 57에서는 이 요소가 삭제됩니다.

삭제 의도 | Chromestatus Tracker | Chromium 버그

프리픽스가 붙은 리소스 타이밍 버퍼 관리 API 삭제

두 메서드와 이벤트 핸들러(webkitClearResourceTimings(), webkitSetResourceTimingBufferSize(), onwebkitresourcetimingbufferfull)는 더 이상 사용되지 않으며 공급업체별로 다릅니다. 이러한 API의 표준 버전은 Chrome 46부터 지원되었으며 접두사로 지정된 함수도 해당 버전에서 지원 중단되었습니다. 이 기능은 원래 WebKit에서 구현되었지만 Safari에서는 사용 설정하지 않았습니다. Firefox, IE 10 이상, Edge에는 접두사가 없는 버전의 API만 있습니다. 따라서 webkit 버전이 삭제됩니다.

삭제 의도 | Chromestatus Tracker | Chromium 버그

ServiceWorkerMessageEvent를 삭제하고 MessageEvent를 사용합니다.

HTML 사양은 ServiceWorkersource 속성의 유형으로 허용하도록 MessageEvent를 확장했습니다. client.postMessage() 및 맞춤 메시지 이벤트 생성이 ServiceWorkerMessageEvent 대신 MessageEvent를 사용하도록 변경되었습니다. ServiceWorkerMessageEvent가 삭제되었습니다.

삭제 의도 | Chromestatus Tracker | Chromium 버그

webkit 접두사가 붙은 IndexedDB 전역 별칭 삭제

IndexedDB 진입점과 전역 생성자는 Chrome 11 무렵에 webkit 접두사로 노출되었습니다. 프리픽스가 없는 버전은 Chrome 24에 추가되었으며, 프리픽스가 붙은 버전은 Chrome 38에서 지원 중단되었습니다. 영향을 받는 인터페이스는 다음과 같습니다.

  • webkitIndexedDB (기본 진입점)
  • webkitIDBKeyRange (호출 불가능한 전역 생성자, 유용한 정적 메서드가 있음)
  • webkitIDBCursor
  • webkitIDBDatabase
  • webkitIDBFactory
  • webkitIDBIndex
  • webkitIDBObjectStore
  • webkitIDBRequest
  • webkitIDBTransaction (호출 불가능한 전역 생성자)

삭제 의도 | Chromestatus Tracker | Chromium 버그

WebAudio: 접두사 AudioContext 및 오프라인 AudioContext 삭제

Chrome은 2011년 중반부터 AudioContext를 비롯하여 WebAudio를 지원했습니다. OfflineAudioContext은 다음 해에 추가되었습니다. 표준 인터페이스가 지원되는 기간과 프리픽스가 있는 기능을 삭제한다는 Google의 장기적 목표를 감안할 때, 이러한 인터페이스의 프리픽스 버전은 2014년 말부터 지원 중단되었으며 현재 삭제되고 있습니다.

삭제 의도 | Chromestatus Tracker | Chromium 버그

webkitCancelRequestAnimationFrame 지원 중단 및 삭제

webkitCancelRequestAnimationFrame() 메서드는 더 이상 사용되지 않는 공급업체별 API이며 표준 cancelAnimationFrame()는 Chromium에서 오랫동안 지원되어 왔습니다. 따라서 webkit 버전이 삭제됩니다.

삭제 의도 | Chromestatus Tracker | Chromium 버그

usemap 속성의 대소문자를 구분하지 않는 일치 지원 중단

이전에는 usemap 속성이 대소문자가 없는 것으로 정의되었습니다. 하지만 이 구현은 너무 복잡하여 어느 브라우저에서도 이를 제대로 구현하지 못했습니다. 연구에 따르면 이렇게 복잡한 알고리즘은 불필요하며 ASCII를 구분하지 않는 일치도 불필요합니다.

이에 따라 대소문자를 구분하는 일치가 적용되도록 사양이 업데이트되었습니다. 이전 동작은 Chrome 57에서 지원 중단되며 Chrome 58에서 삭제될 예정입니다.

삭제 의도 | Chromestatus Tracker | Chromium 버그

서비스 워커에서 FileReaderSync 지원 중단

서비스 워커 사양에는 서비스 워커 차단을 방지하기 위해 항상 '모든 유형의 동기식 요청은 서비스 워커 내부에서 시작할 수 없습니다'라는 (비표준) 메모가 있었습니다. 서비스 워커를 차단하면 제어된 페이지의 모든 네트워크 요청이 차단됩니다. 안타깝게도 FileReaderSync API는 오래 전부터 서비스 워커에서 사용할 수 있었습니다.

현재 Firefox와 Chrome에서만 서비스 워커에 FileReaderSync을 노출합니다. Firefox의 사양 논의에 이 문제가 해결되어야 한다는 내용이 명시되어 있습니다. Chrome 59에서 삭제될 예정입니다.

삭제 의도 | Chromestatus Tracker | Chromium 버그

HTMLEmbedElement 및 HTMLObjectElement에 대한 기존 호출자 지원 중단

인터페이스에 기존 호출자가 있다는 것은 인스턴스를 함수로 호출할 수 있음을 의미합니다. 현재 HTMLEmbedElementHTMLObjectElement에서 이 기능을 지원합니다. Chrome 57에서는 이 기능이 지원 중단됩니다. Chrome 58에서 예상되는 삭제 후 호출하면 예외가 발생합니다.

이 변경사항을 통해 Chrome도 최근 사양 변경사항에 부합하게 됩니다. 레거시 동작은 Edge 또는 Safari에서는 지원되지 않으며, Firefox에서 삭제될 예정입니다.

삭제 의도 | Chromestatus Tracker | Chromium 버그

'Conversation'의 RTCRtcpMuxPolicy가 지원 중단됨

rtcpMuxPolicy는 Chrome에서 RTP/RTCP 다중화 사용과 관련된 기본 정책을 지정하는 데 사용됩니다. Chrome 57에서는 다음과 같은 이유로 기본 rtcpMuxPolicy를 'require'로 변경하고 ' 맞춤설정'을 지원 중단했습니다.

  • 다중화되지 않은 RTCP는 추가 네트워크 리소스를 사용합니다.
  • 'Conversation'을 삭제하면 API 노출 영역이 더 간단해집니다. 'RtpSender'/'RtpReceiver'가 단일 전송만 보유하기 때문입니다.

Chrome 57에서는 '협상'이 지원 중단됩니다. 사용자에게 지원 중단 메시지가 표시되고 RTCPeerConnection은 계속 만들 수 있으므로 브레이킹 체인지가 아닌 변경사항입니다. Chrome 63에서 삭제됩니다.

지원 중단 예정 | Chromium 버그

하위 리소스 요청에 삽입된 사용자 인증 정보에 대한 지원 중단

하위 리소스 요청에 사용자 인증 정보를 하드 코딩하는 것은 과거에는 해커가 사용자 인증 정보를 무차별 대입할 수 있었기 때문에 보안 관점에서 문제가 됩니다. 내부 IP 범위 (라우터 등)에 도달하는 인증된 하위 리소스 요청의 경우 이러한 위험은 악화됩니다. 사용률이 낮다는 점을 감안할 때 이 작은 보안 허점을 해결하는 것은 합리적으로 보입니다.

개발자는 기본/다이제스트 인증이 필요 없는 리소스를 쿠키 및 기타 세션 관리 메커니즘을 사용하여 삽입할 수 있습니다.

삭제 의도 | Chromestatus Tracker | Chromium 버그