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