这是基于IE内核的多进程浏览器Raptor下载,史上最小的基于IE内核的多标签多进程浏览器,只有一个400多K的EXE文件,无需安装,无需注册,直接运行。主窗口一个进程,所有插件是一个进程,每个浏览器页面是一个进程。
基于IE内核的多进程浏览器Raptor是 为了浏览器更强的健壮性,更快的响应速度,同时更也更安全,目前浏览器均采用多进程架构。例如Google Chrome即是创建三种不同类型的进程:浏览器进程,渲染器进程,插件进程。
可以从 Raptor 源码中获得下述技术的实现:
•如何加载浏览器控件并响应事件。
•如何让不同的进程执行不同的功能。
•如何通过 COM 技术实现多进程互操作,它不一定是最佳的多进程通信方式,但一定是最简洁的。
•如何实现进程外COM组件的免注册和启动。
•如何注册自定义的MIME协议。在 Raptor 的实现中,注册了 raptor: 协议。事实上,在地址栏输入“raptor:newtab”可打开新建标签页面,“raptor:history”可打开浏览历史页面,“raptor:product”可打开自我介绍页面。
•学习具有AERO效果的TAB控件,可以在TAB标签的左右加入工具栏按钮。源码实现中的TAB标签的绘制图片完全来自CHROME,本人不是美工,做不出漂亮的图片,只好出此下策,希望谷歌海涵,呵呵。
•工具栏按钮有一点小的动画效果,其它的没什么东东值得说的……
渲染器进程:渲染器进程会创建多个进程,每个都负责渲染网页。渲染器进程中包含用于操作HTML,JavaScript,CSS,图片和其他内容的复杂的逻辑。我们使用了也同样被Apple Safari浏览器使用的开源的WebKit渲染引擎实现以上功能。每个渲染器进程都运行在沙箱内,这意味着它对磁盘、网络和显示器没有直接的访问权限。所有跟网络应用的交互,包括用户输入事件和屏幕绘制都必须通过浏览器进程。这可以让浏览器进程监视渲染器的可疑行为,一旦发现其从事破坏活动就将其终止。