Z

Chromium 目录结构

Chromium分为两个主要部分:

  • browser - 浏览器主进程,UI,IO
  • renderer - 核心是blink,可以理解为每个tab内的所有内容

两者是Chromium中的顶级概念。

在src目录下每一个文件夹可以理解为一个project,其中主要project有:

  • android_webview - Android的webview,它是对src/content的封装,用于将Chromium整合进Android。
  • apps - chrome apps
  • base - 基础共享代码,至少有一个project共享的代码才会放在这里
  • build - 所有project共享的构建相关配置
  • cc - chrome compositor实现
  • chrome - chrome(顶级概念中的chrome)
    • app - 顶级概念(chrome)对应的程序,启动时运行
    • browser - 主窗口UI,IO,存储,它与renderer通信来管理tab内容
  • components - 非renderer相关的功能模块,例如自动填充等
  • content - 多进程沙箱浏览器核心代码,它包括所有web实现及gpu加速,但不包含任何chrome本身相关的功能,例如自动填充等
    • browser - 处理IO及子进程通信,它与renderer通信来管理tab内容
    • common - 多进程部分的共享代码
    • gpu - gpu进程相关代码
    • renderer - 每一个tab的核心子进程
  • device - 跨平台低级API
  • net - 网络库
  • sandbox - 沙箱系统
  • skia + third_party/skia - skia
  • third_party - chrome的第三方依赖
    • blink - blink,因为继承自webkit的许可证原因才放在这里
  • ui/gfx - 共享图形类,是chrome ui的基础
  • ui/views - 一个用于UI开发的简单框架,大部分浏览器UI在这里实现,其他特殊情况在chrome/browser/ui/views
  • url - url解析库
  • v8 - v8