मेरे में डाइविंग की तरह के लिए सिफारिश http://code.google.com/p/chromiumembedded/ के लिए स्रोत पर एक नज़र लेने के लिए है।
यह क्रोम का संघनित संस्करण है और यदि आप उन फ़ाइलों को देखते हैं जो विशेष रूप से उपयोग करते हैं, या तो इसके स्रोत पेड़ में शामिल हैं, या क्रोमियम रेपो से बड़ी फ़ाइलों में शामिल फाइलें शामिल हैं। क्रोमियम कोड बेस एक बड़ी मात्रा में सामान है, जिनमें से अधिकांश वास्तव में ब्राउज़र में नहीं है। तीसरे पक्ष के रिपोज़ से कोड में खींचा जाने वाला एक टन है जिसे फिर निर्माण प्रक्रिया में उबाला जाता है या क्रोमियम का कार्यान्वयन पेड़ में कहीं और स्थित होता है, वहां कई साइड प्रोजेक्ट होते हैं (जबकि रोचक और व्यापक चौड़ाई के लिए एक अद्भुत संसाधन सामान) आपको ब्राउज़र कार्यान्वयन पर विशेष रूप से सम्मान करने और यह कैसे फिट बैठता है, अपने लक्ष्य को प्राप्त करने से रोक देगा।
सीईएफ बहुत अच्छा है क्योंकि आप किसी ऐसे व्यक्ति को देख सकते हैं जो पहले से ही उन सभी चीजों को खींचने की प्रक्रिया को पहले से ही ब्राउज़र दृश्य पर स्कॉप्ड किया गया है और कुछ भी नहीं। आप देख सकते हैं कि कौन से हिस्से मुख्य रूप से वेबकिट से प्राप्त किए जाते हैं, आप देख सकते हैं कि क्रॉसओवर Google के कार्यान्वयन के साथ कहां आता है, और आप आसानी से देख सकते हैं कि कैसे V8 मिश्रण में फेंक दिया जाता है।
मैं सापेक्ष शब्दों में "आसानी से" कहता हूं क्योंकि हम अभी भी कुल मिलाकर कोड की एक बड़ी मात्रा में बात कर रहे हैं। सीईएफ आपको आवश्यकताओं के केंद्र में धक्का देगी, लेकिन वह सामान अभी भी पेड़ के बाकी हिस्सों की भारी मात्रा में खींच रहा है। इसे संकलित करने से मुझे 12 गीगा रैम और 8 कोर के साथ वास्तव में अच्छे कंप्यूटर पर एक घंटे लगते हैं, और जेनरेट की गई फाइलें 6-10 गीगा की तरह होती हैं।
कम से कम, उथले छोर में किसी भी प्रकार की त्वरित कूद नहीं होने के लिए यहां या वहां टुकड़े टुकड़े लेने के लिए कुछ भी नहीं होने वाला है। ब्राउज़र आवश्यक रूप से इंजीनियरिंग के अविश्वसनीय रूप से जटिल टुकड़े हैं, क्योंकि उन्हें कार्यक्षमता के व्यक्तिगत टुकड़ों की इतनी बड़ी मात्रा में कमी करना है और फिर उन्हें साझा संदर्भ में जोड़ना है।आपको वह चीज़ मिल सकती है जिसे आप ढूंढ रहे हैं, लेकिन आप पाएंगे कि यह एक क्लास लाइब्रेरी का हिस्सा है जो संभवतः दर्जनों या सैकड़ों फाइलों से बना है, जो बदले में प्रत्येक कार्य को संभालने के लिए इन पुस्तकालयों में से एक सौ पर निर्भर करता है , इसलिए वास्तव में कुछ दूर ले जाने के लिए आपको किसी दिए गए जानकारी के मुकाबले ज्यादा कुछ करने के लिए समय देना होगा।
संपादित करें: ओह आपके विशिष्ट उदाहरण के रूप में भी।
src जड़ http://src.chromium.org/viewvc/chrome/trunk/src है
/क्रोम http://src.chromium.org/viewvc/chrome/trunk/src/chrome
"क्रोम" पेड़ बड़े पैमाने पर प्रत्यक्ष कार्यान्वयन (सामान का एक बहुत, इसमें से अधिकांश भी वहाँ हालांकि में नहीं है, लेकिन है कि प्रारंभिक है शामिल बिंदु)। यह chromeos साथ ओवरलैप
/क्रोम/ब्राउज़र http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/
आप जहाँ आप होना चाहते करने के लिए बंद करने के लिए हो रही है (chromeos एक पागल चरम पर ले जाया क्रोमियम ब्राउज़र की तरह है) है। आप उन चीज़ों के विशिष्ट संदर्भ देखना शुरू कर देते हैं, जिन्हें आप ब्राउज़र से मिलान कर सकते हैं, जैसे टैब और व्हाट्नॉट (वास्तविक ब्राउज़र कार्यान्वयन के विशाल हाथी को अनदेखा करना जो कि इन सभी चीजों में अधिकांश मस्तिष्क को लेता है)
/क्रोम/ब्राउज़र/ui http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/ui/
आपको उस स्थान पर लाता है जहां अधिकांश UI कोड ब्राउज़र के लिए है। यह भ्रमित हो सकता है जब क्रॉसओवर होता है या जब सामान माइग्रेट होता है, जैसे मूल स्रोत निर्देशिका में "ui" होता है जिसमें कुछ क्रॉसओवर होता है।
और अंत में http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/ui/omnibox/
कौन सा में कोड का एक आश्चर्यजनक रूप से छोटी राशि है। लेकिन यह वही है जो आपको बहुत मिलता है। यहां कोड कई वर्गों का कार्यान्वयन है जो कहीं और बनाए गए हैं। गैर-वेबव्यू गुई घटक के लिए आप उन्हें मूल रूप से रूट "ui" और मूल विजेट्स सामान पर वापस इंगित करेंगे, जहां वास्तविक ईवेंट हैंडलिंग कोड का बड़ा हिस्सा है यदि मुझे सही याद है।
प्रारंभिक बिंदु के रूप में, http://www.chromium.org/developers/how-tos/getting-around-the-chrome-source-code पढ़ें - जो आपको देख रहे हैं कि आप जो देख रहे हैं उसका बेहतर अवलोकन उस राक्षसी स्रोत/निर्देशिका में। (मैंने वास्तव में यह नहीं सोचा था कि यह एक अच्छा _answer_ होगा, क्योंकि यह केवल एक टिप है ..) – maligree
इसके अलावा तैयार है [आप एक नए कोडेबेस के आसपास अपना रास्ता कैसे ढूंढते हैं] (http://stackoverflow.com/ प्रश्न/70124/कैसे-करें-आप-खोज-अपना-रास्ता-चार-कोडेबेस) – Justin
grep आपका मित्र है। या मुख्य और ट्रेस ढूंढें। बड़े कोड अड्डों को नेविगेट करना तुच्छ नहीं है। – Chris