文章摘要
Servo项目9月取得显著进展,合并了447个拉取请求,重点实现了内联SVG元素渲染功能,改进了网页显示效果,同时完成了Outreachy实习生项目。该项目致力于为开发者提供轻量高效的网页技术嵌入方案。
文章总结
Servo 项目月度进展:可变字体、网络工具、SVG 等新特性
发布日期:2025年9月25日
项目目标:为开发者提供轻量级、高性能的嵌入式网页技术解决方案
核心亮点
SVG 渲染支持
- 实现了内联 SVG 元素渲染(@mukilan, @Loirooriol),显著提升如谷歌首页等网站显示效果
- 示例:谷歌 Logo 实际为 SVG 元素
CSS 网格布局增强
- 支持命名网格线和区域功能(@nicoburns, @loirooriol),需通过
layout_grid_enabled参数启用
- 支持命名网格线和区域功能(@nicoburns, @loirooriol),需通过
可变字体支持
- 全桌面平台实现 CSS
font-variation-settings(@simonwuelker, @mrobinson) - 新增对 OpenType 集合文件(.ttc)的读取支持(@nicoburns)
- 系统字体默认使用 Helvetica(@dpogue)
- 全桌面平台实现 CSS
开发者工具升级
- 新增网络监控面板(@uthmaniv, @jdm)
- JS 调试器支持显示潜在断点(@delan, @atbrakhi)
- 布局检查器优化未显示节点的可视化(@simonwuelker)
引擎稳定性提升
- 修复异步命中测试导致的崩溃问题(@mrobinson 等),现改为同步线程操作
Web 平台支持
DOM & JS
- 升级至 SpiderMonkey v140 引擎
- 实现 Trusted Types API 核心功能(需通过
dom_trusted_types_enabled启用) - IndexedDB 支持自动递增键和错误报告
- 新增 CookieStore API 原型(@sebsebmc)
CSS 改进
- 支持 CSS
registerProperty()方法注册自定义属性 - 修复弹性盒布局中负交叉尺寸问题
- 优化溢出计算逻辑
- 支持 CSS
性能优化
- 文档渲染帧率限制至 60 FPS
- 动画图像减少不必要的帧计算
- 内联样式表去重,显著降低表单密集型页面的内存占用
- 精简 ICU 库节省 16MB 二进制体积
嵌入与部署
- 确立最低 Rust 版本要求(1.85.0)
- WebDriver 测试通过率提升至 80%
- servoshell 新增标签页网站图标显示功能
社区与赞助
- 月度捐赠额达 5552 美元(环比增长 18.3%)
- 资金用于新增 CI 服务器和核心维护者 Josh Matthews 的工作支持
- 15 个 GitHub 用户通过 thanks.dev 赞助依赖库开发
(注:原文中部分技术细节和贡献者列表已精简,完整信息可查看原始博客。)
评论总结
总结评论内容:
- 支持Servo浏览器引擎的观点(评论1、3)
- 认为Servo能增加用户选择,抵抗Chrome的垄断:"It increases user browsing choice and resists Chrome's hegemony"(评论1)
- 希望有新的赞助商接手开发:"It would be nice if some other sponsor would be found to pick it up"(评论3)
- 对Servo未来发展的设想(评论2、3)
- 建议Firefox未来采用Servo:"Would be funny if Mozilla/Firefox would adopt Servo"(评论2)
- 希望Brave浏览器能参与开发:"I would like to see Brave being more involved"(评论3)
- 对Servo项目性质的探讨(评论4)
- 询问Servo是否属于全新开发项目:"To what extent is Servo a greenfield project?"(评论4)
- 认为现在是参与的好时机:"It seems like a really exciting time to be involved"(评论4)