Firefox 28 was released on March 18, 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
- The
console.exception
property has been added (bug 922214). - The
console.assert
property has been added (bug 760193). - App Manager: a new Manifest Editor was added.
- App Manager: the toolbox used for debugging apps is now embedded in the app manager UI.
- Web Console: added a "split console" mode - press Escape to quickly open the console in any other tool.
- Web Console: added a dark theme for the output.
- Debugger: pretty-print minified JavaScript.
- Debugger: simply hover over any variable or click on it to bring up a pop-up that displays the current value.
- Inspector: added a color picker in rules view and various tooltips.
- Browser Toolbox: allows add-on and platform developers to use almost all of the developer tools while targeting the browser itself.
More details in this post.
CSS
- Support for multi-line flexbox has been added (bug 939901).
- Longhand East Asian counter styles have been implemented (bug 934072).
- Experimental support for the
background-blend-mode
property has been added, but is disabled by default (bug 841601). - The
none
value has been added tofont-variant-ligatures
(bug 913264). - Support for the
:hover
user action pseudo-class on pseudo-elements has been implemented (bug 922669).
HTML
<input type=color>
and<input type=number>
have been implemented, disabled by default.
JavaScript
- ECMAScript 6 (Harmony) implementation continues:
- New
Array
methods have been implemented:Array.prototype.entries()
andArray.prototype.keys()
(bug 894658).
- New
- A bug causing that
Object.getOwnPropertyNames()
did not see unresolved properties ofError
objects has been fixed (bug 724768).
Interfaces/APIs/DOM
HTMLVideoElement.canPlayType('video/webm')
now reportsmaybe
. (bug 884275).- The
DocumentFragment.getElementById()
method has been implemented. E.g.document.createDocumentFragment().getElementById()
(bug 933193). - The
KeyboardEvent.repeat
attribute has been implemented (bug 600117). - The
File
constructor, e.g.new File(["foo"], "foo.txt")
has been implemented. (bug 819900). - The
navigator.plugins
is no more enumerable, for privacy reasons (bug 757726). - The two attributes
Window.screenX
andWindow.screenY
now return CSS pixels (and no more device pixels) (bug 943668). - The two methods
CanvasRenderingContext2D.drawSystemFocusRing()
andCanvasRenderingContext2D.drawCustomFocusRing()
have been implemented. The preferencecanvas.focusring.enabled
must be set totrue
to activate both (bug 540456). - The
willReadFrequently
context attribute for "2d
" canvas contexts has been implemented (seeHTMLCanvasElement.getContext()
) (bug 884226). - The following attributes and methods of
NavigatorID
have been implemented onWorkerNavigator
to allow their use in workers:appCodeName
,product
, andtaintEnabled()
(bug 925847). - The
previousElementSibling
and {domxref("NonDocumentTypeChildNode.nextElementSibling" , "nextElementSibling")}} properties has been removed fromDocumentType
, because of compatibility problems (bug 932501).
MathML
- Support of the
mathvariant
attribute has been added (bug 114365).
SVG
No change.
Audio/Video
- Opus in WebM is now supported (bug 887978).
- The VP9 video decoder is now supported (bug 833023).
Network
- Support of
SPDY/2
has been removed.
Changes for addon and Mozilla developers
- The interface of DeferredTask.jsm has been changed, and the
isPending()
,start()
,flush()
, andcancel()
methods have been removed (bug 940408).
Security
- CSP was not enforced in sandboxed iframes. This has been fixed (bug 886164).
- The CSP 1.1 experimental
script-nonce
directive has been implemented. The preferencesecurity.csp.experimentalEnabled
should be set totrue
to enable this functionality (bug 855326).
See also
Older versions
- Firefox 27 for developers
- 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
Document Tags and Contributors
Tags:
Contributors to this page:
kohei.yoshino,
teoli,
fscholz,
XtC4UaLL,
mihaisucan,
fbender,
rillian,
arai,
Zéfling,
ziyunfei,
yisi
Last updated by:
kohei.yoshino,