mozilla
Your Search Results

    Site Compatibility for Firefox 25

    Firefox 25 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.

    DOM

    DocumentTouch has been removed

    The DocumentTouch interface has been removed due to the removal from the spec. The createTouch and createTouchList methods have been moved to the Document interface.

    The non-standard ImageDocument interface, as well as the BoxObject, TreeColumn, TreeColumns, TreeContentView, TreeSelection, XULControllers, XULTemplateBuilder and XULTreeBuilder interfaces are no longer available from Web content.

    Various interfaces are no longer available on window

    The following interfaces, including some non-standard XUL-related classes, are no longer exposed on the window object: Contact, ContactManager, Counter, CryptoDialogs, CSSUnknownRule, DataErrorEvent, DocumentXBL, ElementCSSInlineStyle, EventListener, FontFace, FontFaceList, GeoGeolocation, GeoPosition, GeoPositionCallback, GeoPositionCoords, GeoPositionErrorCallback, GetUserMediaErrorCallback, GetUserMediaSuccessCallback, GlobalPropertyInitializer, HTMLByteRanges, JSWindow, LinkStyle, MediaQueryListListener, MozAlarmsManager, MozBrowserFrame, MozWakeLockListener, NSEditableElement, NSEvent, NSXPathExpression, Parser, PermissionSettings, Pkcs11, PushManager, RequestService, Serializer, StorageIndexedDB, StorageManager, ToString, WindowCollection, WindowInternal, WindowPerformance, XULContainerElement, XULContainerItemElement, XULDescriptionElement, XULImageElement, XULLabelElement, XULMenuListElement, XULMultiSelectControlElement, XULRelatedElement, XULSelectControlElement, XULSelectControlItemElement, XULTextBoxElement and XULTreeElement.

    Events in workers have been prefixed with Worker

    In order to make normal DOM events work in Web workers, the current events in workers including Event, MessageEvent, ErrorEvent and ProgressEvent have been renamed to WorkerEvent, WorkerMessageEvent, WorkerErrorEvent and WorkerProgressEvent. This change is temporary. Once the Firefox back-end implementation is fixed, those events will be unprefixed again.

    The geolocation property of the navigator object is now absent if the API is disabled

    The Geolocation API implementation has been updated to comply with the spec. If the feature is not available, window.navigator.geolocation will return undefined instead of null, and "geolocation" in navigator will be false instead of true previously.

    The following constants on the IDBRequest, IDBTransaction and IDBCursor interfaces have been removed due to the removal from the spec: IDBRequest.LOADING, IDBRequest.DONE, IDBTransaction.READ_ONLY, IDBTransaction.READ_WRITE, IDBTransaction.VERSION_CHANGE, IDBCursor.NEXT, IDBCursor.NEXT_NO_DUPLICATE, IDBCursor.PREV and IDBCursor.PREV_NO_DUPLICATE.

    JavaScript

    ES6 array methods have been added

    As part of ECMAScript 6 support, the Array.find, Array.findIndex and Array.of methods have been added. Array.from will also be added soon. This may break some JavaScript libraries which are extending Array.prototype with their own methods. For now, at least one library, Sugar, is known to be affected. Sugar users should update to the latest version to avoid this conflict.

    Proxy has been changed to be a function

    The Proxy interface has been changed from an object to a function, and now it's callable without the new operator. You may have to care about this if you are using the typeof operator for a feature detection, as typeof Proxy returns "function".

    yield without a value has been deprecated

    The yield operator now cannot be used without an operand (its value). This change has been made to comply with the ECMAScript 6 spec, and you'll see a warning in the Web Console if no value is specified in your code. You can just use yield undefined instead if there's no specific value to return.

    Event Handling

    preventDefault on keydown now cancels keypress

    Previously, calling preventDefault on a keydown event didn't cancel the following keypress event. It has been fixed to match the DOM Level 3 Events (D3E) spec as well as the behavior of other browsers.

    Video/Audio

    HTMLVideoElement.videoPlaybackQuality has been changed to a method

    The videoPlaybackQuality attribute on the HTMLVideoElement interface has been changed to the getVideoPlaybackQuality method to follow the latest spec.

    Document Tags and Contributors

    Contributors to this page: kscarfone, kohei.yoshino, Sheppy, dbruant
    Last updated by: Sheppy,