Back to Content

Firefox 46 release notes for developers

files/en-us/mozilla/firefox/releases/46/index.md

latest11.7 KB
Original Source

To test the latest developer features of Firefox, install Firefox Developer Edition. Firefox 46 was released on April 26, 2016. This article lists key changes that are useful not only for web developers, but also Firefox and Gecko developers as well as add-on developers.

Changes for web developers

Developer Tools

Highlights:

All devtools bugs fixed between Firefox 45 and Firefox 46.

HTML

  • When faced with an invalid type value, {{HTMLElement("ul")}} no longer maps to decimal, but now behaves as if no type value were specified (Firefox bug 241719).
  • The attribute pattern on {{HTMLElement("input")}} is now treated as {{jsxref("RegExp", "a regular expression", "", 1)}} with "u" (unicode) flag (Firefox bug 1227906).

CSS

  • Our implementation of CSS Grids has been updated:

    • The keywords auto-fill and auto-fit are now allowed in the repeat() function (Firefox bug 1118820).
    • The true value has been renamed to unsafe; this affects the properties {{cssxref("justify-content")}}, {{cssxref("align-content")}}, {{cssxref("justify-self")}}, {{cssxref("align-self")}}, {{cssxref("justify-items")}} and {{cssxref("align-items")}} (Firefox bug 1230478).
  • The properties {{cssxref("text-emphasis")}}, {{cssxref("text-emphasis-style")}}, {{cssxref("text-emphasis-color")}} and {{cssxref("text-emphasis-position")}} are now enabled by default (Firefox bug 1231485).

  • Gecko now accepts the -webkit- prefixed version of some properties; it requires to switch layout.css.prefixes.webkit to true (Firefox bug 1213126).

  • The experimental support of the {{cssxref("@font-face/font-display", "font-display")}} descriptor (of {{cssxref("@font-face")}}; it requires to switch layout.css.font-display.enabled to true (Firefox bug 1157064).

  • Added support for @media (-webkit-transform-3d) as a media query for 3D transform support, if about:config pref layout.css.prefixes.webkit is set to true (Firefox bug 1239799).

  • {{cssxref("gradient/linear-gradient", "linear-gradient()")}} support for the omission of 0deg units (Firefox bug 1239153).

  • Added -webkit-filter for web compatibility, behind the preference layout.css.prefixes.webkit, defaulting to false (Firefox bug 1236506).

  • [css-align] "unsafe start" (formerly "true start") should serialize to "start" etc (Firefox bug 1230398).

JavaScript

Interfaces/APIs/DOM

DOM & HTML DOM

  • The deprecated Window.showModalDialog() method is no more available when Firefox runs in multi-process mode (e10s) (Firefox bug 1234700).
  • Added support for {{domxref("Document.elementsFromPoint()")}} (Firefox bug 1164427).
  • When a non-existent option of a {{HTMLElement("select")}} element is programmatically selected, instead of being incorrectly left unchanged, the selectedIndex value is now set to -1, the selectedOptions to an empty {{domxref("HTMLCollection")}}, and value to an empty string (Firefox bug 1203668).

Canvas

  • The remaining parts of the experimental {{domxref("OffscreenCanvas")}} API has been implemented; new features: {{domxref("OffscreenCanvas.OffscreenCanvas", "OffscreenCanvas()")}} constructor, OffscreenCanvas.toBlob(), and {{domxref("OffscreenCanvas.transferToImageBitmap()")}}. To use this experimental API set gfx.offscreencanvas.enabled to true in about:config (Firefox bug 1172796).
  • The {{domxref("ImageBitmap.close()")}} method is now supported (Firefox bug 1172796).
  • A new {{domxref("ImageBitmapRenderingContext")}} rendering context is now implemented. Use "bitmaprenderer" with {{domxref("OffscreenCanvas.getContext()")}} or {{domxref("HTMLCanvasElement.getContext()")}} to obtain this context. (Firefox bug 1172796).

WebGL

  • The {{domxref("WEBGL_compressed_texture_etc")}} extension has been implemented, allowing the use of ETC2 compressed texture formats (Firefox bug 917505). To use this extension, set the preference webgl.enable-draft-extensions to true in about:config.

IndexedDB

No change.

Service Workers

  • {{domxref("FetchEvent.request")}} is now non-nullable (see Firefox bug 1238213.)
  • {{domxref("Navigator.serviceWorker")}} has now been marked as SameObject (see Firefox bug 1238205.)
  • {{domxref("ExtendableMessageEvent.ports")}} has now been marked as SameObject (see Firefox bug 1238225.)

Fetch

  • {{domxref("Request.mode")}} now has a new value available, navigate, for supporting requests generated while navigating between documents (see Firefox bug 1209081.)

WebRTC

  • The {{domxref("RTCPeerConnection.createOffer()")}} method now supports the VP9 video codec, although this is disabled by default. To enable it, set the preference media.peerconnection.video.vp9_enabled to true in about:config. When enabled, VP9 is the preferred codec; previously VP8 was preferred (Firefox bug 1242324).
  • The method {{domxref("RTCRtpSender.setParameters()")}} has been added to allow changing the values of parameters after the {{domxref("RTCRtpSender")}} was initially created.

New APIs

  • In SVG, the {{domxref("SVGStyleElement")}} interface now implements the LinkStyle mixin ) Firefox bug 1239128.

Miscellaneous

  • The asynchronous {{domxref("FileReader")}} is now available in Web workers (Firefox bug 901097).

  • Our experimental implementation of Web Animations API has been updated:

    • The AnimationEffectTimingReadOnly dictionary and {{domxref("AnimationEffect/getTiming", "AnimationEffectReadOnly.timing")}} have been implemented (Firefox bug 1214536).
  • The Permissions API has now been enabled by default, for all release versions, not just Nightly as it previously was (Firefox bug 1221106.)

  • Sanitization of WOFF fonts has been loosened a bit (Firefox bug 1244693).

MathML

No change.

SVG

No change.

Audio/Video

No change.

HTTP

No change.

Networking

  • Support of {{rfc(7686)}} has been added: by default there is no attempt to resolve domain with the TLD .onion. This is controlled by the preference network.dns.blockDotOnion. Add-ons supporting Tor can swap this pref. (Firefox bug 1228457)

Security

No change.

Changes for add-on and Mozilla developers

Interfaces

No change.

XUL

No change.

JavaScript code modules

No change.

XPCOM

No change.

Other

No change.