한국의 개발자들을 위한 Google for Developers 국문 블로그입니다.
Chrome 60 베타에서 변경된 내용을 확인해 보세요.
2017년 7월 7일 금요일
<블로그 원문은
여기
에서 확인하실 수 있으며, 블로그 번역 리뷰는
문현경(Web Technologies GDE)
님이 참여해 주셨습니다.>
별도의 언급이 없는 한, 아래에 기술된 변경 사항은 Android, Chrome OS, Linux, Mac, Windows용 최신 Chrome
베타
채널 릴리스에 적용됩니다.
Paint Timing API
모든 경우에 페이지가
로드
되는 시점을 완벽하게 캡쳐하는 일반화된 측정항목은 없지만
First Paint(FP) 와 First Contentful Paint(FCP)
는 로드하는 동안 중요한 사용자 모멘트를 측정하는 데 유용한 값입니다. 사이트의 로드 성능에 대해
더 나은 통찰력
을 개발자에게 제공하기 위해 새
Paint Timing API
는 First Paint(FP) 와 First Contentful Paint(FCP)를 캡처하는 측정항목을 제공합니다.
Google I/O 2017의
“웹 성능: 사용자 환경에 가장 많은 영향을 미치는 측정항목 활용”
세션 중 Google.com 페이지의 First Paint(FP)와 First Contentful Paint(FCP)
CSS font-display
다운로드 가능한 웹 글꼴은 시각적으로 풍부한 웹 환경을 생성하기 위해 자주 사용됩니다. 역사적으로, Chrome은 시각적 정확성을 위해 지정된 글꼴을 사용할 수 있을 때까지 텍스트 렌더링을 지연시켰습니다. 그러나 연결 상태가 좋지 않으면 글꼴을 다운로드하는 데 몇 초 정도 걸리고 사용자에게 콘텐츠가 보일 때까지 시간이 상당히 지연될 수 있습니다. 이제 Chrome은 CSS
@font-face
설명자와 해당
font-display
속성
을 지원하므로, 개발자가 글꼴을 다운로드하는 동안 Chrome이
텍스트 콘텐츠를 표시
하는 방법과 시간을 지정할 수 있습니다.
Credential Management API 개선 사항
개발자 의견을 반영하여 모든 사이트에서 Credential Management API를 더 쉽게 사용할 수 있도록, 사용자설정
fetch()
를 통해 저장된 비밀번호에 액세스하는 기능은 이제 지원 중단되었습니다. Chrome 60부터 사용자의 비밀번호가
PasswordCredential
의 일부로 직접 반환됩니다.
또한,
Web Authentication Working Group
에서 수행 중인 작업에 더 잘 부합하도록
일련의 변경 작업
을 단행했습니다. 여기에는
requireUserMediation
의 지원 중단이 포함되며, 해당 이름이
preventSilentAccess
로 변경되었습니다.
이번 릴리스에 포함된 기타 기능
이제 Chrome의 데스크톱 버전에서
Payment Request API
가 지원됩니다.
이제 사이트에서
Payment Request API
를 사용하여 네이티브 결제 앱을 통해
결제를 처리
할 수 있습니다.
이제
Object rest 와 spread 프로퍼티
를 지원합니다. 객체를 병합 및 부분 복제(shallow-clone)하고 다양한 불변 객체 패턴을 더욱 간단하게 구현할 수 있습니다.
새
Web Budget API
를 사용하면 사용자에게 알림을 표시하지 않고 푸시 알림 권한이 있는 사이트에서 데이터 동기화 또는 사용자기 다른 기기에서 처리한 알림 닫기 등의 백그라운드 작업을 트리거하는 제한된 수의 푸시 메시지를 보낼 수 있습니다.
이제 새로운
웹 푸시 암호화
형식이 지원되며
PushManager.supportedContentEncodings
를 사용하여 이 형식을 사용할 수 있는 장소를 탐지할 수 있습니다.
이제 사이트의 구독이 만료되는지 여부와 그 시기를 알려주는
PushSubscription.expirationTime
을 사용할 수 있습니다.
성능과 예측 가능성을 개선하기 위해 이제
pointermove
및
mousemove
이벤트가 각
AnimationFrame
마다 한 번씩 전달되며, 이는 현재의
scroll
및
TouchEvents
기능과 일치합니다.
이제
:focus-within
CSS 의사 클래스(pseudo-class)를 사용할 수 있습니다. 이 클래스는
:focus
의사 클래스가 영향을 미치는
모든
요소에
영향을
미칠 뿐만 아니라
:focus
에 의해 영향을 받는 하위 항목이 있는 모든 요소에도 영향을 미칩니다.
이제
CSS 프레임 타이밍 함수
를 사용할 수 있습니다. 이 함수는 애니메이션이 첫 번째 및 마지막 프레임을 포함하여 정확히 똑같은 길이로 모든 프레임을 표시해야 하는
애니메이션 루프에 유용
합니다.
편집 작업을 캡처하는 다양한 방법을 제공하기 위해 이제
InputEvent
를 통해 사용자 입력을 스크립트로 관리할 수 있으며, 편집 가능한 요소에 제공되는 세부사항을 개선할 수 있습니다.
보안 강화를 위해, 사용자가 사이트를 떠날 때 트리거되는
BeforeUnload
대화상자가 이제 이를 표시하려고 시도하는 프레임이 사용자 동작이나 사용자 상호작용을 받은 경우에만 표시됩니다.
BeforeUnloadEvent
는 이에 상관없이 계속 발송됩니다.
이제 무료 오픈 동영상 코딩 형식인 VP9을
MP4(ISO BMFF) 컨테이너
와 함께
사용
할 수 있고 아래 언급된 새 VP9 문자열 형식이 필요합니다.
이제 새
VP9 문자열 형식
을 사용할 수 있고 다양한
미디어 관련 API
에서 허용되므로, 개발자가 동영상 코덱에서는 일반적이지만 아직 노출되지 않은 인코딩 속성을 설명할 수 있습니다.
지원 중단 및 상호 운용성 개선 사항
getElementsByTagName()
에서 이제
DOM 사양
업데이트를 반영하여 정규화된 이름을 허용합니다.
/deep/
은 이제
하위 항목 연결자
처럼 동작하며, 이는 사실상 무작동(no-op)입니다.
이제 사용자 환경을 개선
하기 위해
Navigator.vibrate()
를 호출하면 사용자가 프레임이나 포함된 프레임을 명시적으로 탭한 경우를 제외하고 즉시
false
를 반환하여 교차 원점(cross-origin)
iframe
에 대해 기존 동작을 일치시킵니다.
WEBKIT_KEYFRAME_RULE 및 WEBKIT_KEYFRAMES_RULE
이 제거되고 접두사가 없는 표준화된 API인
KEYFRAME_RULE
및
KEYFRAMES_RULE
로 대체되었습니다.
비표준
WebKitAnimationEvent
및
WebKitTransitionEvent
에 대한 지원이
document.createEvent()
에서 제거되었습니다.
사양
과 더 잘 부합하도록,
NodeIterator.filter
및
TreeWalker.filter
가 더 이상 JavaScript 객체를 래핑하지 않고,
.prototype
이
window.NodeFilter
에서 제거되었습니다.
RTCPeerConnection.getStreamById()
가 제거되고 그 대안으로
폴리필
이 권장됩니다.
SVGPathElement.getPathSegAtLength()
가 지원 중단되었습니다. 그 이유는
SVGPathElement
사양에서 제거되었기 때문입니다.
Headers.prototype.getAll()
이 사양에서 제거되고 그에 따라
Fetch API
에서 제거되었습니다.
게시자: Shubhie Panicker, 페인트 타이밍 프로모터
Contents
ML/Tensorflow
Android
Flutter
Web/Chrome
Cloud
Google Play
Community
Game
Firebase
검색
Tag
인디게임페스티벌
정책 세미나
창구프로그램
AdMob
AI
Android
Android 12
Android 12L
Android 13
Android 14
Android Assistant
Android Auto
Android Games
Android Jetpack
Android Machine Learning
Android Privacy
Android Studio
Android TV
Android Wear
App Bundle
bootcamp
Business
Chrome
Cloud
Community
compose
Firebase
Flutter
Foldables
Game
gdg
GDSC
google
Google Developer Student Clubs
Google Play
Google Play Games
Interview
Jetpack
Jetpack Compose
kotlin
Large Screens
Library
ma
Material Design
Material You
ML/Tensorflow
mobile games
Now in Android
PC
Play Console
Policy
priva
wa
wear
Wearables
Web
Web/Chrome
Weeklyupdates
WorkManager
Archive
2024
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2023
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2022
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2021
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2020
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2019
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2018
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2017
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2016
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2015
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2014
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2013
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2012
12월
11월
10월
9월
8월
7월
6월
5월
3월
2월
1월
2011
12월
11월
Feed