WebKit(适用2024年11月份版本)

WebKit是一个跨平台的web浏览器引擎。在iOS和macOS上,它支持Safari, Mail, Apple Books和许多其他应用程序。有关WebKit的更多信息,请参阅WebKit项目网站 WebKit project website.。

尝试最新版本

在macOS上,下载Safari技术预览版来测试最新版本的WebKit。在Linux上,下载Epiphany Technology Preview。但在Windows上,你必须自己构建它。

报告错误

1.搜索WebKit Bugzilla,看看是否有针对你遇到的bug的现有报告。

2.如果你还没有关于登录bug的账号。创建一个Bugzilla帐户来报告bug(并对其进行评论)。

3.按照我们的指导方针和规则提交bug。

一旦你的bug被归档,你就会在bug生命周期的每个阶段收到更新的邮件。在认为修复了错误之后,系统可能会要求您在latest nightly 下载最新版本,并确认修复对您有效。

获取代码

运行以下命令克隆WebKit的Git存储库:

git clone https://github.com/WebKit/WebKit.git WebKit

你可以使用git config core来启用git fsmonitor,使许多git命令更快(比如git status)。fsmonitor真实

构建WebKit

搭建苹果开发平台

如果你还没有安装Xcode和它的命令行工具:

  1. https://developer.apple.com/downloads获取Xcode。要为OS X构建WebKit,需要Xcode 5.1.1或更高版本。要为iOS模拟器构建WebKit,需要Xcode 7或更高版本。

  2. 在终端安装Xcode命令行工具,运行命令:Xcode -select------Install

运行以下命令构建带有调试符号和断言的macOS调试构建:

Tools/Scripts/build-webkit --debug

对于性能测试和其他目的,使用------release代替。

嵌入式的构建

要构建一个嵌入式平台,如iOS, tvOS,或watchOS,传递一个平台参数build-webkit。

例如,要为嵌入式模拟器构建带有调试符号和断言的调试构建:

Tools/Scripts/build-webkit --debug --<platform>-simulator

或嵌入式设备:

Tools/Scripts/build-webkit --debug --<platform>-device

这里的平台是ios, tvos或watchos。

使用Xcode

你可以打开WebKit。在Xcode中构建和调试WebKit。选择"Everything up to WebKit + Tools"方案来构建整个项目。

如果你没有在Xcode首选项中使用自定义构建位置,你必须更新工作空间设置,使用WebKitBuild目录。在菜单栏中,选择File > Workspace Settings,然后点击Advanced按钮,选择"Custom","Relative to Workspace",然后输入WebKitBuild构建中间代码,以致最终的产品执行文件。

构建GTK接口

对于生产版本:

cmake -DPORT=GTK -DCMAKE_BUILD_TYPE=RelWithDebInfo -GNinja
ninja
sudo ninja install

对于开发构建:

Tools/gtk/install-dependencies
Tools/Scripts/update-webkitgtk-libs
Tools/Scripts/build-webkit --gtk --debug

有关构建WebKitGTK的更多信息,请参阅wiki页面wiki page.。

构建WPE接口

对于生产版本:

cmake -DPORT=WPE -DCMAKE_BUILD_TYPE=RelWithDebInfo -GNinja
ninja
sudo ninja install

对于开发构建:

Tools/wpe/install-dependencies
Tools/Scripts/update-webkitwpe-libs
Tools/Scripts/build-webkit --wpe --debug

构建Windows接口

有关在Windows上构建WebKit,请参见Windows上的WebKit页面 WebKit on Windows page.

运行WebKit

与Safari和其他macOS应用程序

运行以下命令,使用本地构建的WebKit启动Safari:

Tools/Scripts/run-safari --debug

run-safari脚本将DYLD_FRAMEWORK_PATH环境变量设置为指向构建产品,然后启动/Applications/Safari.app。DYLD_FRAMEWORK_PATH告诉系统加载器优先选择您的构建产品而不是安装在/ system /Library/ frameworks中的框架。

要使用本地构建的WebKit运行其他应用程序,请运行以下命令:

Tools/Scripts/run-webkit-app <application-path>

iOS模拟器

运行以下命令,使用本地构建的WebKit启动iOS模拟器:

run-safari --debug --ios-simulator

在这两种情况下,如果您构建的是发布版本,请使用------release而不是------debug。

要使用本地构建的WebKit运行其他应用程序,例如MobileMiniBrowser,请运行以下命令:

复制代码
Tools/Scripts/run-webkit-app --debug --iphone-simulator <application-path>
使用Xcode

开放的WebKit。xcworkspace,选择目标方案(如MobileMiniBrowser和iOS模拟器),单击运行。

Linux接口

如果你有一个开发版本,你可以使用run-minibrowser脚本,例如:

run-minibrowser --debug --wpe

传送------gtk、------jsc-only或------wpe中的一个参数来指示来调用的接口。

Contribute贡献

恭喜你!你已经开始工作了。现在,您可以开始在WebKit中编写代码,并为项目贡献您的修复和新功能。有关向项目提交代码的详细信息,请参阅贡献代码。Contributing Code.

相关推荐
神夜大侠5 分钟前
VUE 实现公告无缝循环滚动
前端·javascript·vue.js
明辉光焱7 分钟前
【Electron】Electron Forge如何支持Element plus?
前端·javascript·vue.js·electron·node.js
柯南二号40 分钟前
HarmonyOS ArkTS 下拉列表组件
前端·javascript·数据库·harmonyos·arkts
wyy729342 分钟前
v-html 富文本中图片使用element-ui image-viewer组件实现预览,并且阻止滚动条
前端·ui·html
前端郭德纲1 小时前
ES6的Iterator 和 for...of 循环
前端·ecmascript·es6
王解1 小时前
【模块化大作战】Webpack如何搞定CommonJS与ES6混战(3)
前端·webpack·es6
欲游山河十万里1 小时前
(02)ES6教程——Map、Set、Reflect、Proxy、字符串、数值、对象、数组、函数
前端·ecmascript·es6
明辉光焱1 小时前
【ES6】ES6中,如何实现桥接模式?
前端·javascript·es6·桥接模式
PyAIGCMaster1 小时前
python环境中,敏感数据的存储与读取问题解决方案
服务器·前端·python
baozhengw1 小时前
UniAPP快速入门教程(一)
前端·uni-app