這是基于IE內(nèi)核的多進(jìn)程瀏覽器Raptor下載,史上最小的基于IE內(nèi)核的多標(biāo)簽多進(jìn)程瀏覽器,只有一個400多K的EXE文件,無需安裝,無需注冊,直接運行。主窗口一個進(jìn)程,所有插件是一個進(jìn)程,每個瀏覽器頁面是一個進(jìn)程。
基于IE內(nèi)核的多進(jìn)程瀏覽器Raptor是 為了瀏覽器更強的健壯性,更快的響應(yīng)速度,同時更也更安全,目前瀏覽器均采用多進(jìn)程架構(gòu)。例如Google Chrome即是創(chuàng)建三種不同類型的進(jìn)程:瀏覽器進(jìn)程,渲染器進(jìn)程,插件進(jìn)程。
可以從 Raptor 源碼中獲得下述技術(shù)的實現(xiàn):
•如何加載瀏覽器控件并響應(yīng)事件。
•如何讓不同的進(jìn)程執(zhí)行不同的功能。
•如何通過 COM 技術(shù)實現(xiàn)多進(jìn)程互操作,它不一定是最佳的多進(jìn)程通信方式,但一定是最簡潔的。
•如何實現(xiàn)進(jìn)程外COM組件的免注冊和啟動。
•如何注冊自定義的MIME協(xié)議。在 Raptor 的實現(xiàn)中,注冊了 raptor: 協(xié)議。事實上,在地址欄輸入“raptor:newtab”可打開新建標(biāo)簽頁面,“raptor:history”可打開瀏覽歷史頁面,“raptor:product”可打開自我介紹頁面。
•學(xué)習(xí)具有AERO效果的TAB控件,可以在TAB標(biāo)簽的左右加入工具欄按鈕。源碼實現(xiàn)中的TAB標(biāo)簽的繪制圖片完全來自CHROME,本人不是美工,做不出漂亮的圖片,只好出此下策,希望谷歌海涵,呵呵。
•工具欄按鈕有一點小的動畫效果,其它的沒什么東東值得說的……
渲染器進(jìn)程:渲染器進(jìn)程會創(chuàng)建多個進(jìn)程,每個都負(fù)責(zé)渲染網(wǎng)頁。渲染器進(jìn)程中包含用于操作HTML,JavaScript,CSS,圖片和其他內(nèi)容的復(fù)雜的邏輯。我們使用了也同樣被Apple Safari瀏覽器使用的開源的WebKit渲染引擎實現(xiàn)以上功能。每個渲染器進(jìn)程都運行在沙箱內(nèi),這意味著它對磁盤、網(wǎng)絡(luò)和顯示器沒有直接的訪問權(quán)限。所有跟網(wǎng)絡(luò)應(yīng)用的交互,包括用戶輸入事件和屏幕繪制都必須通過瀏覽器進(jìn)程。這可以讓瀏覽器進(jìn)程監(jiān)視渲染器的可疑行為,一旦發(fā)現(xiàn)其從事破壞活動就將其終止。