Hacker News 中文摘要

RSS订阅

瓢虫浏览器七月更新 -- Ladybird Browser July Update

文章摘要

Ladybird在2025年7月取得了多项进展,合并了47位贡献者的319个拉取请求,并新增了Scraping Fish和Blacksmith两家赞助商。Web Platform Tests新增了13,090个通过测试,总数达到1,831,856。修复了postMessage实现中的问题,使Google reCAPTCHA得以通过,但目前仅支持特定域名。此外,项目还新增了高刷新率检测功能。

文章总结

Ladybird 2025年7月月度报告

亲爱的朋友们,七月已经结束。本月,我们合并了来自47位贡献者的319个拉取请求。Ladybird项目完全依赖于相信开放网络的公司和个人的慷慨支持。我们非常高兴地欢迎以下新赞助商:

  • Scraping Fish 赞助了5000美元
  • Blacksmith 提供了高性能的CI基础设施

我们对此深表感谢。如果您有兴趣赞助该项目,请联系我们

Web平台测试(WPT)

我们在Web平台测试方面取得了一些进展,新增了13,090个通过测试,总数达到1,831,856个。

Google reCAPTCHA通过

我们修复了一个长期存在的postMessage实现问题,现在Google reCAPTCHA可以通过了。不过,由于同源策略问题,目前仅适用于https://www.google.com/

高刷新率支持

我们现在检测活动屏幕的刷新率,以确定网页内容的渲染频率。之前,渲染固定在每秒60帧。现在,使用requestAnimationFrame的网站在支持的硬件上可以以高达120Hz的频率渲染,提升了滚动、动画和过渡的流畅度。

HTTP/3支持

由于curl 8.14.0增加了对HTTP/3的支持,Ladybird现在也支持HTTP/3。我们通过Alt-Svc头与支持HTTP/3的服务器进行协商。此外,我们还发现并报告了curl中Alt-Svc: clear解析错误的问题,该问题已在curl 8.15.0中修复。

Trusted Types

我们初步支持了Trusted Types,这是一种安全功能,通过锁定注入点(如Element.innerHTMLHTMLScriptElement.textHTMLScriptElement.src)来防止跨站脚本攻击(XSS)。我们正在进一步支持更多规范并提高合规性。

SVG foreignObject改进

我们对foreignObject的处理进行了重大改进,布局、样式解析和嵌入HTML的渲染现在更符合规范,提升了HTML与SVG的集成。

CSS content: url(...)

我们增加了对CSS伪元素(如::before::after)中使用content: url(...)的支持,允许通过CSS内容插入图像。

:state(foo):unchecked伪类

我们新增了两个伪类::state(foo)匹配自定义元素的状态集包含"foo"的元素,:unchecked匹配可选中但当前未选中的元素。这些新增功能提升了与Web组件和现代表单样式的兼容性。

逻辑属性组

我们在编译时生成了逻辑属性到物理属性的映射,提升了CSS的保真度和性能。

任意替换函数

我们重写了var()attr()的实现,以符合CSS规范中任意替换函数的定义,为未来支持其他替换函数(如if()env())奠定了基础。

<syntax>解析

我们支持了CSS中的<syntax>类型,用于在attr()中定义属性值的预期语法,提升了CSS Houdini和自定义属性的行为。

@property进展

我们开始完善@property的实现,现在支持@property声明中定义的初始值,并初步支持CSS.registerProperty(),向完整的Houdini支持迈进了一步。

Web使用UTF-16

我们引入了原生的UTF-16字符串类型,并开始将LibJS和LibWeb内部转换为使用UTF-16,简化了实现并避免了与Unicode相关的边缘情况错误。

致谢

我们感谢所有本月贡献代码的开发者,名单如下:

Abhinav, Ali Mohammad Pur, Aliaksandr Kalenik, Andreas Kling, Andrew Kaster, aplefull, Arran Ireland, ayeteadoe, Ben Eidson, Callum Law, Chase Knowlden, dmaivel, edvwib, Gingeh, Glenn Skrzypczak, Grant Knowlton, InvalidUsernameException, Jan Koudijs, Jelle Raaijmakers, Kemal Zebari, Kenneth Myhra, Lucien Fiorini, Luke Wilde, Manuel Zahariev, Michael Manganiello, mikiubo, norbiros, Olekoop, Philipp Dreher, Psychpsyo, rmgx, Rocco Corsi, Ryan Liptak, Sam Atkins, Shannon Booth, Tete17, Tim Ledbetter, Timothy Flynn, Trey Shaffer, Undefine, Veeti Paananen, zac

评论总结

  1. 项目贡献指南与测试:评论1提供了详细的贡献指南和最新的Web Platform测试链接,建议用户自行编译并测试Ladybird浏览器,与Firefox或Chrome进行比较并提交PR。

    • "Compile it yourself (it takes 15-20 minutes to fully compile) and test it on a website."
    • "Compare it to Firefox or Chrome and see what's wrong. Fix it and submit a PR."
  2. 对项目的积极评价:评论2和评论3表达了对Ladybird项目的积极看法,认为这是一个重要的项目,能够防止大公司完全控制网络的未来,并对团队的协作精神表示赞赏。

    • "It is so amazing and wholesome to see a huge team of people come together and just collaborate on something they are passionate about."
    • "This is such an important project, to keep the big corporations from completely controlling the future of the web."
  3. 项目介绍与资源:评论4提到Andreas在FUTO会议上的主题演讲是了解Ladybird项目的最佳介绍,并提供了视频链接。

    • "Andreas points out that his Keynote Presentation on the Ladybird Browser on the FUTO conference in Texas earlier in the year, might be the best current introduction to the project."
  4. 技术疑问与建议:评论5对网络使用UTF-16表示疑惑,评论8询问Swift的使用情况,评论11指出120Hz的刷新率限制在高刷新率显示器上可能存在问题。

    • "The web is UTF-16 ? WTF"
    • "Any news on the usage of Swift?"
    • "120Hz limit for high refresh rate support seems strange."
  5. 信息获取与沟通渠道:评论6、评论7和评论9讨论了项目的RSS订阅和Discord使用问题,建议提供更公开和可搜索的沟通渠道。

    • "For some reason I can't find the RSS feed for the newsletter."
    • "Why Discord though? Truly independent project, keep big corps away, yet using the most walled garden of walled gardens."
    • "If their blog has an RSS feed, that would be great for people who want to follow their work."
  6. 项目未来展望:评论10希望Ladybird能加入WHAT-WG指导小组,增加独立声音。

    • "I wonder if Ladybird will ever become a member of the WHAT-WG steering group."