Aurora 7 来了

Aurora Logo

下载 Aurora

为了跟上新的开发周期,我们今天发布了 Aurora 7。享受它的新功能和性能改进:CSS “text-overflow: ellipsis”,导航计时 API,降低内存使用量更快的 javascript 解析器 以及 Azure 的第一步,我们的新图形 API。

text-overflow: ellipsis;

现在可以将 Firefox 设置为显示 “” 来以视觉方式提示文本超过包含它的元素的长度。

最终,随着 Aurora 7 中实现了 text-overflow,现在可以创建跨浏览器的省略号了!

导航计时

性能是 Web 上用户体验的关键参数。为了帮助 Web 开发人员有效地监控其 Web 页面的性能,Aurora 7 实现了 导航计时 规范:使用 window.performance.timing 对象,开发人员将能够知道不同导航步骤(例如 navigationStartconnectStart/EndresponseStart/EnddomLoading/Complete)发生的时间,并推断完成一个步骤或一系列步骤需要多长时间。

降低内存使用量

我们持续努力监控和降低 Firefox 的内存使用量,将在 Aurora 7 中得到显著回报。

  • javascript 对象所在的内存“区域”在创建和删除对象时会变得碎片化。为了减少这种碎片化的负面影响,浏览器自身 UI 创建的长期对象已被与 Web 页面创建的对象分开。当一个标签页被关闭或在 垃圾回收 后,浏览器现在可以更有效地释放内存。
  • 说到垃圾回收,随着我们成功地降低了此操作的成本,我们能够更频繁地执行它。不仅内存更迅速地释放,而且这也导致更短的GC 暂停(javascript 执行停止以让垃圾回收器完成其工作的时期,在繁重的动画过程中有时会注意到)。
  • 所有这些改进都反映在 about:memory 页面中,该页面现在能够告诉特定 Web 页面或浏览器自身 UI 使用了多少内存。

有关memshrink 工作的更频繁更新和详细说明已发布在 Nicholas Nethercote 的博客 上。

更快的 Javascript 解析

javascript 解析器是浏览器的一部分,它在 javascript 由 javascript 引擎执行之前读取它。随着现代 Web 应用程序(如 Gmail 或 Facebook)发送接近 1Mb 的 javascript,能够立即读取所有这些代码在响应式用户体验的追求中很重要。
由于 Nicholas 的工作,我们的解析器现在比以前快了将近两倍。这与我们持续改进 javascript 引擎的 执行速度 的工作相得益彰。

Azure 的第一步

布局引擎(Gecko)计算完窗口中所有元素的视觉外观(位置、尺寸、颜色等)后,浏览器请求操作系统实际将它们绘制到屏幕上。浏览器需要一个抽象层来不同操作系统的不同图形库通信,但该层必须尽可能薄且可适应,以实现硬件加速的承诺。
Azure 是新改进的图形 API/抽象层的名称,它将逐步取代硬件加速环境中的 Cairo。在 Aurora 7 中,它已经能够与 Windows 7 的 Direct2D API 交互以呈现 <canvas> 元素的内容(在 2D 上下文中)。您可以在 Joe Drew 的博客上阅读有关 Azure 项目及其下一步计划 的详细说明。

其他改进

HTML

  • <a href="https://mdn.org.cn/en/DOM/HTMLHeadElement" rel="custom nofollow">HTMLHeadElement</a> profile 属性已被删除,此属性自 Gecko 2.0 以来已弃用。(参见 错误 664544
  • <a href="https://mdn.org.cn/en/DOM/HTMLImageElement" rel="custom nofollow">HTMLImageElement</a> xy 属性已被删除。(参见 错误 587021
  • <a href="https://mdn.org.cn/en/DOM/HTMLSelectElement" rel="custom nofollow">HTMLSelectElement</a> add() 方法 before 参数现在是可选的。(参见 错误 182279

Canvas

  • 在调用 setTransform()bezierCurveTo()arcTo() 时指定无效值不再引发异常;这些调用现在已正确地静默忽略。
  • 使用零宽度和高度调用 strokeRect 现在正确地什么也不做。(参见 错误 663190
  • 使用零宽度或高度 <a href="https://mdn.org.cn/en/HTML/Element/canvas" rel="custom nofollow"><canvas></a> 调用 drawImage 现在会引发 INVALID_STATE_ERR。(参见 错误 663194
  • toDataURL() 方法现在接受第二个参数来控制 JPEG 质量(参见 错误 564388

CSS

  • <a href="https://mdn.org.cn/en/CSS/text-overflow" rel="custom nofollow">text-overflow</a> 现在已得到支持。
  • <a href="https://mdn.org.cn/en/CSS/orient" rel="custom nofollow">-moz-orient</a> 属性已修复,因此垂直方向的 <a href="https://mdn.org.cn/en/HTML/Element/progress" rel="custom nofollow"><progress></a> 元素具有适当的默认尺寸。

MathML

  • XLink href 已恢复,MathML3 href 属性现在已得到支持。鼓励开发人员迁移到后一种语法。
  • <a href="https://mdn.org.cn/en/MathML/Element/mpadded" rel="custom nofollow"><mpadded></a> 元素上的 voffset 属性的支持已添加,并且 lspace 属性的行为已修复。
  • 顶级 <a href="https://mdn.org.cn/en/MathML/Element/math" rel="custom nofollow"><math></a> 元素接受 <a href="https://mdn.org.cn/en/MathML/Element/mstyle" rel="custom nofollow"><mstyle></a> 元素的任何属性。
  • <a href="https://mdn.org.cn/en/MathML/Element/mfrac" rel="custom nofollow"><mfrac></a> 元素中分数线的中等线粗细已更正为匹配默认粗细。
  • 负空间的名称 现在已得到支持。

DOM

  • <a href="https://mdn.org.cn/en/DOM/File" rel="custom nofollow">File</a> 接口的非标准方法 getAsBinary()getAsDataURL()getAsText() 以及非标准属性 fileNamefileSize 已被删除。
  • <a href="https://mdn.org.cn/en/DOM/FileReader" rel="custom nofollow">FileReader</a> readAsArrayBuffer() 方法现在已实现。(参见 错误 632255
  • <a href="https://mdn.org.cn/en/DOM/document.createEntityReference" rel="custom nofollow">document.createEntityReference</a> 已被删除。它从未正确实现,并且在大多数其他浏览器中都没有实现。(参见 错误 611983
  • document.normalizeDocument 已被删除。改用 <a href="https://mdn.org.cn/en/DOM/Node.normalize" rel="custom nofollow">Node.normalize</a>。(参见 错误 641190
  • <a href="https://mdn.org.cn/en/DOM/DOMTokenList.item" rel="external">DOMTokenList.item</a> 现在如果 index 超出范围,则返回 undefined,以前它返回 null。(参见 错误 529328
  • Node.getFeature 已被删除。(参见 错误 659053

JavaScript

  • <a href="https://mdn.org.cn/en/JavaScript/Reference/Global_Objects/Function/arity" rel="internal">Function.arity()</a> 函数已被删除;改用 <a href="https://mdn.org.cn/en/JavaScript/Reference/Global_Objects/Function/length" rel="internal">Function.length</a>
  • JSON 解析器已为提高速度和合规性而重写。这包括对 错误 572279 的修复。

网络

  • WebSockets 现在在 Firefox Mobile 上可用。(参见 错误 537787

控制台 API

  • 实现 console.<a href="http://getfirebug.com/wiki/index.php/Console_API#console.dir.28object.29">dir()</a>, console.<a href="http://getfirebug.com/wiki/index.php/Console_API#console.time.28name.29">time()</a>, console.<a href="http://getfirebug.com/wiki/index.php/Console_API#console.timeEnd.28name.29">timeEnd()</a>, console.<a href="http://getfirebug.com/wiki/index.php/Console_API#console.group.28object.5B.2C_object.2C_....5D.29">group()</a>console.<a href="http://getfirebug.com/wiki/index.php/Console_API#console.groupEnd.28.29">groupEnd()</a> 方法。
  • 在 WebConsole 打开之前使用 console.log 记录的消息现在将被存储起来,并在 WebConsole 打开时显示。

(参见 Wiki 中的 Web Console 页面)

Web 定时

关于 louisremi

开发者关系团队,长期 jQuery 贡献者和开放 Web 爱好者。 @louis_remi

更多 louisremi 的文章…


27 条评论

  1. Gavra

    哇!速度!太棒了!

    2011 年 7 月 7 日 下午 1:13

  2. Skoua

    看起来真的很快!

    http:// 消失了。:'(

    2011 年 7 月 7 日 下午 2:09

  3. Aldonio

    我对 text-overflow: ellipsis 感到惊讶,不是因为它被包含进来了,而是因为 Firefox 直到今天才拥有它 :/

    2011 年 7 月 7 日 下午 2:11

    1. Boris

      事实证明,一旦你尝试为除最简单的用例之外的所有用例实现它,它就成了一个难题 (例如,如果你有双向文本)。例如,其他实现都没有就它应该如何工作达成一致。

      2011 年 7 月 7 日 下午 4:12

  4. David Bruant

    “Function.arity” 不是一个函数。它是一个所有函数对象都具有的属性。不需要括号 “()”。

    2011 年 7 月 7 日 下午 2:25

  5. Claudio Cicali

    “导航定时” 链接已损坏

    2011 年 7 月 7 日 下午 2:37

    1. louisremi

      谢谢,现在应该修复了 :-)

      2011 年 7 月 8 日 上午 11:37

  6. Brian Blakely

    偷偷地把 ellipsis 放进 FF6。没关系,就这一次。;)

    2011 年 7 月 7 日 下午 2:52

  7. MrS

    如何在地址栏中恢复协议?

    2011 年 7 月 7 日 下午 3:08

    1. louisremi

      您可以在 about:config 中将 “browser.urlbar.trimURLs” 设置为 “false”。

      2011 年 7 月 8 日 上午 11:29

  8. eobe

    有一件事仍然困扰着我。它可能有一个 Bugzilla 条目,但我不知道。它太简单了

    如果你加载一个连接需要很长时间的页面 (在“连接中…”停留一段时间),然后你决定输入另一个 URL…在这段时间内,页面最终连接并加载了一个重定向,你正在输入的 URL 会被删除并替换为重定向后的页面 URL,中断你的输入并完全丢失你正在输入的 URL!

    每次都会让我很恼火。请注意,Chrome 做得很好
    无论何时用户正在编辑 URL,浏览器都绝不应该覆盖或更改它。它应该只在 URL 文本字段没有被用户聚焦时才这样做。

    2011 年 7 月 7 日 下午 4:32

  9. PCビギナー

    评论的人是怎么下载的呢?
    吹嘘了半天,点击按钮却无法下载
    难道要排除一般用户吗?
    http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-aurora-l10n/firefox-6.0a2.ja.linux-i686.tar.bz2

    2011 年 7 月 7 日 下午 7:55

  10. nnethercote

    关于更快的 JavaScript 解析 - 这些改进是在一年多的时间里逐渐实现的。其中很多已经在 FF4 中,有些更多地进入了 FF5。最后的一些可能进入了 FF6?不确定,我不记得确切的时间。

    所以,JS 解析器速度几乎是 3.6 中的两倍 :)

    2011 年 7 月 7 日 下午 7:58

  11. Jeff Walden

    JSON 解析器重写是在 Firefox 5 中完成的,所以它并不是 7 的新功能。

    2011 年 7 月 7 日 下午 8:31

  12. Georgiy Ivankin

    text-overflow: ellipsis 终于来了!你让我的一天都充满了阳光!一如既往的出色工作 ;)

    2011 年 7 月 7 日 下午 9:46

  13. Insano

    是的,“http://” 从 URL 栏中消失了。作为参考,看看 Chrome 就能知道 Mozilla 下一步会做什么。

    2011 年 7 月 8 日 上午 2:07

  14. Jason

    导航定时和其他相关定时规范实现了多少?

    我实际上尝试了一些例子,而 IE9 测试驱动例子在 http://ie.microsoft.com/testdrive/Performance/msPerformance/Default.html 上确实有效。

    似乎在 http://webtimingdemo.appspot.com/ 上给出的例子不起作用。

    2011 年 7 月 8 日 上午 9:23

    1. louisremi

      Web 定时规范已被拆分为更小的规范,我们实现了其中一个导航定时规范。

      2011 年 7 月 8 日 上午 11:34

  15. Rob

    这太令人恼火了!!它运行太快,使用的内存太少,而且 7.0a2 (2011-07-09) 还没有在我身上崩溃过,无论是 Linux 还是 Win7!
    我怎么才能证明我需要一台新电脑??我的 CPU 即使在 MS 测试中也是空闲的…
    即使从 beta 重启到读取“…”也只花了幾秒钟。
    太无聊了,太无聊了,我抱怨的理由太少了!

    2011 年 7 月 10 日 上午 6:47

  16. juan

    让我们看看会发生什么

    2011 年 7 月 11 日 上午 8:56

  17. art

    Xulrunner 6 和 7 什么时候发布到 Windows?我们正在开发插件,它们不再与 Firefox 6 和 7 兼容。

    2011 年 7 月 11 日 下午 2:00

  18. Seth

    想想广告商会利用这种技术来折磨和侵犯冲浪者,真是太可怕了!

    专业的隐私侵犯者会很高兴的

    2011 年 7 月 12 日 下午 3:55

  19. sun

    我一直使用 Chrome,但也许现在有了这些速度和内存的改进,我可以继续使用 Firefox。:)

    2011 年 7 月 14 日 上午 9:51

  20. Major

    太棒了,FF 竟然动作这么快,顶~
    太棒了!

    2011 年 7 月 19 日 上午 6:53

  21. Sau

    Aurora 比以前的版本快得多,即使与 firefox 7 beta 1 相比,它也更快。

    2011 年 8 月 20 日 上午 10:09

  22. Annie

    好吧,我是一个很有自信但没有技能的极客。所以我想知道我是否应该下载 Aurora,或者我是否会后悔。我现在有 6,并没有太深刻的印象。

    2011 年 8 月 25 日 上午 8:51

  23. Dennis Schultze

    试用了新的 Aurora,它导入了所有 FF 8.X 的书签。运行速度更快,但这个新版本中没有太多附加组件可以工作…不足为奇。

    我回到了 FF 8.X,所有的书签都消失了…这是其他人也注意到的事情吗?我不得不使用备份来恢复。

    Dennis

    2011 年 11 月 20 日 上午 8:52

本文的评论已关闭。