WebKit 上周回顾
新的希望
本周发生了很多很棒的变化。WebKitGTK+ 2 发布了首个稳定版本,它是 WebKit2 的 GTK+ 移植。大量的清理工作一直在进行,WebKit 变得更小,构建速度更快。机器人基础设施也从旧服务器迁移到了独立于 chromium 的新家。
新特性
本周的一些新功能
- Allan 开始支持 CSS4-Image 的 image-rendering 属性。WebKit 已经有一个 -webkit-image-rendering 属性,但现在支持 CSS4 的值 crisp-edges、 pixelated 以及实验性的 -webkit-smooth。目前这需要编译标志 CSS4_IMAGES 启用,且默认禁用。
- Dongwoo 添加了对 CSS 3 的 text-justify 属性的解析支持。该功能仍需要构建标志 CSS3_TEXT 启用,且默认尚未启用。
- Anton Obzhirov 添加了 GTK+ 平台支持,用于 Page Visibility。
- Victor Costan 提交了一个补丁来规范化 blob 对象的 MIME 类型。
- Sukolsak 将 MutationRecord 类型暴露给了 JavaScript window 对象。
- Jaehun 添加了对 新的 text-indent hanging 值的解析支持。目前这仍是实验性的,带有 -webkit- 前缀,并且默认情况下需要 CSS3_TEXT 才能启用。
引擎工程
之前由 chrome 处理的所有基础设施现在都已迁移到 WebKit。sheriffbot 现在被称为 webkitbot,并且更聪明(也更诙谐)。
提交队列已迁移到 http://webkit-queues.appspot.com。测试结果服务器在此处: http://webkit-test-results.appspot.com。
得益于 DFG 对 字符串比较 (String comparison) 和 String.fromCharCode 的实现,JavaScript 字符串的处理速度变得更快。渲染速度也因更智能的分块启发式算法而在加载期间和窗口调整大小时得到提升。
在安全性方面,正在进行大量积极主动的工作,两个值得注意的改变是 Vector 类添加了边界检查,以及在 Linux 上通过 seccomp 过滤器为 WebKit2 开始进行进程沙箱化。
本周的主要精力仍然集中在清理 chromium 遗留的代码。一些人也借此机会重构头文件包含以减少构建时间。
本周的 WebKitten 是 Ryosuke Niwa,他出色地完成了所有基础设施的迁移和 WebKit 的清理工作。
一些值得期待的酷炫事情
- Dirk Schulze 开始着手将 StyleBuilder 恢复往日荣光。
- GTK+ 可能会切换到 CMake,从而减少构建系统的噩梦。
- 如果 Windows 工程师成功,Windows 移植版本也可能切换到 CMake。