Firefox 扩展面板优化与DevTools改进——第191期双周技术动态

本期文章详细介绍了Firefox浏览器在扩展面板用户体验、WebExtension API、开发者工具(DevTools)等方面的技术改进与bug修复,包括新增空状态UI、存储API增强、调试器功能优化以及多项内部工程工作流更新。

亮点

作为扩展面板改进的一部分,我们引入了空状态UI,以帮助用户理解为什么他们已安装的扩展可能未在面板中列出(例如,当打开隐私浏览窗口或启用永久隐私浏览模式时)。

  • 当当前未安装任何扩展时显示的空状态。
  • 当已安装扩展但不允许其访问隐私浏览标签页时显示的空状态。

当在启用永久隐私浏览模式的情况下安装扩展时,允许扩展在隐私浏览窗口中运行的复选框将默认启用。

感谢Tor项目的Pier Angelo Vendrame提供的此项增强功能。

Firefox团队的朋友们

解决多个Bug的贡献者(非员工)

  • Khalid AlHaddad
  • Kyler Riggs [:kylr]
  • Michael van Straten [:michael]
  • Pier Angelo Vendrame

新贡献者(🌟 = 第一个补丁)

  • Mag Mukendi:
    • 🌟Console.log()会将URL字符串中的小写’l’字符转为大写
  • Khalid AlHaddad:
    • [wdspec] 经典WebDriver的Cookie测试可能会遗留设置的cookie,导致后续测试失败
    • [wdspec] 将 “add_cookie” 夹具重命名为 “add_document_cookie”
  • PhuongNam:
    • 🌟about:about未列出about:firefoxview
  • Kyler Riggs [:kylr]:
    • 🌟从可拖拽区域调出的标签条上下文菜单中应存在"开启垂直标签页"选项
    • 菜单栏上下文菜单存在多余的分隔符
  • Jim Gong:
    • browsingData.remove()中清除sessionStorage以实现与"清除Cookie和网站数据"功能的对等

项目更新

附加组件 / Web扩展

扩展管理器 & about:addons

除了新的空状态UI外,未安装附加组件的用户将被引导了解扩展。——Bug 1982225 / Bug 1992179 / Bug 1778684 / Bug 1814871(以及Bug 1994180将跟进调整几个本地化字符串)。

WebExtension APIs

  • 感谢Jim Gong贡献的增强功能,从Firefox 146开始,browsingData.remove API也将允许扩展清除sessionStorage WebAPI数据——Bug 1886894
  • Valentin Gosu在Firefox 145中为WebExtensions代理API引入了masque代理支持——Bug 1988988
  • 调查并修复了因在storage.sync WebExtensions API后端存储深度嵌套的JSON数据而触发的崩溃(此问题在Firefox 135中作为Bug 1888472引入的后端变更的副作用出现)。该修复已登陆Firefox 145,并已提升至Firefox 144 beta、Firefox 143.0.3版本和Firefox ESR 140.0.3——Bug 1989840
  • 新增Glean探针,用于评估storage.local API底层sqlite3数据存储索引数据库损坏问题(作为Bug 1979997和Bug 1885297调查的一部分)对实际环境的影响。
    • 注意:新增一个隐藏的布尔型about:config偏好设置extensions.webextensions.keepStorageOnCorrupted.storageLocal,当检测到Bug 1979997的数据库损坏问题时,该设置会自动重置storage.local索引数据库,并在遇到Bug 1885297的损坏键时,防止browser.storage.local.clear API调用失败。
    • 注意:我们打算在更多Nightly版本周期中默认禁用自动重置行为,以便在审查新的遥测数据后,在所有渠道上启用自动重置行为(后续工作由Bug 1992973跟踪)。

DevTools

  • Mag Mukendi移除了控制台中链接的斜体字体样式 (#1982207)
  • Alexandre Poirot [:ochameau] 在调试器中为压缩代码添加了自动美化打印功能 (#1917012)
  • Julian Descottes [:jdescottes] 修复了阻止在调试器中设置事件监听器断点的问题 (#1992769)
  • Nicolas Chevobbe [:nchevobbe] 恢复了检查器中的性能回归 (#1991119)
  • Alexandre Poirot [:ochameau] 修复了DevTools中的一些内存泄漏问题 (#1993262)

Lint、文档和工作流

ESLint

  • ESLint规则no-case-declarations现已全面启用(将警告数量从约850减少至约450)

StyleLint

  • 为字体大小和字重令牌添加了新规则。

搜索与导航

地址栏

  • Drew在德国、法国和意大利的英语区域启用了"重要日期"功能。Bug 1992811
  • Dale让新的重新设计的身份面板为本地文件显示预期的图标。Bug 1989844
  • Dharma新增了用于Nimbus实验的搜索入门字符串。Bug 1982132

书签与历史

  • Marco修复了与获取网站图标相关的TopCrash,影响了Firefox 143,修复已在Firefox 144中
  • Emilio修复了书签图标未在菜单中绘制的几种情况。

搜索引擎

  • Pier Angelo Vendrame修复了OpenSearch和搜索引擎图标的来源属性使用问题。Bug 1987600, Bug 1993166
  • Florian优化了searchconfig xpcshell测试,大幅减少了CPU时间消耗。
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计