现在的位置: 主页 > 企业简介 > 文章列表

[WebKit]WebKit2 API解析

作者:北京东方雨泽科技有限公司 来源:www.dfyz6789.com 发布时间:2017-09-03 12:33:25
 

[WebKit]WebKit2 API解析 API概览

主要类图

WebKit提供了灵活的回调机制用来支持客户端与内核的交互,在API中有一些Set Client类的函数,,Client一般就是用于注册针对某一功能的回调函数。

如向WKContext注册history item处理的回调函数,就会使用下面这个结构(WKContext.h):

struct WKContextHistoryClient {

int version;

const void * clientInfo;

WKContextDidNavigateWithNavigationDataCallback didNavigateWithNavigationData;

WKContextDidPerformClientRedirectCallback didPerformClientRedirect;

WKContextDidPerformServerRedirectCallback didPerformServerRedirect;

WKContextDidUpdateHistoryTitleCallback didUpdateHistoryTitle;

WKContextPopulateVisitedLinksCallback populateVisitedLinks;

};

typedef struct WKContextHistoryClient WKContextHistoryClient;

调用WKContextSetHistoryClient就可以完成注册特定的回调函数。

角色与功能

WKView

(浏览视图,,浏览功能的主要入口,也是网页显示与系统平台上的视图控件的适配,平台差异比较大。)

主要用于创建一个浏览界面,整合WKContext, WKPageGroup,WKPage的功能, 平台视图基本功能的适配(绘制、事件响应等)。

如在Mac OS下就是要实现对于NSView的适配。

WKPage

(当前浏览的页面, 负责解析执行页面内容)

-> Frame Loader Client

-> Page Loader Client

-> Policy Client

-> Form Client (表单提交操作的响应)

-> UI Client (JS提示框、焦点变化、菜单显示状态变化、页面绘制功能等)

-> Find Client (页面上的搜索)

-> Context Menu Client(快捷菜单)

-> 页面基本操作 (加载、刷新、关闭、前进、后退等)

-> User Agent管理

-> 页面缩放

-> 与Injected Bundle交互

WKContext

(浏览内容管理功能)

-> History Client

-> Injected Bundle Client

-> Download Client

-> Connection Client

-> Download Request

-> Cached Mode

-> Process Model (Web进程的共享模式)

-> Memory Sampler

通过它的m_supplements成员(一个HashMap)可以提供:

-> Get Application Cache manager

-> Get Battery Manager

-> Get Cookie Manager

-> Get Database Manager

-> Get Geolocation Manager

-> Get Icon Database

-> Get KeyValue Storage Manager

-> Get Media Cache Manager

-> Get Network Info Manager

-> Get Notification Manager

-> Get Plugin Site Data Manager

-> Get Resource Cache Manager

-> Garbage Collection of JavaScript Objects

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:荆州SEO http://jingzhou.4567w.com

  • 上一篇:Python3基本数据类型
  • 下一篇:最后一页
  •