Chrome
Chromium

Chrome 読書メモ

Chrome 関連技術の読書メモです。

構造

  • Getting Around the Chromium Source Code Directory Structure
    • ソースコードの構成
  • Multi-process Architecture
    • プロセス分割の仕組み
    • Architectural overview
    • Browser プロセス: 描画以外のブラウザ UI。ネットワーク等の IO も Browser プロセスで行う。
    • Render プロセス: 各タブの描画を行う。
  • How Chromium Displays Web Pages
    • もうちょっと詳しいプロセス分割の仕組み。各モジュールがどのようにしてページを表示するか。
      • Conceptual application layers
    • IPC は named pipe で実装されている。
    • Browser プロセス
      • Browser Process
      • RenderProcessHost が Render プロセスを管理
      • Render プロセスのネットワーク要求は ResourceMessageFilter が振り分けて Browser プロセスで実行
    • Render プロセス
      • Render Process
      • RenderProcess が Browser プロセスを管理
  • Content module
    • Architectual Diagram
    • Chrome の大まかな構造。ウェブサイトを表示する必要最低限の
      • chrome: chrome アプリ全体。拡張機能やスペルチェックを含む。
      • content: ブラウザ基本機能。Electron などはこれを使って描画している。
  • Content API
    • ざっくりした紹介のみ。実際は content/public にある。
  • How to Add New Features
    • 新しい機能の追加方法。難しい。
  • blink
    • 描画部分本体。
  • Inter-process Communication
  • Multi-process Resource Loading
    • Resource-loading
  • Threading and Tasks in Chrome
    • Chromium で使われているスレッド用のユーティリティ
  • Mojo
    • Chromium で使われる IP プロトコル

ビルドツール

  • Using depot_tools
    • gclient や repo 等ツールの紹介
  • gn
    • ninja を駆動するツール
  • ninja
    • Make よりも速いビルドツール