files/en-us/mozilla/firefox/releases/59/index.md
This article provides information about the changes in Firefox 59 that will affect developers. Firefox 59 was released on March 13, 2018.
autocomplete attribute has been implemented. This lets you enable or disable form auto-fill for the element.contents has been updated as per spec (Firefox bug 1427292). See Appendix B: Effects of display: contents on Unusual Elements for exactly what the specified behaviors are.sticky is now supported on appropriate HTML table parts (e.g., {{htmlelement("th")}} elements) (Firefox bug 975644).rgb(), rgba(), hsl(), and hsla() (Firefox bug 984021).No changes.
No changes.
null value for its body parameter, as per spec (Firefox bug 1303025).Response.url will be used to resolve any relative {{cssxref("@import")}} or {{domxref("WorkerGlobalScope.importScripts()","importScripts()")}} subresource loads (Firefox bug 1222008).FetchEvent.respondWith() will now trigger a network error if the {{domxref("Request.mode","FetchEvent.request.mode")}} is "same-origin" and the provided {{domxref("Response.type")}} is "cors". (Firefox bug 1222008)The {{domxref("MediaStreamTrack")}} property {{domxref("MediaStreamTrack.muted")}}, along with the events {{domxref("MediaStreamTrack.mute_event", "mute")}} and {{domxref("MediaStreamTrack.unmute_event", "unmute")}} and the corresponding event handlers, {{domxref("MediaStreamTrack.mute_event", "onmute")}} and {{domxref("MediaStreamTrack.unmute_event", "onunmute")}}, have been implemented. A track's muted state indicates that the track is not currently able to provide media data.
[!NOTE] The
mutedstate of a track isn't useful for what's typically thought of as muting and unmuting a track. Instead, use the {{domxref("MediaStreamTrack.enabled", "enabled")}} property; settingenabledtofalsecauses the track to output only empty frames.
Firefox 59 on Android now supports Apple's HTTPS Live Streaming (HLS) protocol for both audio and video. This non-standard protocol is being supported on mobile to improve compatibility with sites that require it for mobile streaming. There is not currently any plan to implement it on Firefox Desktop.
The {{domxref("RTCRtpReceiver")}} methods {{domxref("RTCRtpReceiver.getContributingSources", "getContributingSources()")}} and {{domxref("RTCRtpReceiver.getSynchronizationSources", "getSynchronizationSources()")}} have been implemented to provide information about the sources of each RTP stream. However, a specification change occurred before release and we have disabled these by default behind the preference media.peerconnection.rtpsourcesapi.enable (Firefox bug 1363667, Firefox bug 1430213, and Firefox bug 1433236.
The {{domxref("RTCRtpTransceiver")}} interface has now been implemented, since the Firefox implementation of WebRTC now supports transceivers, with RTCPeerConnection and other interfaces updated to use them per the latest specification.
The {{domxref("RTCPeerConnection.addTransceiver()")}} method has been added. In addition, the behavior of {{domxref("RTCPeerConnection.addTrack", "addTrack()")}} has been updated to create a transceiver as required.
Support for WebVTT regions was implemented in Firefox 58 but disabled by default. They're now available by default (Firefox bug 1415805).
Firefox now supports WebVTT REGION definition blocks whose settings list has one setting per line instead of all of the settings being on the same line of the WebVTT file (Firefox bug 1415821.
No changes.
The {{domxref("CSSNamespaceRule")}} interface and its namespaceURL and prefix properties have been implemented (Firefox bug 1326514).
No changes.
data: URLs has been blocked Firefox bug 1401895. See Blocking Top-Level Navigations to data URLs for Firefox 59 for more details.SAMEORIGIN directive of the {{httpheader("X-Frame-Options")}} header has been changed so that it checks not only the top-level IFrame is in the same origin, but all its ancestors as well (Firefox bug 725490).utf-8 encoding for usernames and passwords (rather than ISO-8859-1) for parity with other browsers, and to avoid potential problems as described in Firefox bug 1419658..app and .dev. While they are new TLDs developers might have used them for local development and be surprised by this change. Note that reserved TLDs should be used for local development instead.No changes.
No changes.
The non-standard version parameter of the {{htmlelement("script")}} element's type attribute (e.g., type="application/javascript;version=1.8") has been removed (Firefox bug 1428745).
mozmm {{cssxref("<length>")}} unit has been removed (Firefox bug 1416564).-moz-border-top-colors, -moz-border-right-colors, -moz-border-bottom-colors, and -moz-border-left-colors properties have been limited to usage in chrome code only (Firefox bug 1417200).Event.getPreventDefault() has been removed. You should instead use the {{domxref("Event.defaultPrevented")}} property to determine whether or not {{domxref("Event.preventDefault", "preventDefault()")}} was called on the {{domxref("Event")}}.Navigator.mozNotification property and DesktopNotification interface have been removed, in favor of the standard Notifications API (Firefox bug 952453).window.external.addSearchEngine() method has been removed (Firefox bug 862147). Also see {{domxref("Window.external")}} for more details.mozAutoplayEnabled has been removed.Support for SMIL's accessKey feature has been removed (Firefox bug 1423098).
Support for the non-standard pcast: and feed: protocols has been removed from Firefox (Firefox bug 1420622).
Theme updates:
colors.background_tab_text, colors.toolbar_field_borderNew browser settings:
New tabs APIs:
The contextMenus API now supports a "bookmark" context.
New contentScripts API enables runtime registration of content scripts.
New pageAction, browserAction, SidebarAction APIs:
browserAction/pageAction/sidebarAction.set* functions now accept null to undo changes.browserAction.isEnabled(), pageAction.isShown(), sidebarAction.isOpen() functions.New option in page_action to show page actions by default.
New values for protocol_handlers:
New privacy.websites setting "cookieConfig".
Support in cookies API for first-party isolation.
New option upgradeToSecure in webRequest.