Firefox 34 开发者发布说明

Firefox 34 于 2014 年 12 月 1 日发布。本文档列出了对 Web 开发者、Firefox 和 Gecko 开发者以及附加组件开发者都有用的主要更改。

面向网络开发者的变更

开发者工具

亮点

Firefox 33 和 Firefox 34 之间修复的所有 DevTools 错误.

CSS

  • 我们对 CSS Fonts Level 3 的实验性实现正在取得进展。新实现的功能包括

    • font-variant-position 的回退算法,根据字体提供的下标和上标指标创建缺失字形的合成替代项(Firefox bug 1024804)。
    • layout.css.font-features.enabled 首选项已被移除,这意味着以下属性已默认激活:
      • CSS Font Level 3 版本的 font-variant,它现在是一个简写属性。
      • 长属性 font-variant-capsfont-variant-numericfont-variant-positionfont-variant-east-asianfont-variant-ligaturesfont-variant-alternates
      • 属性 font-kerningfont-synthesis
      • 属性 font-feature-settingsfont-language-override 已去除前缀。为了便于过渡,一段时间内仍可使用带前缀的版本。
  • min-widthmin-height 中添加了 auto 值,其行为与上次不同(Firefox bug 984711Firefox bug 1015474)。

  • 已实现 filter 属性的 filter 函数值,这是一个实验性实现,默认禁用。它由 layout.css.filters.enabled 首选项控制(Firefox bug 948265)。

  • 修复了 CSS 过渡与 displaypositionoverflow 等属性的更改同时开始的问题(Firefox bug 625289)。

HTML

无更改。

JavaScript

  • 已实现 ES2015 语法的对象字面量中的计算属性名(Firefox bug 924688)。

    • 这包括 getter 和 setter 方法名(Firefox bug 1048384),并且也可以与解构一起使用。
  • 已实现 ES2015 对象中定义方法的简写语法(Firefox bug 924672)。

  • 已实现 ES2015 Object 方法 Object.assign()Firefox bug 937855)。

  • 现在支持 ES2015 模板字符串和 String.raw() 方法(Firefox bug 1038259Firefox bug 1039774)。

  • 添加了一个新的 ES2015 对象 WeakSetFirefox bug 792439)。

  • ES2015 Symbols(仅在 Nightly 通道可用)已更新,以符合最新的规范更改(Firefox bug 1042602)。

    • 尝试将 Symbol 转换为数字时,现在会抛出 TypeError
    • 使用松散相等时,Object(sym) == sym 现在返回 true
  • 实验性的 TypedArray.prototype.move() 方法(仅在之前的 Nightly 和 Aurora 通道可用)已被现已实现的标准 ES2015 TypedArray.prototype.copyWithin() 方法取代(Firefox bug 1021379)。

  • 在严格模式下,按照 ES2015 规范,在对象字面量中设置重复的属性名将不再抛出 SyntaxErrorFirefox bug 1041128)。

  • 在正则表达式(包括 String.replace)中,当捕获组由于量词阻止而未被访问时,匹配文本现在是 undefined 而不是空字符串(参见 Firefox bug 369778此示例代码)。请注意,由于 Web 兼容性,RegExp.$N 仍将返回空字符串(Firefox bug 1053944)。

  • ES2015 扩展运算符现在支持解构(Firefox bug 933276)。

  • 解构现在使用迭代器协议而不是类数组协议(Firefox bug 933276)。

  • 已实现 Proxy.revocable()Firefox bug 978279)。

接口/API/DOM

  • 已添加 Element.matches() 方法;它执行非标准 mozMatchesSelector() 的功能(Firefox bug 886308)。

  • Performance.now() 方法现在可供 Web Worker 使用(Firefox bug 908390)。

  • 非标准的 MozNamedAttrMap 接口已重命名为标准的 NamedNodeMap,并且 Element.attributes 已更新为使用它(Firefox bug 1055467)。

  • 已添加 Path2D.addPath() 方法(Firefox bug 985801)。

  • 非标准的设备存储 API 现在也对安装在 Android 上的特权应用启用(Firefox bug 886627)。

  • Web Crypto API 已默认启用(Firefox bug 1074001)。

  • 已添加 MediaStreamTrack.stop() 方法(Firefox bug 1057955)。

  • 我们对 EME 的实验性实现仍在继续。已添加 MediaKeySession.getUsableKeyIds() 方法(Firefox bug 1057171)。

  • 关于 WebRTC

    • RTPSenderRTPReceiverRTCPeerConnection 协同工作的实验性实现已完成(Firefox bug 1032835)。
    • 已向 Navigator.getUserMedia() 添加应用程序窗口共享(Firefox bug 1036653),并且 MediaTrackConstraintSet 现在支持 browserWindowscrollWithPage,允许选择要共享的窗口的选项卡,而无需显示选项卡选择器对话框(Firefox bug 1041700)。
    • "browser" 现在是 MediaSourceEnum 的一个接受值,用于定义约束(Firefox bug 1041493)。
  • 对于 Web Components,事件重新定向现已实现(Firefox bug 887541)。

  • 已实现 Headers 接口(Firefox bug 1029620)。它由 dom.fetch.enabled 首选项控制,该首选项默认设置为 false

  • 关于我们对 Web Animations 的实验性实现,已添加 AnimationEffect 接口,其中包含唯一的 AnimationEffect.name 属性(Firefox bug 1045993)。Web Animations 默认未激活,由 dom.animations-api.core.enabled 首选项控制。

  • 已添加 CSSOM View 的平滑滚动方法:Window.scroll()Window.scrollTo()Window.scrollBy()Firefox bug 1022818)。

  • 非标准的 MozSmsSegmentInfo 不再在全局对象上可见(Firefox bug 916607)。

MathML

无更改。

SVG

无更改。

音频/视频

无更改。

安全与网络

面向附加组件和 Mozilla 开发者的变更

附加组件 SDK

亮点

  • 新 API:dev/panel 使您能够扩展 Firefox 开发者工具。
  • jpm beta 版发布。
  • 在所有地方引入 "./my-file" 作为 require("sdk/self").data.url("my-file") 的别名。
  • 添加了将样式表附加到单个选项卡的能力。

详情

GitHub 提交记录(Firefox 33 和 Firefox 34 之间)。这不包括此版本进入 Aurora 后进行的任何更新。

已修复的 Bug(Firefox 33 和 Firefox 34 之间)。这不包括此版本进入 Aurora 后进行的任何更新。