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 the chrome/chrome_initial project.

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

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

  • WebkitThe kernel code is in the projectThird_party/webkit (read only) webkit chromium webkitwebkit_glue project, porting some test files to Some files have been deleted.

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

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

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

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

  • SQL : the package of SQLite.

  • 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 : A simple framework forUI Development that 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.

  • 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

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.