Chrome 58의 지원 중단 및 삭제

조 메들리
조 메들리

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

Android의 마우스가 TouchEvents 실행을 중지함

Chrome 57까지는 Chrome의 Android 하위 수준 마우스 이벤트는 주로 터치 상호작용을 위해 설계된 이벤트 경로를 따랐습니다. 예를 들어 마우스 버튼을 누르는 동안 발생하는 마우스 드래그 모션은 View.onTouchEvent를 통해 전달되는 MotionEvents를 생성합니다.

그러나 터치 이벤트는 마우스 오버를 지원할 수 없으므로 마우스를 가져가면 별도의 경로를 따릅니다. 디자인에는 TouchEvents를 실행하는 마우스 상호작용, 모든 마우스 버튼이 왼쪽 마우스 버튼으로 표시됨, MouseEventsTouchEvents에 의해 억제되는 등 여러 부작용이 있었습니다.

Chrome 58부터 Android M 이상에서 마우스를 사용하면 다음 동작이 실행됩니다.

  • 더 이상 TouchEvents를 실행하지 않습니다.
  • 적절한 버튼과 기타 속성을 사용하여 일관된 MouseEvents 시퀀스를 실행합니다.

삭제 의도 | Chromestatus Tracker | Chromium 버그

usemap 속성의 대소문자를 구분하지 않는 일치 삭제

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

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

삭제 의도 | Chromestatus Tracker | Chromium 버그

콘텐츠에 의해 시작된 데이터 URL의 상단 프레임 탐색 삭제

기술 지식이 없는 브라우저 사용자에게는 익숙하지 않기 때문에 data: 스키마가 스푸핑 및 피싱 공격에 사용되는 경우가 증가하고 있습니다. 이를 방지하기 위해 웹페이지가 상단 프레임에서 data: URL을 로드하지 못하도록 차단합니다. 이는 <a> 태그, window.open, window.location 및 유사한 메커니즘에 적용됩니다. data: 스키마는 페이지에 의해 아래에 로드된 리소스에 대해서는 계속 작동합니다.

이 기능은 Chrome 60에서 삭제됩니다.

삭제 의도 | Chromestatus Tracker | Chromium 버그

모션 경로 속성의 지원 중단된 이름 삭제

모션 경로 CSS 속성을 사용하면 작성자가 지정한 경로를 따라 그래픽 객체에 애니메이션을 적용할 수 있습니다. 사양에 따라 여러 속성이 Chrome 45에서 구현되었습니다. 이러한 속성의 이름은 2016년 중반에 사양에서 변경되었습니다. Chrome은 Chrome 55 및 Chrome 56에 새로운 이름을 구현했습니다. 콘솔 지원 중단 경고도 구현되었습니다.

Chrome 58에서는 이전 속성 이름이 삭제됩니다. 영향을 받은 속성과 새 이름은 아래와 같습니다.

삭제된 속성 현재 이름
모션-경로 오프셋-경로
모션 오프셋 오프셋-거리
모션-회전 오프셋-회전
움직임 오프셋

삭제할 의도

비보안 컨텍스트에서 EME 삭제

암호화된 미디어 확장 프로그램 (EME)의 일부 사용은 오픈소스가 아닌 디지털 권한 관리 구현을 노출하거나, 영구 고유 식별자 액세스를 수반하거나, 샌드박스 처리되지 않거나 권한이 있는 액세스로 실행됩니다. 비보안 HTTP를 통해 노출된 사이트의 경우 채널의 모든 사용자가 공격받을 수 있으므로 보안 위험이 증가합니다. 또한 사용자 동의가 필요한 경우 비보안 HTTP 사이트에서 유지되는 수락이 이러한 공격자에 의해 악용될 수 있습니다.

비보안 컨텍스트 지원은 EME 버전 1 사양에서 삭제되었으며 제안된 권장사항에서 지원되지 않으며 후속 최종 권장사항에서도 지원되지 않습니다. 향후 제안된 권장사항 또는 후속 최종 권장사항에 포함되지 않습니다. 이 API는 Chrome 44 (2015년 5월) 이후 비보안 출처에서 지원 중단 메시지를 표시하고 있습니다. Chrome 58에서는 이제 삭제되었습니다. 이 변경사항은 안전하지 않은 출처에서 강력한 기능을 삭제하기 위한 광범위한 노력의 일환입니다.

삭제 의도 | Chromestatus Tracker | Chromium 버그

HTMLEmbedElement 및 HTMLObjectElement에 대한 기존 호출자 삭제

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

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

삭제 의도 | Chromestatus Tracker | Chromium 버그

사전 표준 ChaCha20-Poly1305 암호화 삭제

2013년에 Chrome 31은 Dan Bernstein 교수의 ChaCha20 및 Poly1305 알고리즘을 기반으로 새로운 TLS 암호화 스위트를 배포했습니다. 이러한 프로토콜은 나중에 IETF에서 RFC 7539RFC 7905로 표준화되었습니다. Google은 2016년 초에 Chrome 49와 함께 표준화된 변형을 출시했습니다. 이제 사전 표준 변형을 삭제하는 중입니다.

삭제 의도 | Chromestatus Tracker | Chromium 버그

인증서에서 CommonName 일치 지원 중단

RFC 2818은 도메인 이름을 인증서와 일치시키는 두 가지 방법을 설명합니다. 하나는 subjectAlternativeName 확장 프로그램 내에 사용 가능한 이름을 사용하는 방법입니다. 다른 하나는 SAN 확장 프로그램이 없는 경우 commonName로 대체합니다. commonName의 대체 기능은 RFC 2818 (2000년에 게시됨)에서 지원 중단되었지만 다수의 TLS 클라이언트에서 지원이 유지되지만, 잘못되는 경우가 많습니다.

subjectAlternativeName 필드를 사용하면 인증서가 IP 주소와 도메인 이름에 대한 결합을 표현하는지 여부를 명확히 알 수 있으며, 이름 제약조건과의 상호작용 측면에서 완전히 정의됩니다. 그러나 commonName는 모호하며 이로 인해 이 지원이 Chrome, 사용하는 라이브러리, TLS 생태계 전반에서 보안 버그의 원인이 되었습니다.

commonName 삭제 시 호환성 위험이 낮습니다. RFC 2818은 거의 20년 동안 이를 지원 중단했으며, 2012년부터 subjectAltName의 존재는 공개적으로 신뢰할 수 있는 모든 인증 기관이 준수해야 하는 기준 요구사항에 따라 요구되었습니다. Firefox 48에서는 이미 Firefox 48 이후 새로 발급된 공개적으로 신뢰할 수 있는 인증서에 subjectAltName이 필요합니다.

삭제 의도 | Chromestatus Tracker | Chromium 버그

인터페이스 요소 regions, addRegion(), removeRegion()는 WebVTT 사양에서 삭제되었으며 최신 사양을 준수하기 위해 Chrome 58에서 삭제되었습니다. 이 기능은 기본적으로 사용 설정되지 않았으므로 (플래그 뒤에서) 이 삭제로 인한 영향이 거의 없을 것으로 예상됩니다. 대안이 필요한 경우 Chrome 58에 추가된 VTTCue.region 속성을 사용하면 됩니다.

Chromestatus Tracker | Chromium 버그

WebAudio: AudioSourceNode 인터페이스 삭제

AudioSourceNode 인터페이스는 웹 오디오 사양의 일부가 아니며 구성할 수 없고 속성이 없으므로 기본적으로 개발자가 액세스할 수 있는 기능이 없습니다. 따라서 삭제 중입니다.

삭제 의도 | Chromestatus Tracker | Chromium 버그

webkitdropzone 전역 속성 삭제

dropzone 전역 속성은 HTML5 드래그 앤 드롭 사양에 의해 HTML 요소의 드래그 앤 드롭 작업 타겟, 요소에 드롭할 수 있는 콘텐츠 유형, 드래그 앤 드롭 작업 (복사/이동/링크)을 지정하는 선언적 방법으로 도입되었습니다.

이 속성은 브라우저 공급업체의 관심을 끌지 못했습니다. Blink 및 WebKit은 속성의 접두사 형식 webkitdropzone만 구현합니다. dropzone 속성이 2017년 3월 초에 사양에서 삭제되었기 때문에 접두사가 붙은 버전은 Chrome에서 삭제됩니다.

삭제 의도 | Chromestatus Tracker | Chromium 버그

안전하지 않은 알림 사용 지원 중단

알림은 웹사이트에서 시스템 UI를 호출하여 개인 정보 자체를 전송하거나 개인 정보가 변경되었다는 신호를 보낼 수 있도록 하는 강력한 기능입니다. 공격자는 안전하지 않은 연결을 통해 알림을 통해 전송되는 정보를 훔치거나 훔칠 수 있습니다. 웹 푸시에는 보안 출처가 필요하므로 이 변경사항으로 푸시 알림이 아닌 알림이 푸시 알림과 정렬됩니다. 이 변경사항은 안전하지 않은 출처에서 강력한 기능을 삭제하기 위한 광범위한 노력의 일환입니다.

삭제 의도 | Chromestatus Tracker | Chromium 버그

안전하지 않은 iframe의 알림 사용 중단

iframe의 권한 요청은 사용자에게 혼란을 줄 수 있습니다. 포함된 페이지의 출처와 요청을 보낸 iframe의 출처를 구분하기가 어렵기 때문입니다. 요청 범위가 불분명하면 사용자가 권한 부여 또는 거부 여부를 판단하기 어렵습니다.

또한 iframe에서 알림을 허용하지 않으면 알림 권한 요구사항이 푸시 알림의 요구사항과 일치되어 개발자가 불편을 겪을 수 있습니다.

이 기능이 필요한 개발자는 새 창을 열어 알림 권한을 요청할 수 있습니다.

Chrome 62에서 삭제됩니다.

삭제 의도 | Chromestatus Tracker | Chromium 버그

indexDB.webkitGetDatabaseNames() 삭제

Google은 색인화된 DB가 Chrome에서 비교적 최근에 사용되었고 접두사 지정이 대세였을 때 이 기능을 추가했습니다. API는 적당해 보이는 출처의 기존 데이터베이스 이름 목록을 비동기식으로 반환합니다.

안타깝게도 이 설계에는 결과가 반환되는 즉시 사용되지 않을 수 있으므로 심각한 애플리케이션 로직이 아닌 로깅에만 사용할 수 있다는 점에서 결함이 있습니다. github 문제는 다른 접근 방식이 필요한 대안에 관한 이전 토론을 추적/링크합니다. 개발자들이 안팎으로 관심을 보이긴 하지만, 교차 브라우저 진행의 부재로 인해 이 문제는 라이브러리 작성자가 해결했습니다.

이 기능이 필요한 개발자는 자체 솔루션을 개발해야 합니다. 예를 들어 Dexie.js와 같은 라이브러리는 그 자체로 데이터베이스 이름을 추적하는 또 다른 데이터베이스인 전역 테이블을 사용합니다.

이 기능은 Chrome 60에서 삭제됩니다.

지원 중단 예정 | Chromestatus Tracker | Chromium 버그