Firefox 144 亮点:更快的扩展、更智能的开发者工具与标签组优化

本文详细介绍了Firefox 144版本的核心技术更新,涵盖WebExtensions API的功能增强、开发者工具(DevTools)的多项改进(如AntiTracking调试面板、CSS变量跳转定义)、WebDriver BiDi协议的新命令、配置文件管理系统的迁移工作,以及标签组、搜索导航等模块的具体优化与错误修复。

Firefox 144 亮点:更快的扩展、更智能的开发者工具与标签组优化

《Firefox周刊》第189期

亮点

  • Leo Liu [:leoliu] 在devtools.anti-tracking.enabled后添加了一个用于反追踪调试的面板 (#1972771)。
  • Alexandre Poirot [:ochameau] 在标记视图的事件提示框中添加了“用户定义”标识,以区分“原生”事件(并可能发现Firefox不支持的事件)(#1977628)。
  • Nicolas Chevobbe [:nchevobbe] 在检查器规则视图中为CSS变量添加了“跳转到定义”图标 (#1278517)。

团队伙伴介绍/致谢

  • 新贡献者 Merci chao 提交了一大批有效且有用的标签组问题。
  • 已解决的问题(不包括员工贡献):
    • 修复了多个错误的志愿者:Alexander Kuleshov
  • 新贡献者(🌟 = 第一个补丁):
    • Josh Berry 向 browser.tabs.onUpdated 事件添加了 groupId
    • Jacqueline Amherst [:jqln] 将 gPrivateBrowsingUI 移至其自己的文件,并避免在遇到第一个隐私窗口之前加载它。

项目更新

扩展 / Web 扩展

附加组件管理器 & about:addons

  • Firefox 144 中已完全移除 InstallTrigger API 实现 🥳 – Bug 1776426 / Bug 1979227。感谢 Gregory Pappas 对此的巨大帮助!
  • 修复了由于先前安装的附加组件中缺少新扩展元数据属性而导致附加组件更新自动取消的问题 – Bug 1984724。
  • 改进了 about:addons 附加组件卡片消息栏和附加组件卡片标题之间的间距 – Bug 1984728。感谢 Sujal Singh 为 about:addons 卡片贡献此项改进!

WebExtensions 框架

  • 修复了当用户可能从附加组件安装后对话框中点击“扩展设置”链接时触发的自定义模式和键盘快捷键问题 – Bug 1983869。
  • 修复了阻止与扩展上下文菜单项关联的SVG图标成功加载的回归问题 – Bug 1986618(已在 Firefox 143 中修复,即最初通过 Bug 1979338 引入该回归的相同 Firefox 版本)。

WebExtension APIs

  • 在 Firefox 144 中,browser.storage.localbrowser.storage.managed WebExtensions API 现在也提供了 getBytesInUse API 方法 – Bug 1385832。感谢 Nathan Gross 为 WebExtensions 存储API贡献此增强功能!
  • browser.tabs.onUpdated API 方法添加了缺失的 groupId 属性 – Bug 1984553。感谢 Josh Berry 报告并修复了我们 WebExtensions API JSONSchema 定义中的这个空白。
    • 注意:此更改主要影响基于我们 JSONSchema 定义生成的 TypeScript 类型定义。即使没有对 JSONSchema 的此修复,groupId 属性也已在 browser.tabs.onUpdated API 事件详情中设置。

开发者工具

  • Artem Manushenkov:
    • 记录了“启用分割控制台”设置,并为图像添加了缺失的 alt 属性,并更新了截图 (#1984296, #1981384, #1984788)。
    • 从调试器文件夹中移除了未使用的 npm 脚本 (#1984661)。
    • 在清除按钮标题中添加了清除控制台的键盘快捷键 (#1984993)。
  • Sebastian Zartner [:sebo] 为在非块容器上使用 overflow 添加了非活动 CSS 警告 (#1583902)。
  • Riz 从 Netmonitor 堆栈跟踪中移除了 Chrome 框架 (#1280266)。
  • Robert Longson [:longsonr] 修复了当 devtools.netmonitor.requestBodyLimit=0 时向用户显示无效消息的问题 (#1986196)。
  • David Shin[:dshin] 修复了一个 Chrome Only 方法,以使选择器高亮器适用于 @scope 规则 (#1980210)。
  • Masayuki Nakano [:masayuki] 修复了当节点因其父节点的 innerHTML 更新而被移除时的“在节点移除时中断”功能 (#1984312)。
  • Holger Benl [:hbenl] 修复了响应式设计模式中的截图问题 (#1979518)。
  • Alexandre Poirot [:ochameau] 使 React 避免为不活动/后台标签页中的开发者工具更新 (#1897765)。
  • Alexandre Poirot [:ochameau] 修复了在调试器中获取 iframe 源代码内容 (#1977100)。
  • Alexandre Poirot [:ochameau] 修复了从控制台堆栈跟踪打开某些 webpack-internal:///./ 源的问题 (#1982271)。
  • Hubert Boma Manilla (:bomsy) 使得在连接仍打开时,可以在 Netmonitor 事件中看到服务器发送的事件 (#1830230)。
  • Julian Descottes [:jdescottes] 修复了会导致开发者工具崩溃的问题 (#1979448)。
  • Julian Descottes [:jdescottes] 改进了用于检查给定网络请求是否为本地请求的正则表达式性能 (#1983755)。

WebDriver BiDi

  • Sasha 更新了 emulation.setLocaleOverrideemulation.setTimezoneOverride 命令,以将覆盖设置也应用于通过 WebDriver BiDi 创建的现有沙箱。
  • Sasha 实现了 emulation.setScreenOrientationOverride 命令,允许客户端按浏览上下文或用户上下文覆盖屏幕方向。
  • Henrik 在 Marionette 中将元素的 scrollIntoView 算法恢复为始终使用即时滚动行为。这撤销了在 Firefox 97 中引入的更改,该更改已将行为切换为自动。此恢复解决了使用平滑行为的元素在滚动时可能出现的潜在竞争条件。
  • Julian 更新了 browsingContext.navigate,使其在导航被另一个导航中断时成功并停止抛出错误。通常这可能发生在脚本更新 window.location 时。

代码检查、文档和工作流

  • mlucks 启用了 ESLint Lit 规则 no-value-attribute
  • Standard8 修复了 mach lint 的详细日志记录。

配置文件管理

  • 我们一直在逐步推出,目前达到 5.5%,配置文件遥测数据看起来良好。
  • OMC 和 Nimbus 已完成向多配置文件数据存储的迁移,其集成测试和遥测数据看起来也很健康。
  • 我们计划在 144 版本中全面推出(在 Windows 10 用户获得多配置文件备份支持之前,暂时不包括他们)。
  • 已关闭的错误:
    • 贡献者修复!🎉 Alexander Kuleshov 修复了错误 1987225,移除未使用的 gRestartMode 变量。
  • 其他已关闭的错误:
    • 1950741 - 当在 about:newprofile 中选择非系统主题时,过度滚动页面会在过度滚动区域显示不同的页面背景 - mlucks@mozilla.com
    • 1950743 - 在 about:newprofile 中跳转到“探索更多主题”链接会使链接的焦点环跨越整个容器,而不是仅链接本身 - squiles@mozilla.com
    • 1966284 - 在 about:about 中隐藏新的配置文件管理器页面(新建、编辑、删除)- mlucks@mozilla.com
    • 1979898 - 移除使用 MOZ_APP_DATA 时添加的一些额外目录 - dtownsend@mozilla.com
    • 1984193 - 向头像选择器添加悬停工具提示 - mlucks@mozilla.com
    • 1985340 - 更新配置文件头像的替代文本以匹配工具提示文本 - mlucks@mozilla.com
    • 1986080 - 更新配置文件头像的 aria 标签文本以匹配工具提示文本 - mlucks@mozilla.com

搜索和导航

  • adw 继续研究 Google Lens,这是一项允许用户使用上下文菜单搜索图像的功能 (1987045, 1986301)。
  • Standard8 一直在进行一项实验,通过 Oblivious HTTP 发送搜索建议以保护隐私 (1984624)。
  • Standard8 将 urlbar 代码转换为使用 moz-src URI。
  • Mandy 一直在研究为 Perplexity 添加本地化趋势 URL 结果,该功能仍隐藏在实验后 (1985515, 1984201)。
  • Dao 正在使地址栏更加模块化,以供其他功能使用。例如,已经进行了为搜索栏做准备的工作。(1985734, 1985833, 1986128, 1986129)
  • Moritz 和 adw 继续研究为建议显示相关日期 (1986685, 1986786, 1981490, 1986680)。
  • Daisuke 正在研究 Yelp 在线建议 (1986224)。
  • Dale 正在研究统一的信任面板,该面板将告知用户网站是否安全。这是一个结合了隐私盾牌和页面信息图标及对话框的新设计。(1976108)

Storybook/可重用组件/Acorn 设计系统

  • 一些与 Storybook 上的 Figma Code Connect 相关的新文档(主要是关于添加新的 Code Connects,但该部分介绍了在 Figma Dev Mode 中的用法)。
  • 更多边框半径令牌已填充,并位于 Storybook 的令牌表中。
  • Moz-promo 现在避免在必要时之前换行操作(优先保持单行) Storybook(窄示例)。
  • 使用自动 fluent data-l10n-attrs 填充(在属性定义中设置 fluent: true)的 MozLitElements 现在可以具有额外的每个实例 data-l10n-attrs(现在添加此属性,而不是被替换)Bug 1987682。
    • 这可能特别有用,尤其是对于 moz-buttonaccesskey,由于 Bug 1945032(如果你有一个带有 accesskey 的隐藏 HTML 元素,它仍然会触发,在 Chrome 文档中我们将停止这样做,因为 XUL 就是这样工作的),它目前还不是一个 fluent 属性。

标签组

  • dwalker 完善了“折叠组中的活动标签”功能 (1979067, 1971388)。
  • jswinarton 完善了折叠标签组悬停预览面板 (1981197, 1971235, 1981201, 1983054)。现在已在 Nightly 中,可能在 Firefox 145 发布。
  • 特别感谢贡献者 Merci chao 在上个月提交了 17 个标签组错误!所有错误都写得很好,可操作,有时甚至包含修复方案。

前沿浏览体验

下载 Firefox Nightly

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计