Firefox OS 1.3 现在处于预发布的阶段。它的 Gecko 组件是基于Firefox 28(见Firefox开发人员28日发布说明。)
Firefox OS 1.3 主要包括 CSS,JavaScript ,HTML,DOM/API ,音频和视频方面的 bug 修复,一些新特性和其他一些功能改进。主要更新内容如下:
General Gecko:
Support for multi-line flexbox has been added (bug 939901).
Longhand East Asian counter styles have been implemented (bug 934072).
Support for the background-blend-mode
property has been added (bug 841601).
The none
value has been added to font-variant-ligatures
(bug 913264).
Support for the :hover
user action pseudo-class on pseudo-elements has been implemented (bug 922669).
The -moz-grab
and -moz-grabbing
keywords on the CSS cursor
property have been unprefixed to grab
and grabbing
(bug 880672).
Support for the -moz-hsla()
and -moz-rgba()
functional notations has been dropped. Only the unprefixed versions, hsla()
and rgba()
are supported from now on (bug 893319).
The "true
" value for text-align
has been added (bug 929991).
Experimental support of position:sticky
is now active by default on non-release builds (bug 902992). For releases builds, the layout.css.sticky.enabled
preference still needs to be set to true.
The all
shorthand property has been added (bug 920633).
The unset
global value has been added; it allows to reset any CSS property (bug 921731).
Curly brackets are no longer allowed in HTML style
attributes: doing <div style="{ display: none }">
was working in quirk mode, but won't anymore bug 915053.
The overflow
property now works on <fieldset>
(bug 261037).
General Gecko:
WebVTT has been switched on by default (bug 887978).
<input type=color>
has been implemented.
The allow-popups
directive is now supported with the sandbox
attribute of the <iframe>
element (bug 766282).
Blending of HTML elements using the mix-blend-mode
property has been implemented. The layout.css.mix-blend-mode.enabled
preference must be set to true
(bug 902525).
General Gecko:
<A title=/en-US/docs/Web/JavaScript/ECMAScript_6_support_in_Mozilla href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/ECMAScript_6_support_in_Mozilla">EcmaScript 6 (Harmony) implementation continues!
New Array
methods have been implemented: Array.prototype.entries()
and Array.prototype.keys()
(bug 894658).
The Harmony <A class=external title=http://wiki.ecmascript.org/doku.php?id=harmony:spread href="http://wiki.ecmascript.org/doku.php?id=harmony:spread">spread operator is now supported in Function calls (bug 762363).
The mathematical function Math.hypot()
has been implemented (bug 896264).
The yield*
operator is now implemented (bug 666396).
The MapIterator
, SetIterator
and ArrayIterator
objects now match the specification (bug 881226).
for..of loops now expect the ES6 standard iterator protocol moving away from SpiderMonkey old iterator protocol using StopIteration
.
String.match
and String.replace
now reset RegExp.lastIndex
(bug 501739).
Firefox OS-specific:
Multi-SIM support landed in Firefox OS (Dual-SIM-Dual-Standby or DSDS). navigator.mozMobileConnection
becomes an array of MozMobileConnection instances, i.e. navigator.mozMobileConnections
. The privileged subset of this API can be used to detect MCC (country) and MNC (carrier), like in this snippet.
General Gecko:
HTMLVideoElement.canPlayType('video/webm')
now reports maybe
. (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
and Window.screenY
now return CSS pixels (and no more device pixels) (bug 943668).
The two methods CanvasRenderingContext2D.drawSystemFocusRing()
and CanvasRenderingContext2D.drawCustomFocusRing()
have been implemented. The preference canvas.focusring.enabled
must be set to true
to activate both (bug 540456).
The following attributes have been added to NavigatorID
: appCodeName
and product
(bug 925847).
Support for the two setRange()
methods on the HTMLInputElement
interface has been added (bug 850364).
Support for the two setRange()
methods on the HTMLTextAreaElement
interface has been added (bug 918940).
The method getAllKeys()
and openKeyCursor()
have been added to IDBObjectStore
(bug 920633 and bug 920800).
The HTMLFormControlsCollection
interface has been implemented (bug 913920).
The CanvasRenderingContext2D
interface supports now the two methods getLineDash()
and setLineDash()
(bug 768067).
The typeMustMatch
attribute has been implemented on the HTMLObjectElement
interface (bug 827160).
The copyFromChannel()
and copyToChannel()
methods have been added to AudioBuffer
(bug 915524).
Event.isTrusted()
is now unforgeable (bug 637248).
The Navigator.vibrate()
method has been adapted to match the final specification: It now returns false
when the list is too long or has too large entries, instead of throwing (bug 884935).
As part of the ongoing effort to standardize global objects, the non-standard stylesheet change event interfaces, including StyleRuleChangeEvent
, StyleSheetApplicableStateChangeEvent
and StyleSheetChangeEvent
, are no longer available from Web content. The CSSGroupRuleRuleList
interface, the implementation detail of CSSRuleList
, has also been removed (bug 872934 and bug 916871).
atob
now ignores whitespaces (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 the webgl.enable-draft-extensions
preferences (bug 924176).
General Gecko:
Blending of SVG elements using the mix-blend-mode
property has been implemented. The layout.css.mix-blend-mode.enabled
preference must be set to true
(bug 902525).
支持 WebM 的 Opus (bug 887978).
支持 VP9 视频解码器 (bug 833023).
更多内容请看发行说明:https://developer.mozilla.org/en-US/Firefox_OS/Releases/1.3
(文/开源中国)