...あなたの友達です。
これはChromeの要約版です。具体的には、ソースツリーに含まれているファイル、またはChromiumレポのファイルに含まれるファイルのいずれかを使用しています。 Chromiumのコードベースは膨大な量であり、そのほとんどは実際にブラウザには含まれていません。サードパーティのリポジトリからコードが取り出され、ビルドプロセスで煮詰められたり、Chromiumの実装がツリーのどこかに配置されたりすると、たくさんのサイドプロジェクトがあります(興味深いことに、幅広いブラウザの実装と、それがどのように適合するかを具体的に評価するという目標を達成することができなくなります。
CEFは素晴らしいものです.CEFは、すでにすべてのものを一緒に引っ張ってプロジェクトを構築しています。これは非常に具体的にはブラウザのビューでスコープされています。どの部分が主にWebkitから派生したものなのかを簡単に確認できます.Googleの実装でクロスオーバがどこに来るのかが分かり、V8がどのように混乱しているのか簡単に見ることができます。
私たちはまだ全体的に膨大な量のコードを話しているので、私は「簡単に」相対的に言います。 CEFは要求の中心に叩かれるでしょうが、そのものはまだ木の残りの部分から大量のさまざまなものを引き出しています。コンパイルには、12ギガのRAMと8コアの本当に良いコンピュータで約1時間かかります。生成されるファイルは6〜10ギガバイトのようになります。
少なくとも、ここでは何かを拾い上げるために、浅い端にすばやくジャンプすることはありません。ブラウザは膨大な量の個々の機能を包含し、それらを共通のコンテキストに組み込む必要があるため、非常に複雑なエンジニアリングが不可欠です。あなたが探しているものを見つけることができますが、それは数十から数百のファイルで構成されている可能性のあるクラスライブラリの一部であることがわかります。これらのライブラリは、各タスクを処理するために100以上のライブラリに依存していますだから、本当に何かを取り除くには、与えられた情報よりも多くの時間を費やす必要があります。
編集:あなたの具体的な例としてああ。
SRCは、「クローム」の木が大きく、直接の実装を(多くのものがそこにかかわらず、ではありませんが、そのほとんどがさえ含まれていますが、それは出発のルートhttp://src.chromium.org/viewvc/chrome/trunk/src
/クロムhttp://src.chromium.org/viewvc/chrome/trunk/src/chrome
ですポイント)。これはhttp://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/
はあなたがなりたい場所に閉じるようになっている
/クロム/ブラウザ(Chrome OSのクレイジー極端に取らクロムブラウザの一種である)ChromeOSのと重複しています。タブやその他のもの(ブラウザーの実際の実装の巨大な象を無視する)のように、ブラウザーに対応できるものへの具体的な参照が表示され始めます。
/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/
。しかし、これはあなたがたくさん見つけたものです。ここのコードは、他の場所に構築されているいくつかのクラスの実装です。ウェブビューではないGUIコンポーネントの場合は、ルート "ui"とそのネイティブウィジェットを指しています。これは実際のイベント処理コードの大部分が正しく記憶されている場所です。
出発点として、あなたが見ているもののより良い概要を示すhttp://www.chromium.org/developers/how-tos/getting-around-the-chrome-source-codeを読んでください。その怪しいsrc /ディレクトリにあります。 (私は本当にこれが単なるヒントであるので、これは良い_answer_と思っていませんでした) – maligree
[新しいコードベースについてのあなたのやり方をどうやって見つけますか?](http://stackoverflow.com/質問/ 70124/how-do-you-find-your-way-around-a-new-codebase) – Justin
grepはあなたの友人です。メインとトレースを見つける。大きなコードベースをナビゲートすることは自明ではありません。 – Chris