



New add to home screen behavior for progressive web apps

Add to home screen dialog

beforeinstallprompt

prompt()

beforeinstallprompt

beforeinstallprompt

prompt()

let installPromptEvent; window.addEventListener('beforeinstallprompt', (event) => { // Prevent Chrome <= 67 from automatically showing the prompt event.preventDefault(); // Stash the event so it can be triggered later. installPromptEvent = event; // Update UI notify the user they can add to home screen document.querySelector('#install-button').disabled = false; });

beforeinstallpromptevent

Add to home screen mini infobar

Payment Handler API

const request = new PaymentRequest([{ // Your custom payment method identifier comes here supportedMethods: 'https://bobpay.xyz/pay' }], { total: { label: 'total', amount: { value: '10', currency: 'USD' } } });

Making a payment through the Payment Request API. "Pay with BobPay" is a custom payment method built with the Payment Handler API.

Protecting users from unwanted destinations

Require user gesture for redirects in cross-origin iframes

sandbox

iframe

Block tab-under navigations

The Page Lifecycle API

resume

freeze

chrome://discards

Other features in this release

CSS

Accept two values in the overflow shorthand

overflow

overflow-x

overflow-y

CSS position values with three parts

object-position

perspective-origin

"top right 20%"

Support 'x' as a resolution unit

'x'

'dppx'

Unprefix CSS "grab" and "grabbing" values for cursor property

Gamepads

High resolution timestamp for Gamepad

DOMHighResTimeStamp

PerformanceTiming.navigationStart

Custom elements

New customElements.upgrade()

innerHTML

Input

Keyboard lock

Cmd-Tab

Alt-Tab

Esc

Esc

Make PointerEvent.fromElement and PointerEvent.toElement null

PointerEvents

fromElement

toElement

MouseEvent

PointerEvent

fromElement

toElement

target

relatedTarget

Unified touch adjustment

TouchEvent

PointerEvent

TouchEvent

Treat long-press as a user gesture

navigator.vibrate()

Media

WebAudio: add user selectable automation rate for AudioParams

AudioParam

AudioParam

BiquadFilterNode

ServiceWorker

Improve cache management for service worker scripts

importScripts

ServiceWorkerRegistration.updateViaCache

WebRTC

RTCRtpSender.getParameters()/setParameters() return and control track encoding

The getParameters() and setParameters() methods return or update the RTCRtpSender object's current parameters for how the RTCRtpSender.track property is encoded and transmitted to a remote RTCRtpReceiver . These methods enable you to change encoding parameters for WebRTC streams such as the maximum transmission bitrate without doing any SDP munging or renegotiation.

Deprecations and interoperability improvements

Deprecate and remove negative brightness values in filter

brightness()

Remove document.createTouch

document.createTouch()

Touch()

Remove Document.selectedStylesheetSet and Document.preferredStylesheetSet

Document.selectedStylesheetSet

Document.preferredStylesheetSet

WEBGL_compressed_texture_atc