files/en-us/mozilla/firefox/releases/40/index.md
To test the latest developer features of Firefox, install Firefox Developer Edition Firefox 40 was released on August 11, 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.
Highlights:
More:
Everything: all devtools bugs fixed between Firefox 39 and Firefox 40.
-moz-) for {{cssxref("text-decoration-color")}}, {{cssxref("text-decoration-line")}}, and {{cssxref("text-decoration-style")}} have been removed (Firefox bug 1097922).match-parent value (Firefox bug 645642).show, like in standard mode (Firefox bug 1020400).auto has been dropped and the values inline and block added, with inline being the new default value (Firefox bug 1028716).0 is treated as a multiplier (leading to a 0 height for the font, hence hiding it) instead of the none value (leading to no adjustment, or a 1.0 value) (Firefox bug 1144885).No change.
String.prototype.contains now throws a {{jsxref("TypeError")}} (Firefox bug 1054755).constructor property equals to {{jsxref("RegExp")}} function. (Firefox bug 1147817).for...in loops are now ignored and will present a warning in the console. (Firefox bug 748550 and Firefox bug 1164741).\u{xxxxxx} Unicode code point escapes have been added (Firefox bug 320500).String.prototype.contains has been replaced with {{jsxref("String.prototype.includes")}}, String.prototype.contains is kept as an alias (Firefox bug 1102219).get trap were not working properly, has been fixed. If the get trap in a {{jsxref("Proxy")}} was not defined, {{jsxref("Array.length")}} returned 0 and the set trap didn't get called. A workaround was to add the get trap even if was not necessary in your code. This issue has been fixed now (Firefox bug 895223).WeakMap.prototype and WeakSet.prototype have been updated to be just ordinary objects, per ES2015 specification (Firefox bug 1055473).services.push.enabled pref, it is disabled by default.Improvement in our experimental Web Animations implementation, mostly to match latest spec changes:
Animatable.getAnimationPlayers(), available on {{domxref("Element")}} has been renamed to {{domxref("Element.getAnimations()")}} (Firefox bug 1145246).Animation and AnimationEffect have been merged into the newly created KeyframeEffectReadOnly (Firefox bug 1153734).AnimationPlayer has been renamed to {{domxref("Animation")}} (Firefox bug 1154615).CSSCharsetRule interface has been removed and such objects are no longer available in CSSOM (Firefox bug 1148694). This matches the spec (recently adapted) and Chrome behavior.srcset, the {{domxref("HTMLImageElement.currentSrc")}} method doesn't return null anymore but "", as requested by the latest specification (Firefox bug 1139560).New extensions to the Web Audio API:
DataStore is now available in Web workers (Firefox bug 916196).No change.
No change.
No change.
No change.
*) in a {{Glossary("CSP")}} does not include the schemes data:, blob: or :filesystem anymore when matching source expressions. So those schemes now need to be explicitly defined within the related header to match the CSP (Firefox bug 1086999).nsIClassInfo.implementationLanguage attribute has been removed, along with the nsClassInfo::GetImplementationLanguage() function.nsIDOMHTMLBRElementnsIDOMDivElementnsIDOMHTMLHeadingElementnsIDOMHTMLTableCaptionElementnsIDOMHTMLTableElementnsIDOMHTMLTitleElement