Deprecations and removals in Chrome 71

Joe Medley
Joe Medley

Chrome 71 also includes changes to cache.addAll() and importScripts(). Read about it in Tweaks to cache.addAll() and importScripts() coming in Chrome 71 by Jeff Posnick.

Remove SpeechSynthesis.speak() without user activation

The SpeechSynthesis interface is actively being abused on the web. There's anecdotal evidences that because other autoplay avenues are being closed, abuse is moving to the Web Speech API, which doesn't follow autoplay rules.

The speechSynthesis.speak() function now throws an error if the document has not received a user activation. This feature has been deprecated since Chrome 70.

Intent to Deprecate | Chromestatus Tracker | Chromium Bug

Remove prefixed versions of APIs

Chrome has removed non-standard aliases for two widely supported standard interfaces.

WebKitAnimationEvent

WebKitAnimationEvent has been fully replaced by AnimationEvent , the event interface used for events relating to CSS Animations. The prefixed form is only supported in Safari. Firefox and Edge only support the un-prefixed AnimationEvent.

Intent to Remove | Chromestatus Tracker | Chromium Bug

WebKitTransitionEvent

WebKitTransitionEvent has been fully replaced by TransitionEvent , the event interface used for events relating to CSS Transitions (for example, transitionstart). The prefixed form is only supported in Safari. Firefox and Edge only support the un-prefixed TransitionEvent.

Intent to Remove | Chromestatus Tracker | Chromium Bug

Remove URL.createObjectURL from MediaStream

The URL.createObjectURL() method has been removed from the MediaStream interface. This method has been deprecated in 2013 and superseded by assigning streams to HTMLMediaElement.srcObject. The old method was removed because it is less safe, requiring a call to URL.revokeOjbectURL() to end the stream. Other user agents have either deprecated (Firefox) or removed (Safari) this feature feature.

Intent to Remove | Chromestatus Tracker | Chromium Bug

Remove document.origin

The document.origin property has been removed. This property was only ever implemented in Chromium and WebKit. It is redundant with self.origin which can be used in both window and worker contexts and has wider support.

Intent to Remove | Chromestatus Tracker | Chromium Bug

Deprecations

No features have been deprecated in this version of Chrome. Chrome Platform Status provides a list of deprecated features from previous versions of Chrome.

Deprecation policy

To keep the platform healthy, we sometimes remove APIs from the Web Platform which have run their course. There can be many reasons why we would remove an API, such as:

  • They are superseded by newer APIs.
  • They are updated to reflect changes to specifications to bring alignment and consistency with other browsers.
  • They are early experiments that never came to fruition in other browsers and thus can increase the burden of support for web developers.

Some of these changes will have an effect on a very small number of sites. To mitigate issues ahead of time, we try to give developers advanced notice so they can make the required changes to keep their sites running.

Chrome currently has a process for deprecations and removals of API's, essentially:

  • Announce on the blink-dev mailing list.
  • Set warnings and give time scales in the Chrome DevTools Console when usage is detected on the page.
  • Wait, monitor, and then remove the feature as usage drops.

You can find a list of all deprecated features on chromestatus.com using the deprecated filter and removed features by applying the removed filter. We will also try to summarize some of the changes, reasoning, and migration paths in these posts.