2014-11-21 58 views

回答

3

請閱讀鉻FAQ

是Android版Chrome開源?

Chrome for Android源自Chromium。自第一個版本發佈以來,我們穩步開源所有關鍵組件。您可以使用說明here在Android版Chrome中使用的Android版本構建各種Chromium組件。

8

我對潛水的建議是看看http://code.google.com/p/chromiumembedded/的來源。

這有點鉻的濃縮版,如果你看看文件它專門使用,無論是包含在它的源代碼樹的,或者其中包含從鉻回購文件在逃。 Chromium代碼庫是大量的東西,其中大部分實際上並不在瀏覽器中。有很多來自第三方回購的代碼,然後在構建過程中被淘汰,或者Chromium的實現位於樹的其他地方,還有很多副項目(雖然有趣並且是一個很棒的資源,東西)將阻止您實現特定的瀏覽器實現的目標,以及如何融合在一起。

CEF是偉大的,因爲你可以看到有人誰的已經做了拉動所有的東西,共同打造一個項目,在瀏覽器中查看,並沒有其他特別很作用域的過程。您可以很容易地看到哪些部分主要來源於webkit,您可以看到Google的實施中出現了哪些交叉點,並且您可以很輕鬆地看到V8如何進入混合。

我的確相對而言「很容易」,因爲我們仍然在談論大量的代碼。 CEF會讓你置身於需求的中心,但這些東西仍然從樹的其他部分吸收大量各種各樣的東西。編譯它需要花費大約一個小時的時間在一臺配備12個RAM和8個內核的非常棒的計算機上,生成的文件佔用6-10個小時。

最起碼,還有的不會是任何類型的快速跳轉到淺水區到這裏或那裏撿東西零碎。瀏覽器是必不可少的複雜工程,因爲它們必須包含如此大量的單個功能,然後將它們組合到共享的上下文中。你可能會發現你正在尋找的一件事,但是你會發現它是一個類庫的一部分,它可能由幾十或幾百個文件組成,而這些文件又依靠另外一百個這樣的庫來處理每個任務,所以要真正拿走一些東西,你必須花時間承擔超過任何給定的信息。

編輯:哦,也爲您的具體例子。

src的根http://src.chromium.org/viewvc/chrome/trunk/src

/鉻http://src.chromium.org/viewvc/chrome/trunk/src/chrome

的「Chrome」樹在很大程度上包含了直接實現(很多東西是不是在那裏,雖然,大部分甚至,但這是起點點)。這與ChromeOS的重疊(ChromeOS的是實物拍攝到了瘋狂的極端鉻瀏覽器)

/鉻/瀏覽器http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/

是讓你接近,你想要的。你開始看到你可以匹配到瀏覽器的特定參考,比如標籤和whatnot(忽略了實際瀏覽器實現本身的巨大象徵,它佔據了所有這些東西的大部分頭腦空間)

/chrome/browser/ui http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/ui/

帶你到大多數UI代碼用於瀏覽器。當交叉或者東西遷移時,可能會引起混淆,比如在根src目錄中有一個「ui」,它有一些交叉。

最後http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/ui/omnibox/

已在它的代碼,一個令人驚訝的少量。但這是你發現的很多。這裏的代碼是在別處構建的許多類的實現。對於非webview gui組件,您會發現它們大多指向根「ui」和本地小部件,這是實際事件處理代碼的大部分,如果我沒有記錯的話。

相關問題