Uncover Chromium internal 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.

1. The boot code is in the Chrome/chrome_initial project

2. Common code for shared libraries is in the base project. This code is shared across all projects, and the Chromium team tries to make it as small as possible.

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

The 4.Webkit kernel code is third_party/webkit (read only) in the project. Before the src/webkit for the chromium to WebKit a package, has now deleted the Webkit_glue project, some test files migrated to content/, some files have been deleted

5.chrome/browser Project provides user interface, storage, network request, etc.

6.

Top projects:

After downloading the chromium source code, enter the SRC directory and you will find some directories as follows:

Here are some of the more important directories:

    • Android_webview: Provides a package interface for src/content integrated into the Android platform.

Attention:

    • Apps:chrome application-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: Builds the related configuration, shared by all projects. The

    • 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: The network function library developed for chromium.

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

    • Skia: Development of Google's Skia graphics library for Android. This is a copy of the Android tree. The encapsulation of the

    • Sql: sqlite.

    • Testing: The code that is used for unit testing.

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

    • UI/GFX: Shared Graphics class. These are the basics of Chromium's graphical user interface. The simple framework developed by the

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

    • URL: Google's Open source URL parsing and standardization library. The

    • v8:v8 JavaScript Library.

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

       

Dependency Diagrams:

A low-level module cannot directly include code for a higher module (for example: content cannot include a header file in Chrome), but it can communicate with it using an embedded API.

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

The first time to get a blog update reminders, a daily technical original, and more technical information sharing, welcome to the personal public platform: Programmer Interaction Alliance (coder_online), sweep the QR code below or search number Coder_online can pay attention to, We can communicate online.

Excerpt from: http://my.oschina.net/u/2335664/blog/397663

Uncover Chromium internal 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.