本文主要是介绍Webkit代码阅读记录(1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
代码的开始: Page类
Clients虚基类的集成, Page创建的时候有几个虚类需要实现,他们分别是:
- ChromeClient
- ContextMenuClient
- EditClient
- DragClient
- InspectClient
- PluginHalterClient
- GeolocationControllerClient
下面针对这几个虚类看下具体要实现什么:
- ChromeClient
- webkit的主控制器,这个Client中有很多接口,主要用来控制控件、消息等等这些的处理.
- <重点> ...
- ContextMenuClient
- 这个是内容控制器,主要接口是为了内容正常下载使用。
- <重点> ...
- EditClient
- 输入控制器,主要处理用户输入。其中包括undo,redo,语法检查等等具体功能
- <重点> ...
- DragClient
- 拖拽控制器。处理拖拽
- InspectClient
- 检查控制。检查一个具体的操作是否成功。
- PluginHalterClient
- 插件挂起服务
- GeolocationControllerClient
- 地理定位服务
通过继承上面的几个类,就可以实现自己的Chrome应用了。
当然,如果需要移植一些内容的话,还需要把Webkit中的一些绘制函数和平台相关的类要重新实现,这样就可以把webkit定制成一个自己的内核了。
Webkit中本身已经包含有win32,gtk,qt,wince,android等等的一些绘制和平台相关函数了,如果这些平台的移植,那就不需要作什么了。当然若你想用其他的来作,比如google使用skia引擎实现webkit内部的绘制引擎。那就需要自己按照webkit的类的定义重新实现自己的相关函数即可。
这篇关于Webkit代码阅读记录(1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!