Firefox 27 for developers
Firefox 27 was released on February 4, 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
- Breakpoints can now be set on DOM events.
- JavaScript in the debugger panel can be unminified, using the { } button.
- The inspector now has an "edit-element-html" feature, without needing an add-on.
- Background-URLs and colors have preview in inspector. Even hovering over canvas elements will give a pop-up with an image preview.
- Reflow logging has been added.
- Styles of SVG elements are now inspectable (Webkit bug 921191).
- Failure to find the image when clicking URL link in CSS inspector has been fixed (Webkit bug 921686).
- The
X-SourceMap
header is now supported (Firefox bug 765993).
More details in this post.
CSS
- The
-moz-grab
and-moz-grabbing
keywords on the CSScursor
property have been unprefixed tograb
andgrabbing
(Firefox bug 880672). - Support for the
-moz-hsla()
and-moz-rgba()
functional notations has been dropped. Only the unprefixed versions,hsla()
andrgba()
are supported from now on (Firefox bug 893319). - The "
true
" value fortext-align
has been added (Firefox bug 929991). - Experimental support of
position:sticky
is now active by default on non-release builds (Firefox bug 902992). For releases builds, thelayout.css.sticky.enabled
preference still needs to be set totrue
. - The
all
shorthand property has been added (Firefox bug 842329). - The
unset
global value has been added; it allows to reset any CSS property (Firefox bug 921731). - Curly brackets are no longer allowed in HTML
style
attributes: doing<div style="{ display: none }">
was working in quirks mode, but won't anymore Firefox bug 915053. - The
overflow
property now works on<fieldset>
(Firefox bug 261037).
HTML
- The
color
value of the<input>
type
attribute has been implemented on desktop platforms. It was already available on mobile ones. - The
allow-popups
directive is now supported with thesandbox
attribute of the<iframe>
element (Firefox bug 766282). - Blending of HTML elements using the
mix-blend-mode
property has been implemented. Thelayout.css.mix-blend-mode.enabled
preference must be set totrue
(Firefox bug 902525). - The
typeMustMatch
property of the<object>
element is now supported (Firefox bug 827160).
JavaScript
ECMAScript 2015 implementation continues!
- The spread operator is now supported in Function calls (Firefox bug 762363).
- The mathematical function
Math.hypot()
has been implemented (Firefox bug 896264). - The
yield*
expression is now implemented (Firefox bug 666396). - The
MapIterator
,SetIterator
andArrayIterator
objects now match the specification (Firefox bug 881226). - for...of loops now expect the ES2015 standard iterator protocol moving away from SpiderMonkey old iterator protocol using
StopIteration
. String.match
andString.replace
now resetRegExp.lastIndex
(Firefox bug 501739).
Interfaces/APIs/DOM
- Support for the two
setRange()
methods on theHTMLInputElement
interface has been added (Firefox bug 850364). - Support for the two
setRange()
methods on theHTMLTextAreaElement
interface has been added (Firefox bug 918940). - The methods
getAllKeys()
andopenKeyCursor()
have been added toIDBObjectStore
(Firefox bug 920633 and Firefox bug 920800). - The
HTMLFormControlsCollection
interface has been implemented (Firefox bug 913920). - The
CanvasRenderingContext2D
interface now supports the two methodsgetLineDash()
andsetLineDash()
and thelineDashOffset
property (Firefox bug 768067). - The
typeMustMatch
attribute has been implemented on theHTMLObjectElement
interface (Firefox bug 827160). - The
copyFromChannel()
andcopyToChannel()
methods have been added toAudioBuffer
(Firefox bug 915524). Event.isTrusted()
is now unforgeable (Firefox bug 637248).- The WebRTC API's
RTCIceCandidate
object now includes atoJSON()
method to help with signaling and debugging (Firefox bug 928304). - The
Navigator.vibrate()
method has been adapted to match the final specification: It now returnsfalse
when the list is too long or has too large entries, instead of throwing (Firefox bug 884935). - As part of the ongoing effort to standardize global objects, the non-standard stylesheet change event interfaces, including
StyleRuleChangeEvent
,StyleSheetApplicableStateChangeEvent
andStyleSheetChangeEvent
, are no longer available from Web content. TheCSSGroupRuleRuleList
interface, the implementation detail ofCSSRuleList
, has also been removed (Webkit bug 872934 and Firefox bug 916871). atob
now ignores whitespaces (Firefox bug 711180).- WebGL:
MOZ_
prefixed extension strings are deprecated. Support for them will be removed in the future. Use unprefixed extension string only. To get draft extensions, set thewebgl.enable-draft-extensions
preferences (Firefox bug 924176).
MathML
No change.
SVG
- Blending of SVG elements using the
mix-blend-mode
property has been implemented. Thelayout.css.mix-blend-mode.enabled
preference must be set totrue
(Firefox bug 902525).
Changes for addon and Mozilla developers
- The
downloads-indicator
button has gone away. You should now use thedownloads-button
element. If you need to check that it has loaded its overlay, check for theindicator
attribute on that button. - The
chrome://browser/skin/downloads/indicator.css
stylesheet is no longer referenced in Firefox.
Security
- TLS 1.2 has been implemented for improved security (Webkit bug 861266).
See also
- List of changes in Marionette for Firefox 27.
Older versions
- Firefox 26 for developers
- Firefox 25 for developers
- Firefox 24 for developers
- Firefox 23 for developers
- Firefox 22 for developers
- Firefox 21 for developers
- Firefox 20 for developers
- Firefox 19 for developers
- Firefox 18 for developers
- Firefox 17 for developers
- Firefox 16 for developers
- Firefox 15 for developers
- Firefox 14 for developers
- Firefox 13 for developers
- Firefox 12 for developers
- Firefox 11 for developers
- Firefox 10 for developers
- Firefox 9 for developers
- Firefox 8 for developers
- Firefox 7 for developers
- Firefox 6 for developers
- Firefox 5 for developers
- Firefox 4 for developers
- Firefox 3.6 for developers
- Firefox 3.5 for developers
- Firefox 3 for developers
- Firefox 2 for developers
- Firefox 1.5 for developers