Your Search Results

    Site Compatibility for Firefox 31

    Firefox 31 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:

    Follow @FxSiteCompat on Twitter for further updates.


    <track> has been implemented

    The HTML5 <track> element and the HTMLTrackElement interface, that can be used to add WebVTT format subtitles to videos, are now enabled by default. If you have a polyfill for this feature, make sure it's compatible with this native support.


    The prefix of CSS variables has been changed

    Since CSS Variables was landed in Firefox 29 (disabled in the Beta and Release channels), the spec has been revised to change the prefix of custom properties from var- to --. CSS Variables are enabled with Firefox 31 in the all channels and this version follows the updated spec.

    The ::-moz-math-stretchy pseudo-element has been removed

    The support for the non-standard ::-moz-math-stretchy pseudo-element, which allowed authors to specify a font-family to use for stretchy operators, has been removed. A math font specified on a <math> element is now inherited to the child nodes.


    Global variables with the same name as window properties now call the property setter when they are set

    A typical impact of this change has been reported as Bug 943958. Code like var name = 1 no longer works as expected, instead name will return a string "1" because of the property. This will be the same behavior as WebKit and Blink. Web developers should always avoid using global variables with the same name as window properties.

    DataContainerEvent, BrowserFeedWriter, EventListenerInfo and XPathNamespace have been removed

    As part of the ongoing effort to standardize global objects, some interfaces have been removed from window. The standard CustomEvent interface should be used instead the Firefox-specific DataContainerEvent interface. BrowserFeedWriter was a Firefox-specific interface which should not be exposed to Web content. EventListenerInfo was also a non-standard interface which was not intended to be a global object. The XPathNamespace interface was part of the DOM3 XPath spec but has not been implemented.

    XMLHttpRequest.sendAsBinary has been deprecated

    The non-standard sendAsBinary method on the XMLHttpRequest interface is now considered deprecated and will be removed soon. The standard send(Blob) method can be used instead.

    Navigator.mozKeyboard, and its interface Keyboard, for Firefox OS, implemented since Firefox 16, has been removed. The removeFocus, setSelectedOption, setSelectedOptions and setValue methods have been moved to navigator.mozInputMethod.

    Unimplemented methods on window.crypto have been removed

    The disableRightClick, popChallengeResponse and random methods have been removed from window.crypto. Those were part of the non-standard Crypto API of Netscape 4 but not implemented in Gecko-based Netscape 6 and Firefox, just throwing a NS_ERROR_NOT_IMPLEMENTED exception. Note that the standardized window.crypto.getRandomValues method is available since Firefox 21 to get cryptographically random values.

    window.home, back, forward methods have been removed

    The non-standard, Netscape-derived window.home, window.back and window.forward methods have been removed. The standard history.back and history.forward methods can be used instead to manipulate the browser history.

    Network Information API has been disabled on desktop

    The Network Information API, implemented as navigator.mozConnection, has been disabled on the desktop versions of Firefox since it has been accidentally exposed. Currently the API only works on Firefox for Android and Firefox OS.


    Certificate verification backend has been overhauled

    The new certificate verification library called mozilla::pkix has been landed on Firefox 31. See Camilo Viecco's blog post for details. If you encountered any regressions, please report the issue to Bugzilla.


    Audio Data API has been removed

    The experimental, non-standard Audio Data API, which has been deprecated since Firefox 22 and disabled since Firefox 28, is now completely removed. The standardized Web Audio API should be used instead.

    Document Tags and Contributors

    Contributors to this page: phistuck, kohei.yoshino, teoli
    Last updated by: teoli,