In nearly every version of Chrome, we see a significant number of updates and improvements to the product, its performance, and also capabilities of the Web Platform. This article describes the deprecations and removals in Chrome 62, which is in beta as of September 14. This list is subject to change at any time.
Nearly two years ago,
getStreamById() was removed from the WebRTC
spec. Most other browsers have
already removed this from their implementations, and the feature was deprecated
in Chrome 60. Though this function is believed to be little-used, it's also
believed there is some minor interoperability risk with Edge and WebKit-based
browsers other than Safari where
getStreamById() is still supported.
Developers needing an alternative implementation can find example code in the
Intent to Remove, below.
This property, which was intended for use in monitoring worker performance was
removed from the spec more than two years ago and it is not supported in the
other major browsers. A more modern approach to tracking performance of a worker
In Chrome 48,
SVGPathElement.pathSegList() and related interfaces were removed
in compliance with the SVG specification. At that
time, this method was mistakenly left in. We don't expect this removal to break
any web pages since, for the last two years, it has returned an object that no
longer exists in Blink.
Remove usage of notifications from insecure iframes
Permission requests from iframes can confuse users since it is difficult to distinguish between the containing page's origin and the origin of the iframe that is making the request. When the requests scope is unclear, it is difficult for users to judge whether to grant or deny permission.
Disallowing notifications in iframes will also align the requirements for notification permission with that of push notifications, easing friction for developers.
Developers who need this functionality can open a new window to request notification permission.
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.