Firefox 32 开发者发布说明
Firefox 32 于 2014 年 9 月 2 日发布。本文列出了对 Web 开发者、Firefox 和 Gecko 开发者以及插件开发者都有用的重要更新。
面向网络开发者的变更
开发者工具
亮点
- Web 音频编辑器
- 代码补全和 Scratchpad 中的内联文档]
- 检查器“规则”视图中的用户代理样式
- 元素拾取器按钮已移动
- 检查器信息栏中添加了节点尺寸
- 添加了全页面截图按钮
- 工具中添加了 HiDPI 图像
- 在检查器中,`display:none` 的节点显示方式不同
CSS
- 默认启用
mix-blend-mode(Firefox bug 952643)。 - 在发布版本中默认启用了
position:sticky(之前仅在 Nightly 和 Aurora 中启用)(Firefox bug 916315)。 - 实现了
box-decoration-break并移除了非标准的-moz-background-inline-policy(Firefox bug 613659)。 - 允许
flex-grow和flex-shrink在零值和非零值之间进行过渡,例如 'flex-grow: 0.6'(Firefox bug 996945)。
HTML
- 通过首选项实验性地实现了
<img>的srcset属性。要激活它,请将dom.image.srcset.enable设置为true(Firefox bug 870021)。 - id 和 class 现在是真正的 全局属性,并且也适用于命名空间内的 XML 元素或不带命名空间的 XML 元素(Firefox bug 741295)。
JavaScript
- 实现了以下新的 ECMAScript 2015 内置方法:
接口/API/DOM
- 已实现
Navigator.languages属性和languagechange事件(Firefox bug 889335)。 - 已根据最新规范调整了
Navigator.vibrate()方法的行为:过长的振动现在会被截断(Firefox bug 1014581)。 - 已扩展
KeyboardEvent.getModifierState()和MouseEvent.getModifierState()方法以支持Accel虚拟修饰符(Firefox bug 1009388)。 - 已实验性地实现了
KeyboardEvent.code属性:在发布版本中已禁用(Firefox bug 865649)。 - 已为
Document.querySelector()和Document.querySelectorAll()实现了作用域选择器,例如querySelector(":scope > li")(Firefox bug 528456)。 - 已添加
Document.timeline接口的实验性实现,该接口与 Web Animation API 相关(Firefox bug 998246)。它受layout.web-animations.api.enabled首选项控制,目前仅在 Nightly 和 Aurora 中启用。 - Data Store API 已对 Web Workers 可用(Firefox bug 949325)。它仍然仅对认证应用程序激活。
- 已实现 ServiceWorker 的
InstallPhaseEvent和InstallEvent接口(Firefox bug 967264)。 - 已添加 MSISDN 验证 API(仅对特权应用激活)(Firefox bug 988469)。
- Firefox for Android 现在支持 Gamepad API(Firefox bug 852935)。
- 为了匹配规范和 CSS 语法的演进,对
CSS.escape()进行了一些小的更改。现在标识符可以以'--'开头,第二个破折号不得转义。此外,供应商标识符也不再转义(Firefox bug 1008719)。 - 为了完成我们的 Hit Regions 实现,已实现
MouseEvent.region(Firefox bug 979692)。 CanvasRenderingContext2D.drawFocusIfNeeded()方法现在默认启用(Firefox bug 1004579)。Navigator.doNotTrack属性现在返回'1'或'0',反映 HTTP 值,而不是'yes'或'no'(Firefox bug 887703)。- 已实现 XMLHttpRequest.responseURL(Firefox bug 998076)。
MathML
- 添加了对
<menclose>符号phasorangle的支持。
SVG
无更改。
WebRTC
-
为 WebRTC 的
getUserMedia()添加了新的约束:width、height和framerate,用于限制流的尺寸和帧率(Firefox bug 907352)。jsconst constraints = { mandatory: { width: { min: 640 }, height: { min: 480 }, }, optional: [ { width: 650 }, { width: { min: 650 } }, { frameRate: 60 }, { width: { max: 800 } }, ], }; -
以前使用回调函数作为输入参数的 WebRTC 方法现在也可以使用 JavaScript promises 来调用。
音频/视频
无更改。
安全
面向附加组件和 Mozilla 开发者的变更
Xray 视野现在适用于本身不是 DOM 对象的 JavaScript 对象:JavaScript 对象的 Xrays。
已向 Addon 实例添加了一个 getDataDirectory() 方法。此方法返回当前配置文件中插件存储数据的首选位置。
附加组件 SDK
亮点
- 向
PageMod添加了exclude选项。 - 向
Request添加了anonymous选项。 - Add-on Debugger 现在包含一个控制台和一个 Scratchpad。
详情
Firefox 31 和 Firefox 32 之间的 GitHub commit。这不包括此版本进入 Aurora 后进行的任何更新。
Firefox 31 和 Firefox 32 之间修复的 bug。这不包括此版本进入 Aurora 后进行的任何更新。
XPCOM
nsIUDPSocket接口现在通过添加新的nsIUDPSocket.multicastLoopback、nsIUDPSocket.multicastInterface和nsIUDPSocket.multicastInterfaceAddr属性,以及nsIUDPSocket.joinMulticast()和nsIUDPSocket.leaveMulticast()方法来提供组播支持。