Firefox 50 for developers

To test the latest developer features of Firefox, install Firefox Developer EditionFirefox 50 was released on November 15, 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






  • The allowReorder attribute has been dropped and the behavior it was setting is now the default for SVG <switch> elements (bug 1279690).
  • The defer keyword for the preserveAspectRatio attribute on SVG <image> elements has been removed to follow the latest SVG2 specification (bug 1280425).

Drag and Drop API

Pointer Lock API

  • The Pointer Lock API is now unprefixed (bug 991899).
  • Before Firefox 50, requestPointerLock() asked for permission using a doorhanger, and pointer lock would not be enabled until the user granted permission. From Firefox 50, pointer lock is like the fullscreen API: it's granted immediately, but a notification is displayed explaining to the user how to exit (bug 1273351).


Service Workers

  • The WindowClient.navigate() method has been implemented. This method lets you open a specified URL into a client window which is being controlled by the service worker (bug 1218148).



  • Adding a track to a MediaStream now generates the addtrack event as described in the specification. The event is of type MediaStreamTrackEvent and is fired on the stream to which the track was added. You can use either MediaStream.addEventListener('addtrack', ...) or the onaddtrack property to handle "addtrack" events.
  • The MediaStreamTrack interface now supports the ended event and its event handler.
  • Firefox now supports the MediaStreamTrack.readyState property, which indicates whether the track is live or permanently ended.
  • The MediaStreamTrack methods getConstraints() and getSettings() have been implemented; these let you get the most recently applied set of customized property constraints and the actual values of all of the track's constrainable properties, respectively. The accompanying data types have been documented as well.
  • The property has been removed. This was replaced with in Firefox 24, but was supported for backward compatibility. Please be sure to update your code to use the id property if you haven't done so yet.

Web Audio API


  • The AlignSetting enum (representing possible values for VTTCue.align) incorrectly previously included the value "middle" instead of "center". This has been corrected (bug 1276130).
  • The non-standard and experimental method HTMLMediaElement.seekToNextFrame() now seeks to the next frame in the media asynchronously, rather than synchronously, and returns a Promise which resolves once the seek is complete.
  • The implementation of HTMLTrackElement has been corrected to allow <track> elements to load resources even if not in a document (bug 871747).

Battery API

Files and directories

Older versions