11 2012 档案

摘要:最近看了很多关于Webkit原理的博客和资料,大都是介绍整体构架和诸如资源加载、HTML解析、Rendering等服务端进程的原理。但是新版本的Webkit(Webkit2)是一个多进程模型,而不是过去的单进程模型。这些进程分为两类,分别是:服务端(WebProcess)和客户端(UIProcess)客户端资料的缺少使得我对客户端进程产生了兴趣,经过对代码的研究,找出了一点门道,这里分享给大家。首先介绍一下两个进程的关系顾名思义,服务端就是完成客户端发来的请求并回应,而客户端就是资源或功能的请求者,只不过他们不像Web服务器和浏览器一样处于不同的机器(一般都这样),他们只是两个进程而已。这样做 阅读全文
posted @ 2012-11-22 14:39 有来 有去 阅读(4417) 评论(0) 推荐(0) 编辑
摘要:近日在研究webkit的时候发现了一个函数template<typename T> inline void deleteOwnedPtr(T* ptr){ typedef char known[sizeof(T) ? 1 : -1]; if(sizeof(known)) delete ptr;}一开始对这个函数非常费解,为什么作者不直接delete ptr;通过上stackoverflow提问然后查阅了一些资料后终于得到结果:这是用来防范错误释放incomplete type指针而导致的未知的行为。这样做之后,释放incomplete type指针将引发一个编译错误,... 阅读全文
posted @ 2012-11-15 18:54 有来 有去 阅读(2549) 评论(0) 推荐(1) 编辑

Copyright ©2013 Jiajun. All Rights Reserved.
点击右上角即可分享
微信分享提示