Chromium browser Development series The third article: Chromium source directory structure

Source: Internet
Author: User
Tags network function skia

on two introduced the download source code and compiled source code, this time the main introduction of Chromium source directory structure, I also through the source and official website combined to tell everyone, if there is said inaccurate, welcome to communicate.

In addition, the official website is not necessarily accurate, they are actually very lazy, so the most important is to rely on their own. Official website can only serve as a reference.

The Chromium structure has changed a lot from two years ago. The directory structure remains clear, with three main sections (excluding other libraries): Browser, renderer,WebKit. The browser is the primary process that represents all the UI and I/O. Rendering is usually a sub-procedure for each tab page and is driven by the browser. Webkit do layout and rendering.

Simple Introduction to Solution files:

The solution file is Src/chrome/chrome.sln.

    • the startup code is in chrome/chrome_initial Project.

    • The common code for shared libraries is in the base project. This code is shared across all projects, andthechromium team tries to make it as small as possible.

    • Common browser-specific code in Chrome/common project, which is shared between the browser and the renderer.

  • WebkitThe kernel code is in the projectThird_party/webkit(read only). Before the src/ WebKit underto beChromiumtheWebKita package that has now been removedWebkit_glueproject, porting some of the test files tocontent/below, some files have been deleted.

    • Chrome /browser The project provides user interface, storage, network requests, etc.

Top projects:

Download Chromium after the source, enter src directory, you will find some directories , as follows:

Here are some of the more important directories:

    • Android_webview : provides the right integration into Android Platform for src/content of the package interface.

Attention:

  • Apps : ? ? Chrome app related ? ? .

  • Base : Common code shared across all sub-projects. It contains operations like strings, generic programs, and so on. Only code that is shared between more than one top-level project can be placed here.  

  • Breakpad : Google's Open source crash report project. Directly from the Google Code version of the extract.

  • Build : Build the relevant configuration, shared by all projects.

  • cc : Chromium Synthesizer implementation.

  • Chrome : Chromium Browser Main program module Implementation code, core code .

  • Chrome/test/data : A data file that runs some tests.

  • Components : The component directory that the browser relies on.

  • content : The core code of a multi-process sandbox browser rendering page.

  • Net : For Chromium development of the network function library.

  • Sandbox : Sandbox project to prevent the renderer from modifying the system.

  • Skia of the : For Android develop Google's Skia 's graphics library. This is a copy of the Android tree.

  • SQL : SQLite the package.

  • Testing : The code used for unit testing.

  • Third_party : Third-party libraries, such as decoders and compression libraries.

  • UI/GFX : Share graphics classes. These are the basics of Chromium 's graphical user interface.

  • Ui/view : UI develop a simple framework that provides rendering, layout and event handling in a simple framework. Most of the browser's user interface is implemented in the system. The directory contains the base objects.

  • URL : Google's Open source URL parse and standardize the library.

  • V8 : V8 JavaScript Library.

  • WebKit ( lowercase ) : There are only a few left here. common/gpu/


Dependency Diagrams:

a low-level module cannot directly include the code for the higher module (for example: content can't include Chrome in the header file in the user, but you can use the embedded API communicate with it.

Write here today, I hope you can learn a piece.

talk about the source code download, compile, directory structure, then the next talk about how to Debug chromium under Windows. I hope members will continue to pay attention.

Also attached is the official website address:

Http://dev.chromium.org/developers/how-tos/getting-around-the-chrome-source-code


If you have questions about this series of articles, you can directly in the public message, the first time to contact the original author to help you patiently answer.

Technicians have their own feelings, deep in which they are not understood, welcome to the personal public platform: the Programmer Interaction Alliance (Coder_online), a developer's home, to tell their story.


Chromium browser Development series The third article: Chromium source directory structure

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.