Firefox 46 for developers
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
HTML
- When faced with an invalid
type
value,<ul>
no longer maps todecimal
, but now behaves as if notype
value were specified (Firefox bug 241719). - The attribute
pattern
on<input>
is now treated as a regular expression with"u"
(unicode) flag (Firefox bug 1227906).
CSS
- Our implementation of CSS Grids has been updated:
- The keywords
auto-fill
andauto-fit
are now allowed in therepeat()
function (Firefox bug 1118820). - The
true
value has been renamed tounsafe
; this affects the propertiesjustify-content
,align-content
,justify-self
,align-self
,justify-items
andalign-items
(Firefox bug 1230478).
- The keywords
- The properties
text-emphasis
,text-emphasis-style
,text-emphasis-color
andtext-emphasis-position
are now enabled by default (Firefox bug 1231485). - Gecko now accepts the
-webkit-
prefixed version of some properties; it requires to switchlayout.css.prefixes.webkit
totrue
(Firefox bug 1213126). - The experimental support of the
font-display
descriptor (of@font-face
; it requires to switchlayout.css.font-display.enabled
totrue
(Firefox bug 1157064). - Added support for
@media (-webkit-transform-3d)
as a media query for 3D transform support, if about:config preflayout.css.prefixes.webkit
is set totrue
(Firefox bug 1239799). linear-gradient()
support for the omission of0deg
units (Firefox bug 1239153).- Added
-webkit-filter
for web compatibility, behind the preferencelayout.css.prefixes.webkit
, defaulting tofalse
(Firefox bug 1236506). - [css-align] "unsafe start" (formerly "true start") should serialize to "start" etc (Firefox bug 1230398).
JavaScript
- The ES2015 RegExp unicode (u) flag has been implemented (Firefox bug 1135377).
- The ES2015 block-level functions have been implemented (Firefox bug 1071646).
- The ES2015
TypedArray.prototype.sort()
method has been implemented (Firefox bug 1121937). - The ES2015
arguments[@@iterator]
has been implemented (Firefox bug 1067049). - The experimental ECMAScript Shared Memory API has been implemented. See the
SharedArrayBuffer
andAtomics
objects. To use this experimental API setjavascript.options.shared_memory
totrue
in about:config. - Redeclaration of
let
andconst
variables now throws aSyntaxError
instead of aTypeError
as per the ECMAScript specification (Firefox bug 1198833). - In Strict mode, setting properties on primitive values will now throw a
TypeError
(Firefox bug 603201). - The non-standard
WeakMap.prototype.clear()
andWeakSet.prototype.clear()
methods have been removed (Firefox bug 1101817). - The non-standard, static
RegExp.multiline
property is now deprecated (Firefox bug 1220457). - Built-in accessor function names now have a "get" or "set" prefix (Firefox bug 1180290, Firefox bug 1235656).
- JS1.7/JS1.8 (legacy) array comprehensions and generator comprehensions have been removed (Firefox bug 1220564).
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
Document.elementsFromPoint()
(Firefox bug 1164427). - When a non-existent option of a
<select>
element is programmatically selected, instead of being incorrectly left unchanged, theselectedIndex
value is now set to-1
, theselectedOptions
to an emptyHTMLCollection
, andvalue
to an empty string (Firefox bug 1203668).
Canvas
- The remaining parts of the experimental
OffscreenCanvas
API has been implemented; new features:OffscreenCanvas()
constructor,OffscreenCanvas.toBlob()
, andOffscreenCanvas.transferToImageBitmap()
. To use this experimental API setgfx.offscreencanvas.enabled
totrue
in about:config (Firefox bug 1172796). - The
ImageBitmap.close()
method is now supported (Firefox bug 1172796). - A new
ImageBitmapRenderingContext
rendering context is now implemented. Use"bitmaprenderer"
withOffscreenCanvas.getContext()
orHTMLCanvasElement.getContext()
to obtain this context. (Firefox bug 1172796).
WebGL
- The
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 preferencewebgl.enable-draft-extensions
totrue
in about:config.
IndexedDB
No change.
Service Workers
FetchEvent.request
is now non-nullable (see Firefox bug 1238213.)Navigator.serviceWorker
has now been marked as SameObject (see Firefox bug 1238205.)ExtendableMessageEvent.ports
has now been marked as SameObject (see Firefox bug 1238225.)
Fetch
Request.mode
now has a new value available,navigate
, for supporting requests generated while navigating between documents (see Firefox bug 1209081.)
WebRTC
- The
RTCPeerConnection.createOffer()
method now supports the VP9 video codec, although this is disabled by default. To enable it, set the preferencemedia.peerconnection.video.vp9_enabled
totrue
inabout:config
. When enabled, VP9 is the preferred codec; previously VP8 was preferred (Firefox bug 1242324). - The method
RTCRtpSender.setParameters()
has been added to allow changing the values of parameters after theRTCRtpSender
was initially created.
New APIs
- In SVG, the
SVGStyleElement
interface now implements theLinkStyle
mixin ) Firefox bug 1239128.
Miscellaneous
- The asynchronous
FileReader
is now available in Web workers (Firefox bug 901097). - Our experimental implementation of Web Animations API has been updated:
- The
AnimationEffectTimingReadOnly
dictionary andAnimationEffectReadOnly.timing
have been implemented (Firefox bug 1214536).
- The
- 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 preferencenetwork.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.
Older versions
- Firefox 45 for developers
- Firefox 44 for developers
- Firefox 43 for developers
- Firefox 42 for developers
- Firefox 41 for developers
- Firefox 40 for developers
- Firefox 39 for developers
- Firefox 38 for developers
- Firefox 37 for developers
- Firefox 36 for developers
- Firefox 35 for developers
- Firefox 34 for developers
- Firefox 33 for developers
- Firefox 32 for developers
- Firefox 31 for developers
- Firefox 30 for developers
- Firefox 29 for developers
- Firefox 28 for developers
- Firefox 27 for developers
- Firefox 26 for developers
- Firefox 25 for developers
- Firefox 24 for developers
- Firefox 23 for developers
- Firefox 22 for developers
- Firefox 21 for developers
- Firefox 20 for developers
- Firefox 19 for developers
- Firefox 18 for developers
- Firefox 17 for developers
- Firefox 16 for developers
- Firefox 15 for developers