WebKit 上周动态
性能改进和无前缀内容安全策略
上周共有 166 位作者在 WebKit 中提交了 677 个补丁。本次更新涵盖了这些改动,直至修订版本 133432。
Web Inspector 使用的 CodeMirror 版本(可作为实验性编辑器)已更新至版本 3。现在,非 Mac 平台上可以通过输入 Ctrl+Y 来重做操作。此外,时间轴面板的 CPU 活动功能已从实验阶段提升。同时还实现了本地内存使用概览。
上周带来了不少性能改进。Elliott 通过将 NodeRareData 哈希映射替换为 m_renderer 的联合,提升了 getElementsByTagName 以及其他各种测试的性能,幅度达百分之几。Eric 一直致力于解决 RoboHornet(Pro) 的问题:现在渲染带有列组的表格速度提高了一倍,对 first- 和 lastChild() 进行去虚化处理带来了另外 30% 的提速,同时还有另外 35% 的改进,这使得总测试运行时间从 8.2 秒降低到仅 5.3 秒!
由于无法通过 CSS 设置,CSS Shaders 使用的带有自定义属性的顶点着色器现在被视为无效。-webkit-user-select 属性现在接受“all”值,并且 -webkit-line-break 已更新,也能理解“auto”、“strict”和“loose”。Thiago 提交了针对 @-webkit-viewport 规则的解析支持,同时还支持 max-zoom、min-zoom、orientation 和 user-zoom 这些CSS 属性及其验证。
WebKit 的内容安全策略实现现在将监听 HTTP 响应中包含的无前缀 Content-Security-Policy 头部。此头部将优先于 X-WebKit-CSP,但如果你要向浏览器提供CSP 1.1 功能,则仍必须使用 X-WebKit-CSP。跨站点脚本攻击防护的开发工作已经重新启动。现在将报告格式错误的头部,并且现在可以在 X-XSS-Protection 头部中定义报告 URL。
上周发生的其他变化:
- 由于无人维护,所有与实验性 Undo Manager API 相关的代码已移除。
- 触控调整评分现在根据最大可能重叠区域进行规范化,以解决对较小目标的偏向。
- Apple 已在 Mac 移植中启用了对亚像素布局定位的支持。
- WebKit 现在在 Mac 平台上以 C++11 代码构建。
- 已为所有 WebKit2 用户启用了对“user-select: all”的支持。