webkit port 分析

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

1. 首先要培养强大的精神力,不然编译这一关就死掉了 。

2. 参考别人是怎么port的

gtk webkit

http://trac.webkit.org/wiki/HackingGtk

ws webkit

http://wxwebkit.wxcommunity.com/index.php?n=Main.PortStructure

 

3. JavascriptCore (简称jsc)

这部分port的工作主要是实现jsc的后端部分, 需要port的部分在 JavaScriptCore/wtf中.

不同平台的port放在各自的文件夹里面,例如 qt, wx,mac, ipmacro

(可以看到qt的port做的事情比其他平台的多,因为他除了port,还有做了一些扩展API, 果然qt-webkit是一个web-based app的framework,而不是app)

jsc部分基本上是不需要port,能编译得过就OK。

 

4. WebCore

这部分的port以后端的移植为主,特别是渲染层的port

4.1 WebCore/editing

WebCore/editing 这部分主要是port下编辑框的实现, 还有复制粘贴板

4.2 WebCore/page

EventHandler

DragController(拖放处理)

4.3 WebCore/graphics

这部分主要是处理下graphic context, 画矩形,画图之类的port (这里的实现就需要依赖具体的平台的渲染接口了)

4.4 WebCore/platform/text

这部分比较简单,就是处理下webkit的字符串类到具体平台的字符串的port(比如String -> wxstring)

4.5 WebCore/platform

这部分要做的事情比较多,也比较杂,都是具体平台相关的, 比如画滚动条,画光标,弹出菜单, 鼠标键盘事件的处理, 获取系统时间等。

 

5. Webkit

这部分的port以前端的移植为主, 如 webview, webframe的实现为主, 这部分主要处理的是用户的操作。(一个webview就是一个浏览器窗口了)

 

6. 移植代码量统计 (以 WX为例)

文件数(.h + .cpp) 108

代码行数: 10334

占移植代码量最多的是两大部分:

WebCore/platform (3000多行)

Webkit (4000多行)

webkit介绍 An Open Source web browser engine The backend for Apple’s Safari browser Used in Apple’s iPhone Also ported to, ships with all Symbian S60 devices An Open Source project inviting contributions to the core engine as well as welcoming ports to new platform. 立即下载

相关推荐

浅谈WebKitPort

载自: http://ourpgh.blogspot.com/2008/10/webkitport.html WebKit作为一个浏览器引擎,其相对于Gecko而言一个较大的特点就是便于移植,嵌入到其他程序中,目前大家已了解使用WebKit引擎的应用包括Safari、iPhon

bertzhang的专栏 2720

WebKit核心:WebKit结构简介

WebKit是一个开源的浏览器引擎, 主要用于渲染网页内容。WebKit的结构主要包括WebCore、JavaScriptCore、WebKit Ports和WebKit API等组件。

单口相声Jay 535

WebKitPort

原文链接:http://blog.csdn.net/leeeryan/article/details/6131098 ============================================================================

技术的学习与积累是个技术活 1484

开发者需要了解的WebKit

Paul Irish 大湿为我们带来了这篇开年大作,文章深入浅出的阐述了各 Webkit port 的迥异,文笔细腻,是一篇不可多得的 Webkit 入门开胃菜(Paul Irish是著名的前端开发工程师,同时他也是Chrome开发者关系团队成员,jQuery团队成员,Modernizr、 Yeoman、CSS3 Please和HTML5 Boilerplate的lead developer)

Jack Zhou的专栏 2316

浅谈WebKitPort

WebKit作为一个浏览器引擎,其相对于Gecko而言一个较大的特点就是便于移植,嵌入到其他程序中,目前大家已了解使用WebKit引擎的应用包括Safari、iPhone、Chrome、Android、Nokia S60 Browser及KDE QT4.4等,同时还有其他方面的移植如Gtk、wxWidget、3D等,可以说WebKit从架构上讲其Port移植方面的设计及应用,是非常优秀的。这一点相

tuhuolong的专栏 2102

WebKit三件套(3):WebKitPort

了解其有关Port方面的设计,从而了解究竟如何能移植WebKit到自己的应用中。WebKitPort方面的内容是可以很广的,例如可将不同的图形库、网络库与WebCore集成,提供不同的Port接口供外部程序使用等,例如同样在windows平台上可以运行的Google Chrome和Safari就是针对WebKit的不同移植。我们想了解有关Port方面的主要内容在于提供不同的Port接口供外部程序使用以及如何与外部程序交互,因为。

周陆军的博客,分享it技术。 208

[转]开发者需要了解的WebKit(mark)

以下内容转自:http://www.infoq.com/cn/articles/webkit-for-developers ------------------------------------------------------------------------------- Paul Irish是著名的前端开发工程师,同时他也是Chrome开发者关系团队成员,jQuery团队成员,Mo...

weixin_30578677的博客 97

Webkit架构解析与实战:从渲染原理到性能优化

浏览器渲染引擎是现代Web应用的核心技术组件,负责将HTML、CSS和JavaScript代码转换为用户可视的网页界面。其工作原理遵循从解析、构建对象模型到布局、绘制、合成的完整流水线,这一流程直接决定了页面的加载速度、交互流畅度和渲染一致性。在工程实践中,深入理解渲染引擎的内部机制,特别是布局(Reflow)与绘制(Painting)的触发条件与性能开销,对于进行有效的前端性能优化至关重要。通过开发者工具深入分析渲染过程,并结合对内存管理与图层合成机制的理解,开发者可以系统性解决常见的性能瓶颈,如布局抖动

weixin_34357928的博客 351

Pwn2Own2018提权秘籍:XNU内核漏洞实现从普通用户到root的终极突破

Pwn2Own2018项目是一个完整的漏洞利用链,通过三个不同的漏洞实现从JavaScript代码执行到获取macOS系统root权限的终极突破。本文将详细解析这个漏洞利用链的实现过程,帮助安全爱好者了解漏洞利用的关键技术和步骤。 ## 漏洞利用链概述 🚀 该漏洞利用链共包含六个阶段,每个阶段都有明确的目标和实现方式: * **stage0/**:WebKit漏洞利用,通过JavaScri

gitblog_00370的博客 655

WebKit Port部分

WebKit Port部分       WebKit作为一个浏览器引擎,其相对于Gecko而言一个较大的特点就是便于移植,嵌入到其他程序中,目前大家已了解使用WebKit引擎的应用包括Safari、iPhone、Chrome、Android、Nokia S60 Browser及KDE QT4.4等,同时还有其他方面的移植如Gtk、wxWidget、3D等,可以说WebKit从架构上讲其Por

编程猫的专栏 1574

WebKitPort篇幅介绍

一、有关Port方面的概述 在通过了解浅谈WebKit之WebCore篇之后,应该说WebKitPort方面的内容是可以很广的,例如可将不同的图形库、网络库与WebCore集成,提供不同的Port接口供外部程序使用等,例如同样在windows平台上可以运行的Google Chrome和Safari就是针对WebKit的不同移植。 我们想了解有关Port方面的主要内容在于提供不同的Por

557

webkit渲染过程

webkit项目规模庞大,但目录结构十分清晰,通过目录结构可以更好的了解webkit的功能模块,也有助于理解后面对模块和机制的介绍。

liubenzun的博客 1449

Webkit结构简介

Webkit起源于1998年,最初是作为KDE项目的KHTML的一部分。随着时间的发展,它逐渐演变成一个独立的渲染引擎,并成为多个浏览器的选择。Webkit作为一个强大的浏览器引擎,其结构和性能优化对于前端开发者来说至关重要。通过深入了解Webkit的工作原理,开发者可以更好地编写高性能的网页应用。未来,随着Web技术的不断进步,Webkit也将继续演化,为用户提供更加丰富和高效的网络体验。

小透明的博客 738

WebKit结构简介

对WebCore 中的page/loader 等方面的类提供对应Port 的实现支持如EventHandlerWin.cpp 、FrameLoaderWin.cpp 、DocumentLoaderWin.cpp、DocumentLoaderWin.cpp、WidgetWin.cpp、KeyEventWin.cpp等. Loader 是在WebKit 里面一个很重要的连接器,通过loader 发起IO下载网页,再通过loader发起解析,已经最后的渲染功能。

Alonei6的博客 686

WebKit三件套(1):WebKit之WebCore篇

导语:Chrome浏览器的代码量其实是非常庞大的,要想对其有深入的理解,仅仅编译编译调试调试,是很难深入下去的。

周陆军的博客,分享it技术。 564
上一篇: VC 链接报错: LNK1106 解决办法
下一篇: iPad2缺少的4.5个特性
helloaya
博客等级 码龄21年 33粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值