Path: blob/main/files/en-us/mozilla/firefox/releases/34/index.md
6581 views
------{{FirefoxSidebar}}
Firefox 34 was released on December 1st, 2014. 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:
Storage Inspector: a new tool enabling you to view data stored by web pages
Performance tool: revamped Profiler UI and frame rate timeline
Frame switching: point the developer tools at a specific iframe in the page
All devtools bugs fixed between Firefox 33 and Firefox 34.
CSS
Our experimental implementation of CSS Fonts Level 3 progresses. Newly implemented features are:
the fallback algorithm of {{cssxref("font-variant-position")}}, creating synthetic alternates for missing glyphs, based on the subscript and superscript metrics supplied by the font (Firefox bug 1024804).
The
layout.css.font-features.enabledpreference has been removed, meaning the following properties have been activated by default:The CSS Font Level 3 version of {{cssxref("font-variant")}} which is now a shorthand property.
The longhand properties {{cssxref("font-variant-caps")}}, {{cssxref("font-variant-numeric")}}, {{cssxref("font-variant-position")}}, {{cssxref("font-variant-east-asian")}}, {{cssxref("font-variant-ligatures")}}, and {{cssxref("font-variant-alternates")}}.
The properties {{cssxref("font-kerning")}} and {{cssxref("font-synthesis")}}
The properties {{cssxref("font-feature-settings")}} and {{cssxref("font-language-override")}} are unprefixed. The prefixed version are still available for some time to ease transition.
The value
autohas been added to {{cssxref("min-width")}} and {{cssxref("min-height")}} with a different behavior than the last time (Firefox bug 984711 and Firefox bug 1015474).An experimental implementation, disabled by default, of the filter functional values of the {{cssxref("filter")}} property have been implemented. It is controlled by the
layout.css.filters.enabledpref (Firefox bug 948265).Fixed starting of CSS transitions that start together with changes to {{cssxref("display")}}, {{cssxref("position")}}, {{cssxref("overflow")}}, and similar properties (Firefox bug 625289)
HTML
No change.
JavaScript
The ES2015 syntax for computed property names on object literals has been implemented (Firefox bug 924688).
This includes getter and setter method names as well (Firefox bug 1048384) and can also be used with destructuring.
The ES2015 shorthand syntax for defining methods on objects has been implemented (Firefox bug 924672).
The ES2015
Objectmethod {{jsxref("Object.assign", "Object.assign()")}} has been implemented (Firefox bug 937855).ES2015 template strings and the {{jsxref("String.raw()")}} method are now supported (Firefox bug 1038259, Firefox bug 1039774).
A new ES2015 object {{jsxref("WeakSet")}} has been added (Firefox bug 792439).
ES2015 Symbols (only available in the Nightly channel) have been updated to conform with recent specification changes (Firefox bug 1042602):
When trying to convert a symbol to a number, a
TypeErrorwill be thrown now.When using loose equality,
Object(sym) == symreturnstruenow.
The experimental {{jsxref("TypedArray.prototype.move()")}} method (only available in former Nightly and Aurora channels) has been replaced with the now implemented standard ES2015 {{jsxref("TypedArray.prototype.copyWithin()")}} method (Firefox bug 1021379).
In strict mode, setting a duplicate property name in object literals will no longer throw a
SyntaxErroras per ES2015 specification (Firefox bug 1041128).In regular expressions (including
String.replace), the matched text for a capturing group is nowundefinedinstead of the empty string when that capturing group didn't get consulted because quantifiers prevented its exercise (see Firefox bug 369778 and this example code). Note that due to web compatibility, RegExp.$N will still return an empty string (Firefox bug 1053944).The ES2015 spread operator is now supported in destructuring (Firefox bug 933276).
Destructuring now uses iterator protocol instead of array-like protocol (Firefox bug 933276).
{{jsxref("Proxy.revocable()")}} has been implemented (Firefox bug 978279).
Interfaces/APIs/DOM
The {{domxref("Element.matches()")}} method has been added; it does what the non-standard
mozMatchesSelector()was doing (Firefox bug 886308).The {{domxref("Performance.now()")}} method is now available to Web workers (Firefox bug 908390).
The non-standard interface
MozNamedAttrMaphas been renamed to the standard {{domxref("NamedNodeMap")}} and {{domxref("Element.attributes")}} has been adapted to use it (Firefox bug 1055467).The {{domxref("Path2D.addPath()")}} method has been added (Firefox bug 985801).
The non-standard Device Storage API is now also enabled for privileged apps installed on Android (Firefox bug 886627).
Web Crypto API has been enabled by default (Firefox bug 1074001).
The {{domxref("MediaStreamTrack.stop()")}} method has been added (Firefox bug 1057955).
Our experimental implementation of EME continues. The {{domxref("MediaKeySession.getUsableKeyIds()")}} method has been added (Firefox bug 1057171).
Regarding WebRTC:
an experiment implementation of {{domxref("RTPSender")}} and {{domxref("RTPReceiver")}} working with {{domxref("RTCPeerConnection")}} has landed (Firefox bug 1032835).
application window sharing has been added to {{domxref("Navigation.getUserMedia()")}} (Firefox bug 1036653) and {{domxref("MediaTrackConstraintSet")}} now supports
browserWindowandscrollWithPageallowing to chose the tab of a window that has to be shared without showing the tab chooser dialog (Firefox bug 1041700)."browser"is now an accepted value of MediaSourceEnum, used to define constraints (Firefox bug 1041493).
For Web Components, event retargeting is now implemented (Firefox bug 887541).
The {{domxref("Headers")}} interface has been implemented (Firefox bug 1029620). It is controlled by the
dom.fetch.enabledpreference which is set tofalseby default.Regarding our experimental implementation of Web Animations, the {{domxref("AnimationEffect")}} interface has been added, with the single {{domxref("AnimationEffect.name")}} property (Firefox bug 1045993). Web Animations is not activated by default and is controlled by the
dom.animations-api.core.enabledpreference.CSSOM View smooth scrolling methods have been added: {{domxref("Window.scroll()")}}, {{domxref("Window.scrollTo()")}}, and {{domxref("Window.scrollBy()")}} (Firefox bug 1022818).
The non-standard
MozSmsSegmentInfois no more visible on the global object Firefox bug 916607.
MathML
No change.
SVG
No change.
Audio/Video
No change.
Security and Networking
SSLv3 is now disabled by default (Firefox bug 1030963).
A warning is sent to the console when a Web site use the CSS
reflected-xssdirective (Firefox bug 1045902).
Changes for add-on and Mozilla developers
localstore.rdf has been removed (Firefox bug 559505).
Add-on SDK
Highlights
New API: dev/panel enables you to extend the Firefox Developer Tools.
jpm beta released.
"./my-file"introduced everywhere as an alias forrequire("sdk/self").data.url("my-file")Added the ability to attach stylesheets to individual tabs.
Details
GitHub commits made between Firefox 33 and Firefox 34. This will not include any uplifts made after this release entered Aurora.
Bugs fixed between Firefox 33 and Firefox 34. This will not include any uplifts made after this release entered Aurora.
Older versions
{{Firefox_for_developers('33')}}