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
Map
andSet
objects have changed from having asize()
method to asize
property (Firefox bug 807001)Map
andSet
objects also have a clear() method now. (Firefox bug 805003)
CSS
- Support for the viewport-relative
<length>
units,vh
,vw
,vmin
, andvmax
, has landed (Firefox bug 503720) - CSS Flexbox has been unprefixed, but remains disabled by default (Firefox bug 801098).
- The
-moz-initial
value has been unprefixed (Firefox bug 806068).-moz-initial
will be kept for a while as an alias; however, authors are strongly encouraged to switch over toinitial
. - The CSS
text-transform
property now supports thefull-width
keyword, which allows a more seamless inclusion of Latin characters in text using ideographic fixed-width characters, like Chinese or Japanese (Firefox bug 774560). - The CSS
page-break-inside
has been implemented (Firefox bug 685012). - The CSS
calc()
function can now be used on<color-stop>
(on<gradient>
). - The CSS
@page
at-rule is now supported (Firefox 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 (Firefox bug 737786). - Declarations qualified with
!important
appearing in@keyframes
are now ignored, per spec (Firefox bug 784466).
DOM/APIs
- The
Element.getElementsByTagName
,Element.getElementsByTagNameNS
andElement.getElementsByClassName
methods now return a liveHTMLCollection
(Firefox bug 799464). - The
File
mozLastModifiedDate
property has been implemented. (Firefox bug 793955) - The
File
lastModifiedDate property returns the current date, when the date of the last modification is unknown. (Firefox bug 793459 - The
CanvasRenderingContext2D
isPointInStroke
method has been implemented (Firefox bug 803124). - The
HTMLCanvasElement
toBlob
method has been implemented (Firefox bug 648610). - The
Node.isSupported
and thedocument.implementation.hasFeature()
methods have been changed to always returntrue
(Firefox bug 801425). - When calling
document.createElement(null)
,null
will now be stringified and works likedocument.createElement("null")
. - The
TextDecoder
andTextEncoder
interfaces have been updated to match the latest spec (Firefox bug 801487).
XForms
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 betrue
when the user selects text in a text input field that is not a password field. (Firefox bug 565717)- Dict.jsm:
Dict()
now takes a JSON String.Dict.toJSON()
was added, and it returns a JSON String. (Firefox bug 727967)
Interface changes
nsIImgLoadingContent
-
The parameter (aObserver) of
addObserver()
method changes fromimgIDecoderObserver
toimgINotificationObserver
. Thenotify()
method ofimgINotificationObserver
is not scriptable, so you need to usecreateScriptedObserver()
fromimgITools
. nsIChannel
-
The property
contentLength
changed fromlong
toint64_t
.
See also
Older versions
- Firefox 18 for developers
- Firefox 17 for developers
- Firefox 16 for developers
- Firefox 15 for developers
- Firefox 14 for developers
- Firefox 13 for developers
- Firefox 12 for developers
- Firefox 11 for developers
- Firefox 10 for developers
- Firefox 9 for developers
- Firefox 8 for developers
- Firefox 7 for developers
- Firefox 6 for developers
- Firefox 5 for developers
- Firefox 4 for developers
- Firefox 3.6 for developers
- Firefox 3.5 for developers
- Firefox 3 for developers
- Firefox 2 for developers
- Firefox 1.5 for developers