2014-11-21 60 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”和本地小部件,这是实际事件处理代码的大部分,如果我没有记错的话。

相关问题