Back to Content

Firefox 43 release notes for developers

files/en-us/mozilla/firefox/releases/43/index.md

latest11.5 KB
Original Source

To test the latest developer features of Firefox, install Firefox Developer Edition Firefox 43 was released on December 15, 2015. 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

Developer Tools

Highlights:

All devtools bugs fixed between Firefox 42 and Firefox 43.

CSS

  • Support for the standard, unprefixed version of {{Cssxref("hyphens")}} has been landed (Firefox bug 953408).
  • The shorthand property {{cssxref("font")}} has been updated to accept {{cssxref("font-stretch")}} values (Firefox bug 1057680).
  • To match the latest evolution of the specification, the {{cssxref(":fullscreen")}} pseudo-class now selects the whole stack of elements in full screen, and not only the top-level one (Firefox bug 1199522).
  • The deprecated SVG values for the {{cssxref("writing-mode")}}, lr, lr-tb, rl, tb, and tb-rl, have been added in CSS as aliases to standard properties (Firefox bug 1205787).

HTML

  • For {{htmlelement("img")}} with ICO image containing multiple frames, the intrinsic dimension of the image is set to the one of the largest frame, and no more of the smallest frame Firefox bug 1201796.
  • The value of the document's viewport (defined with <meta name="viewport>)can now dynamically be changed via JavaScript (Firefox bug 976616).

JavaScript

New APIs

  • The new ES2016 methods {{jsxref("Array.prototype.includes()")}} and {{jsxref("TypedArray.prototype.includes()")}} are now enabled by default (Firefox bug 1070767).

Changes regarding the arguments object

Other changes

Interfaces/APIs/DOM

DOM & HTML DOM

No change.

IndexedDB

  • A new feature called locale-aware sorting has been added allowing for the creation of indexes with a locale specified, which can then be used to sort data according to the rules of that locale (Firefox bug 871846). This is a non-standard Firefox-specific feature.

Service Workers

  • As per the specification, if {{domxref("ExtendableEvent.waitUntil()")}} is called outside of the {{domxref("ExtendableEvent")}} handler, Firefox will now throw an InvalidStateError; in addition, multiple calls to {{domxref("ExtendableEvent.waitUntil","waitUntil()")}} will now stack up, and the resulting promises will be added to the list of extend lifetime promises (Firefox bug 1180274).
  • {{domxref("PushMessageData")}} methods have been implemented (Firefox bug 1149195).

WebRTC

  • The {{domxref("HTMLCanvasElement.captureStream()")}} method has been activated by default (Firefox bug 1177276).
  • The non-standard constraint style option list for RTCOfferOptions has been deprecated and will be removed entirely in Firefox 44.

Miscellaneous

  • The Battery Status API now uses the new promise syntax for {{domxref("Navigator.getBattery()")}}, as specified in the recent evolution of the specification (Firefox bug 1050749).
  • The User-Agent header is no longer in the list of {{Glossary("Forbidden_request_header", "forbidden request headers")}} so it can now be set in a Fetch {{domxref("Headers")}} object, via XHR {{domxref("XMLHttpRequest.setRequestHeader()")}},… (Firefox bug 1188932).
  • The {{domxref("MediaRecorder.MediaRecorder", "MediaRecorder()")}} constructor can now accept an options dictionary as a parameter, which allows you to set custom bitrates for the audio/video to be recorded (Firefox bug 1161276).
  • The {{domxref("PerformanceObserver")}} interface, belonging to the Performance APIs has been implemented (Firefox bug 1165796).
  • The Frame Timing API has been added: the PerformanceRenderTiming and PerformanceCompositeTiming interfaces are now available (Firefox bug 1191178).
  • The modern Screen Orientation API has been implemented: unprefixed {{domxref("Screen.orientation")}} and the {{domxref("ScreenOrientation")}} interface are now available (Firefox bug 1131470). The non-standard Screen.mozOrientation, Screen.onmozorientationchange, Screen.mozLockOrientation(), and Screen.mozUnlockOrientation() will be removed in the future.
  • Under Linux, like under Windows, {{domxref("Event.timeStamp")}} now returns a {{domxref("DOMHighResTimeStamp")}} (Firefox bug 1026803).
  • Experimental support for {{domxref("Selection")}} events {{domxref("Document/selectionchange_event", "selectionchange")}} and {{domxref("Node/selectstart_event", "selectstart")}}, as well as the {{domxref("Document.selectionchange_event", "Document.onselectionchange")}} and {{domxref("Node/selectstart_event", "HTMLInputElement.onselectstart")}} event handlers property has been added (Firefox bug 571294). The selectionchange event is fired on the {{domxref("Document")}} if the associated Selection object is concerned, or on the specific {{domxref("HTMLInputElement")}} or {{domxref("HTMLTextAreaElement")}} (Firefox bug 1196479). This feature is controlled by the dom.select_events.enabled preference, which defaults to false, except on Nightly.
  • Support for {{domxref("MouseEvent.offsetX")}} and {{domxref("MouseEvent.offsetY")}} have been activated on Firefox for Android and Firefox OS (Firefox bug 1204841).
  • The HTMLCanvasElement.mozFetchAsStream() method has been removed (Firefox bug 1206030).
  • The constructor {{domxref("Request.Request", "Request()")}} as well as {{domxref("Window/fetch", "fetch()")}} will now raise a {{jsxref("TypeError")}} exception when used with a URL containing a username and password (Firefox bug 1195820).

MathML

No change.

SVG

No change.

Audio/Video

No change.

HTTP

No change.

Networking

No change.

Security

  • Access to Web Storage (i.e., localStorage and sessionStorage) from third-party IFrames is now denied if the user has disabled third-party cookies (Firefox bug 536509).
  • This whitelist has even been removed in Nightly and Aurora/Dev Edition of the browser (Firefox bug 1201023). It is currently scheduled that this removal will also happen for Beta and Release versions for the next version (Firefox 44).
  • Subresource integrity has been implemented for {{htmlelement("script")}} and {{htmlelement("link")}} that links to stylesheets (Firefox bug 992096).

Changes for add-on and Mozilla developers

Interfaces

No change.

XUL

No change.

JavaScript code modules

No change.

XPCOM

No change.

Plugins

  • In preparation for future releases to switch over to multi-process content, NPAPI plugins can no longer be run in the same process as the page content. The preferences starting with dom.ipc.plugins are no longer used.

Other

No change.