Firefox 19 was released on . While it has been developed to maintain compatibility as much as possible, the new version includes some changes affecting backward compatibility aimed at improving interoperability with the other browsers or following the latest Web standards. Here's the list of such changes — Hope this helps whenever you test your sites or applications.
This article only explains the changes that may affect backward compatibility for Websites. For the other new features and changes, please read the following documents:
- Firefox 19 Release Notes
- Firefox 19 for developers
- Add-on Compatibility for Firefox 19 (Add-ons Blog)
Follow @FxSiteCompat on Twitter for further updates.
The flexbox has been unprefixed
The CSS3 flexible boxes (flexbox) implementation has been prefixed. From now on, use the related properties and keywords without
moz prefix. Note that the flexbox is still disabled by default in Firefox 19. If you'd like to test the feature, open
about:config and change the value of
-moz-initial has been unprefixed
:-moz-placeholder pseudo-class has been replaced with the pseudo-element
:-moz-placeholder pseudo-class that matches form elements with the
placeholder attribute has been removed, and the
::-moz-placeholder pseudo-element has been added instead. The implementation of WebKit has been a pseudo-element, and this change is a part of the standardization effort.
Key frame rule declarations with
!important will be ignored
Following the latest CSS3 animations spec, key frame rule declarations with the
!important keyword are now be ignored and parse errors will be returned.
Regression: background images specified with
-moz-element are not updated
CSS background images specified with the
-moz-element function are not updated when the
background-image of the source element is dynamically changed. This is a regression since Firefox 19, which has been fixed with Firefox 26.
FYI: Preferences to disable prefixed properties have been added
While this is not a change affecting site compatibility, it's worth mentioning because this has been developed as part of efforts to keep compatibility. Preferences to disable some major prefixed properties have been added:
layout.css.prefixes.animations. Web developers can disable those preferences (change the values to
false) to test whether style rules are applied as intended even after those prefixed implementations are removed. See the David Baron's blog post for details.
Element.getElementsBy* now returns
The type of element lists that can be retrieved with the
getElementsByClassName methods have been changed from
NodeList, defined in the DOM3 Core spec, to
HTMLCollection, defined in the DOM4 spec draft.
isSupported methods now always return
Node.isSupported methods have been changed to always return
true. The spec has been changed because those APIs were considered useless. However the SVG features are exception; those methods continue to return the support statuses.
createElement(null) no longer throws exceptions
document.createElement method has thrown exception
INVALID_CHARACTER_ERR if the argument was
null. The method now returns the
HTMLUnknownElement object because the argument should be treated as a string and considered to be the same code as
The implementation of
document.referrer has been updated for the latest spec
When the URL of a nested inline frame (
<iframe>) or a grandchild window is programmatically changed from the parent window, the value of the
document.referrer property now points the URL of the parent window where the script is written instead of the child window that refers directly. This is due to a change of the spec and leads to the same behavior as Internet Explorer and Opera. WebKit to follow.
File.lastModifiedDate now returns the current date if the modified date is unknown
The Encoding API has been updated for the latest spec
XForms support has been removed
The XML Events implementation has been removed. The development of the Mozilla XForms extension that has used the API has been practically discontinued. The XForms accessibility support has also been removed from Firefox 19.
Set.size have been changed to properties
Some event attributes are now limited to
- Bug 809765 – Stop compiling the beforeunload attribute into an event handler on elements other than <body> and <frameset>
onbeforeunload attribute has been recognized even if it has been set on any elements, and the named handler is called when the event is fired. To comply with the spec, it's now ignored when it has been set on elements other than
<frameset>. The other attributes treated the same include
name parameter is no longer supported
name parameter included in the HTTP
Content-Disposition header used for file downloading is now ignored. This parameter is non-standard and supported only by Firefox and Google Chrome. From now, use the standard
filename parameter instead.
Carbon NPAPI Support has been dropped
The Carbon event model and the Quickdraw drawing model, deprecated since Firefox 4, are no longer available. Webmasters should make sure your content works well if it requires any special plug-in. If it doesn't work on Firefox 19, please contact the plug-in vendor.