school Are you a developer in an agency in the UK, Indonesia or India? Find out more about our free 2 day Progressive Web Apps training .

API Deprecations and Removals in Chrome 55

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 55, which is in beta as of October 21. This list is subject to change at any time.

Resources with non-script MIME types can no longer be executed

Previous versions of Chrome allowed content to with several non-script MIME types to be executed as script. In addition to the obvious security vulnerability, this problem also reduces the value of content security policy settings like script-src 'self'.

For example, a site might lock down same-origin JavaScript, yet still allow users to upload images that are served from that origin. Malicious users might upload JavaScript embedded within a specially-crafted image file, and that JavaScript had the potential to be served from that origin and executed. As of Chrome 55 will no longer execute content loaded with the following MIME types:

  • audio/*
  • image/*
  • video/*
  • text/csv

Intent to Remove | Chromestatus Tracker | Chromium Bug

Remove SVGSVGElement.viewPort

The implementation of SVGSVGElement.viewPort has not worked in Chrome since 2012. The attribute is not present at all in other browsers and it has been removed from the specification. For these reasons the property was deprecated in Chrome 54 and has now been removed.

Intent to Remove | Chromestatus Tracker | Chromium Bug

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.