Mozilla Firefox 38.0 Beta 1 今日发布,该版本将在今年5月份正式发布。除了继续优化对64位的支持外,最大的改进是原生支持Ruby字符。Ruby字符与Ruby语言无关,而是注音标示,是一种表意文字的音标印刷方式,广泛地运用于日文及中文,rubi是日本印刷业的用语。以前 Firefox浏览器支持注音标示需要安装扩展如HTML Ruby,如今Firefox 38默认启用了CSS Ruby,同时还引入了HTML5 ruby标签支持。
下载地址:
http://dm-download02.mozilla.org/pub/mozilla.org/mozilla.org/firefox/releases/38.0b1/
Developer Tools
Highlights:
- Bypass audio nodes in Web Audio Editor
- “copy” command in Web Console
- Highlight and filter XmlHttpRequests in Web Console
- See optimized-out variables in the Debugger
- See security warnings in the Network Monitor
- See transferred sizes in the Network Monitor
- Play/pause all animations in the page
All devtools bugs fixed between Firefox 37 and Firefox 38.
CSS
- Support for
ruby-position
andruby-align
have been added and is available by default (bug 1055676bug 1123917 and bug 1039006). - The
:unresolved
pseudo-class have been implemented for custom elements (bug 1111633). - The predefined style
ethiopic-numeric
now uses a space, instead of a dot, as suffix to match a recent change to the spec (bug 1120721). - CSS transitions on generated content (with
::before
and::after
) on both an inline and the block that splits them now start as expected by the spec (bug 1110277). - The implementation of CSS Logical Properties made big progress. The following properties are available behind the
layout.css.vertical-text.enabled
flag (false
by default):- Direction-independant equivalents of
width
andheight
:block-size
andinline-size
(bug 1117983). - Direction-independant equivalents of
min-width
andmin-height
:min-block-size
andmin-inline-size
(bug 1117983). - Direction-independant equivalents of
max-width
andmax-height
:max-block-size
andmax-block-size
(bug 1117983). - Direction-independant equivalents of
margin-top
,margin-right
,margin-bottom
andmargin-left
:margin-block-start
,margin-block-end
,margin-inline-start
andmargin-inline-end
(bug 649142). - Direction-independant equivalents of
padding-top
,padding-right
,padding-bottom
andpadding-left
:padding-block-start
,padding-block-end
,padding-inline-start
andpadding-inline-end
(bug 649142). - Direction-independant equivalents of
border-top
,border-right
,border-bottom
andborder-left
and their longhands for width, style and color:border-block-start
,border-block-start-width
,border-block-start-style
,border-block-start-color
,border-block-end
,border-block-end-width
,border-block-end-style
,border-block-end-color
,border-inline-start
,border-inline-start-width
,border-inline-start-style
,border-inline-start-color
,border-inline-end
,border-inline-end-width
,border-inline-end-style
andborder-inline-end-color
(bug 649142). - Direction-independant equivalents of
top
,right
,bottom
andleft
:offset-block-start
,offset-block-end
,offset-inline-start
andoffset-inline-end
(bug 1120283).
- Direction-independant equivalents of
- How CSS Transitions start has been modified to match a recent change of the specifications, aiming at having an interoperable behavior between browsers (bug 960465).
HTML
- Label element doesn’t dispatch event to label target element if interactive content is found between the event target and the label (bug 229925).
- The
<picture>
element has been activated by default (bug 1017875).
JavaScript
Generator.prototype.return()
is implemented (bug 1115868).Setter
with a rest parameter is now aSyntaxError
(bug 1089632).- The
name
property of functions is configurable now (bug 1084019). - Several
Array
methods have been implemented for typed arrays as well:- The
of()
andfrom()
methods (bug 896608). - The
forEach()
method (bug 1107645). - The
filter()
andmap()
methods (bug 1121936). - The
slice()
method (bug 1121935).
- The
- Duplicated parameter name is no longer allowed when rest-parameter is present (bug 1096376).
- Duplicated parameter name is no longer allowed in arrow functions (bug 1096377).
- Duplicated parameter name is no longer allowed in concise method definitions (bug 1096378).
- Warning is shown when
Map
/Set
/WeakMap
constructor is called withoutnew
(bug 1108930). - When defining a generator method, “
set
” and “get
” are no longer invalid names (bug 1073809). RegExp.prototype.source
now returns “(?:)” instead of an empty string for empty regular expressions (bug 1130798).RegExp.prototype.source
andRegExp.prototype.toString()
now escape regular expression patterns properly (e.g. line terminators, “\n”) (bug 1130860).- The
Regexp
global
,ignoreCase
,multiline
,source
, andsticky
properties are now prototype accessor properties rather than own data properties ofRegExp
instances (bug 1120169). Function.prototype.toString()
now throws forProxy
objects (bug 1100936).
Interfaces/APIs/DOM
- The Fetch API
fetch()
method has been implemented (bug 1039846). BroadcastChannel
has been implemented (bug 966439 and bug 1121420).CanvasRenderingContext2D.clearHitRegions()
has been implemented (bug 1119527).HTMLAnchorElement.hash
,HTMLAreaElement.hash
,Location.hash
,WorkerLocation.hash
, andURL.hash
now returns a percent-encoded fragment (bug 1093611 & bug 1122948).- Constants of
KeyboardEvent.location
,DOM_KEY_LOCATION_MOBILE
and DOM_KEY_LOCATION_JOYSTICK, are dropped due to dropped from DOM Level 3 Spec (bug 936313. KeyboardEvent.code
supports special keys on Sun keyboard on Linux, Android and Firefox OS. (bug 1020139)KeyboardEvent.code
is enabled on release build. (bug 1126673)- The
TextEncoder()
constructor has been changed to match the spec: when an invalid parameter is passed, theRangeError
exception is now raised, rather than the erroneousTypeError
(bug 1125766). - The User Timing API, adding
Performance.mark()
,Performance.clearMarks()
,Performance.measure()
, andPerformance.clearMeasures()
has been implemented (bug 782751). - The prefixed version of
indexedDB
,mozIndexedDB
has been removed (bug 975699). - The
DOMContentLoaded
event is no longer cancelable (bug 1134559). - You can now use WebSockets in Workers (bug 1112054).
- The
XMLHttpRequest.responseType
andXMLHttpRequest.withCredentials
properties can now be set before callingXMLHttpRequest.open()
(bug 707484).
MathML
No change.
SVG
No change.
Audio/Video
No change.
Networking
No change.
Security
- In Firefox, the
autocomplete
=false
attribute is now ignored when dealing with a login form (bug 1025703). - RC4 is now disabled when using TLS, except for a few Web sites on a whitelist. This whitelist is an interim measure while the Web sites are fixed (bug 1124039).
- Web sites needing to fallback to an insecure version of TLS to work are now in a hardcoded whitelist, that will shrink with time (bug 1114816). The whitelist can be disabled by setting
security.tls.insecure_fallback_hosts.use_static_list
tofalse
.
Changes for add-on and Mozilla developersAdd-on SDKHighlights
sdk/context-menu@2
was implemented (bug 1070952).sdk/addon/bootstrap
was implemented (bug 1075541).sdk/windows/loader
was removed (bug 970135).- Fix for default language detection on Linux (bug 1114712).
toolkit/loader
now has opt-in module compatibility checking, which is enabled for all jpm add-ons (bug 1037235).
E10S Updates
- sdk/page-worker e10s updates (bug 1116004).
- sdk/content/worker e10s updates (bug 1116544).
- sdk/tabs e10s updates (bug 1033838).
Details
XUL
No change.
JavaScript code modulesDownloads.jsm
DownloadTarget
objects now haveexists
andsize
properties, allowing you to determine the existence of and the size of the download’s target file on disk, as well as a newrefresh()
method, which asks that these values be updated.
XPCOM
"@mozilla.org/network/atomic-file-output-stream;1"
and"@mozilla.org/network/safe-file-output-stream;1"
now throws an exception ifPR_APPEND
is passed withoutPR_TRUNCATE
(bug 1117580).nsICompositionStringSynthesizer
and nsIDOMWindowUtils.sendCompositionEvent() are now dropped. Instead, usensITextInputProcessor
. (bug 917322)nsIDOMWindowUtils.sendKeyEvent()
is now deprecated. Instead, usensITextInputProcessor
. (bug 1119609)