Firefox 19 for developers

Firefox 19 was released on February 19, 2013. 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

JavaScript

CSS

  • Support for the viewport-relative <length> units, vh, vw, vmin, and vmax, has landed (bug 503720)
  • CSS Flexbox has been unprefixed, but remains disabled by default (bug 801098).
  • The -moz-initial value has been unprefixed (bug 806068). -moz-initial will be kept for a while as an alias; however, authors are strongly encouraged to switch over to initial.
  • The CSS text-transform property now supports the full-width keyword, which allows a more seamless inclusion of Latin characters in text using ideographic fixed-width characters, like Chinese or Japanese (bug 774560).
  • The CSS page-break-inside has been implemented (bug 685012).
  • The CSS calc() function can now be used on <color-stop> (on <gradient>).
  • The CSS @page at-rule is now supported (bug 115199). Note that the pseudo-classes :first, :right, and :left are not yet implemented.
  • The :-moz-placeholder pseudo-class is replaced by the ::-moz-placeholder pseudo-element (bug 737786).
  • Declarations qualified with !important appearing in @keyframes are now ignored, per spec (bug 784466).

DOM/APIs

XForms

Support for XForms has been removed in Firefox 19.

Changes for add-on and Mozilla developers

Note: A key change in Firefox 19 is that nsresult is now strongly typed. This will help make it easier to detect bugs that are caused by mishandling of return values, but may cause existing code to break if it's making incorrect assumptions in this regard.

  • getBrowserSelection() now returns the selected text in a text input field. As a result, gContextMenu.isTextSelected will be true when the user selects text in a text input field that is not a password field. (bug 565717)
  • Dict.jsm: Dict() now takes a JSON String. Dict.toJSON() was added, and it returns a JSON String. (bug 727967)

Interface changes

nsIImgLoadingContent
The parameter (aObserver) of addObserver() method changes from imgIDecoderObserver to imgINotificationObserver. The notify() method of imgINotificationObserver is not scriptable, so you need to use createScriptedObserver() from imgITools.
nsIChannel
The property contentLength changed from long to int64_t.

See also

Older versions

Document Tags and Contributors

 Last updated by: Sebastianz,