To test the latest developer features of Firefox,
install Firefox Developer Edition
{{ ReleaseChannelInfo("44", "44", "January 2016", "Beta") }}
Изменения, для Веб разработчиков
Инструменты разработчика
- Added keyboard shortcut S to scroll the selected node into view in the HTML pane of the Page Inspector ({{bug(1203147)}}).
HTML
<link rel="prefetch">
now obeys the {{htmlattrxref("crossorigin", "link")}} attribute ({{bug(1214819)}}).
CSS
position:
fixed;
now always creates a new stacking context ({{bug(1179288)}}).- The support of {{cssxref('unicode-range')}} has been enabled by default ({{bug(1119062)}}).
- Our experimental implementation of CSS Writing Modes has been updated to reflect the latest specification:
- The value
sideways
of the {{cssxref("text-orientation")}} property has been implemented andsideways-right
has been made an alias of it ({{bug(1193488)}}). - The value
sideways-rl
andsideways-lr
of the {{cssxref("writing-mode")}} property ({{bug(1193488)}} and {{bug(1193519)}}).
- The value
- The non-standard properties {{cssxref("-moz-math-display")}} and {{cssxref("-moz-window-shadow")}} are no more available from Web content ({{bug(1207002)}}, {{bug(1211040)}}, and {{bug(1212607)}}).
- The {{cssxref("font-style")}} property now distinguishes between
oblique
anditalic
when both variants are available ({{bug(543715)}}). - Though not supported, the properties {{cssxref("marks")}}, {{cssxref("orphans")}}, {{cssxref("page")}}, {{cssxref("size")}}, and {{cssxref("widows")}}, were parsed and {{cssxref("@supports")}} was incorrectly reporting them as supported; this has been fixed and the properties are not parsed anymore, nor marked as supported ({{bug(1215702)}}).
- The internal value
-moz-mac-unified-toolbar
has been removed from the possible values for the {{cssxref("-moz-appearance")}} property ({{bug(1206468)}}). - The {{cssxref("font-style")}} property now makes the distinction between
oblique
anditalic
: if both faces are present the correct one is now selected ({{bug(543715)}}).
JavaScript
New APIs
- {{jsxref("Symbol.toPrimitive")}}, {{jsxref("Symbol.prototype.@@toPrimitive", "Symbol.prototype[@@toPrimitive]")}}, and {{jsxref("Date.prototype.@@toPrimitive", "Date.prototype[@@toPrimitive]")}} have been implemented ({{bug(1054756)}}).
Changes
- The
let
andconst
bindings in the global level have been made compliant with ES2015 semantics. See {{bug(589199)}} and the blog post "Breaking changes in let and const in Firefox Nightly 44". In addition,let
is now available to default Web JavaScript (strict and non-strict) and does not require a version opt-in anymore ({{bug(932517)}}). - If typed arrays' (like {{jsxref("Int8Array", "Int8Array")}}) and {{jsxref("ArrayBuffer", "ArrayBuffer")}}) constructors are called as a function without the {{jsxref("Operators/new", "new")}} operator, a {{jsxref("TypeError")}} is now thrown as per the ES6 specification ({{bug(980945)}}, {{bug(1214936)}}).
- The {{jsxref("RegExp")}} sticky flag now follows the ES2015 standard for anchored sticky regular expressions ({{bug(773687)}}).
- The JavaScript shell (SpiderMonkey's REPL) now defaults to the default, Web-compatible JS version (and not JS1.7+ anymore) ({{bug(1192329)}}).
Removals
- Support for the non-standard
let
blocks has been dropped ({{bug(1167029)}}. - The non-standard and deprecated property {{jsxref("Object.noSuchMethod", "Object.prototype.__noSuchMethod__")}} has been removed ({{bug(683218)}}).
Interfaces/APIs/DOM
DOM & HTML DOM
- For compatibility with specific existing sites, the property {{domxref("Document.charset")}} has been implemented as an alias of {{domxref("Document.characterSet")}} ({{bug(647621)}}).
- Support for the
window.sidebar.addSearchEngine()
method, which allowed Web pages to invoke an installation of a Sherlock plugin, has been dropped and now it just logs a warning in the Web Console ({{bug(862148)}}). - To fight unwanted pop-ups, prompts requested in {{domxref("Window.onbeforeunload")}} of pages that have not been interacted with are no more displayed ({{bug(636905)}}).
- The deprecated method {{domxref("MessageEvent.initMessageEvent()")}} has been reimplemented for backward compatibility ({{bug(949376)}}).
- The obsolete
DocumentType.internalSubset
has been removed ({{bug(801545)}}). - For compatibility with existing sites, the properties {{domxref("Window.orientation")}}, {{domxref("Window.onorientationchange")}}, as well as the {{event("orientationchange")}} event have been implemented ({{bug(920734)}}).
- Iframe with explicit fullscreen request should not exit fullscreen implicitly ({{bug(1187801)}}).
- The events {{event("mouseover")}}, {{event("mouseout")}}, {{event("mouseenter")}}, {{event("mouseleave")}}, {{event("pointermove")}}, {{event("pointerover")}}, {{event("pointerout")}}, {{event("pointerenter")}} and {{event("pointerleave")}} are now triggered for disabled form elements ({{bug(218093)}}).
- The method {{domxref("Element.webkitMatchesSelector()")}} has been added ({{bug(1216193)}}).
-
To match the spec, the method {{domxref("Document.createAttribute()")}} now lowercases the input ({{bug(1176313)}}).
WebGL
- Uniform Buffer Objects have been implemented ({{bug(1048747)}}).
IndexedDB
- The {{domxref("IDBIndex.getAll()")}} and {{domxref("IDBIndex.getAllKeys()")}} are now available by default ({{bug(1196841)}}).
Service Workers
- The {{domxref("ServiceWorkerMessageEvent")}} and {{domxref("ExtendableMessageEvent")}} interfaces have been implemented ({{bug(1143717)}} and {{bug(1207068)}}).
- {{domxref("Headers")}} objects now support a pair iterator, meaning that the methods {{domxref("Headers.entries()")}}, {{domxref("Headers.keys()")}}, and {{domxref("Headers.values()")}} are now available; {{jsxref("Symbol.iterator")}} now also returns the default iterator for them ({{bug(1108181)}}).
- The {{domxref('XMLHttpRequest')}} API has been disabled on Service Workers ({{bug(931243)}}).
- The interface {{domxref("FetchEvent")}} now extends {{domxref("ExtendableEvent")}}, giving it access to the {{domxref("ExtendableEvent.waitUntil()")}} method. ({{bug(1214772)}}).
- Following a recent change in the specification, {{domxref("FetchEvent.client")}} has been removed ({{bug(1218135)}}).
- To match the latest specification, the {{domxref("ServiceWorkerContainer.onreloadpage")}} has been removed ({{bug(1218139)}}).
- The event handlers {{domxref("ServiceWorkerGlobalScope.onbeforeevicted")}} and {{domxref("ServiceWorkerGlobalScope.onevicted")}} have been removed as they weren't following the spec. They will be reintroduced in the future, but their removal will allow feature detection to work as expected ({{bug(1218142)}}).
- In the {{domxref("FetchEvent.FetchEvent", "FetchEvent()")}} constructor, if the
isReload
member is not present in the options dictionary, it now defaults tofalse
({{bug(1216401)}}). - The {{domxref("Client.frameType")}} property is now implemented on the right interface; it was on {{domxref("WindowClient")}} before ({{bug(1218146)}}).
- When AppCache is used to provide offline support for a page, a warning message is now displayed in the console advising developers to use Service workers instead ({{bug("1204581")}}.)
- Service workers have been enabled by default in Gecko.
WebRTC
- WebRTC interfaces have been unprefixed ({{bug(1155923)}}). In particular:
mozRTCPeerConnection
is now {{domxref("RTCPeerConnection")}}.mozRTCIceCandidate
is now {{domxref("RTCIceCandidate")}}.mozRTCSessionDescription
is now {{domxref("RTCSessionDescription")}}.
- The {{domxref("RTCDataChannel.bufferedAmountLowThreshold")}} and {{domxref("RTCDataChannel.onbufferedamountlow")}} properties, as well as the {{event("bufferedamountlow")}} event, have been implemented ({{bug(1178091)}}).
- The attribute {{domxref("RTCPeerConnection.canTrickleIceCandidates")}} has been added, the non-standard method {{domxref("RTCPeerConnection.updateIce()")}} removed ({{bug(1209744)}}).
- The {{domxref("MediaStream")}} interface now supports the {{domxref("MediaStream.addTrack()")}} and {{domxref("MediaStream.removeTrack()")}} methods ({{bug(1103188)}}).
- The constructor {{domxref("MediaStream.MediaStream", "MediaStream()")}} has been implemented ({{bug(1070216)}}).
New APIs
- An experimental implementation of the Canvas API in Workers has landed: {{domxref("OfflineCanvas")}} and {{domxref("HTMLCanvasElement.transferControlToOffscreen()")}} are available behind the
gfx.offscreencanvas.enabled
preference, currently disabled by default ({{bug(709490)}}). - The Text2Speech API, part of Web Speech API, has now an OS X backend. But this is disabled by default ({{bug(1003452)}}).
Miscellaneous
- {{domxref("URLSearchParams")}} objects now support a pair iterator, meaning that the methods {{domxref("URLSearchParams.entries()")}}, {{domxref("URLSearchParams.keys()")}}, and {{domxref("URLSearchParams.values()")}} are now available; {{jsxref("Symbol.iterator")}} now also returns the default iterator for them ({{bug(1085284)}}).
- {{domxref("FormData")}} objects now support a pair iterator, meaning that the methods {{domxref("FormData.entries()")}}, {{domxref("FormData.keys")}}, and {{domxref("FormData.values()")}} are now available; {{jsxref("Symbol.iterator")}} now also returns the default iterator for them ({{bug(1127703)}}).
- When {{domxref("XMLHttpRequest.send()")}} is used with an HTML document, it now uses
text/html
instead ofapplication/xml
({{bug(918771)}}). - Speech synthesis (text-to-speech) has been implemented in Firefox Desktop for Mac and Linux, hidden behind the
media.webspeech.synth.enabled
flag inabout:config
({{bug("1003452")}}, {{bug("1003464")}}.) See Web Speech API for more information. - Elements inside a {{HTMLElement("frame")}} or an {{HTMLElement('object')}} can't be set full-screen anymore ({{bug(1212299)}}).
MathML
No change.
SVG
No change.
Audio/Video
No change.
HTTP
- Support for the Brotli algorithm has been added and both
Accept-Encoding
andContent-Encoding
headers now support thebr
value ({{bug(366559)}} and {{bug(1211916)}}). - Incorrect support of HTTP/2 headers containing line breaks (
'/n'
) have been removed as the spec doesn't allow it, unlike HTTP/1 ({{bug(1197847)}}).
Networking
No change.
Security
- RC4 is now also disabled by default on Beta and Release versions of the browser ({{bug(1201025)}}).
Changes for add-on and Mozilla developers
Interfaces
No change
XUL
No change.
JavaScript code modules
- Added
LIKE
support to Sqlite.jsm ({{bug(1188760)}}). - Added Snackbars.jsm module to Firefox for Android ({{bug(1215026)}})
XPCOM
No change.
Other
No change.
See also
Older versions
{{Firefox_for_developers(43)}}