Chromium Design Documents

来源:互联网 发布:jsp精品课程网站源码 编辑:程序博客网 时间:2024/05/18 01:29
 

Design Documents

Start here:
  • Multi-process Architecture: Describes the high-level architecture of Chromium
    Note: Most of the rest of the design documents assume familiarity with the concepts explained in this document.

  • How Chromium Displays Web Pages: Bottom-to-top overview of how WebKit is embedded in Chromium

Architecture

  • Process Models: Our strategies for creating new renderer processes
  • Conventions and patterns for multi-platform development
  • Inter-process Communication: How the browser, renderer, and plugin processes communicate
  • Threading: How to use threads in Chromium
  • Multi-process Resource Loading: How pages and images are loaded from the network into the renderer
  • Security Architecture: How Chromium's sandboxed rendering engine helps protect against malware
  • Extension Security Architecture: How the extension system helps reduce the severity of extension vulnerabilities
  • Plugin Architecture
  • Profile Architecture
  • Sandbox
  • Startup
  • SafeBrowsing
Also see the documentation for V8, which is the JavaScript engine used within Chromium.

UI Framework

  • Views framework: Our UI layout layer used on Windows/Chrome OS.
  • views Windowing system: How to build dialog boxes and other windowed UI using views.
  • Aura: Chrome's next generation hardware accelerated UI framework, and the new ChromeOS window manager built using it.
  • NativeControls: using platform-native widgets in views.

Feature-specific

  • Chromium Print Proxy: Enables a cloud print service for legacy printers and future cloud-aware printers.
  • Browser Window
  • Info Bars
  • Find Bar
  • UI Mirroring Infrastructure: Describes the UI framework in ChromeViews that allows mirroring the browser UI in RTL locales such as Hebrew and Arabic.
  • UI Localization: Describes how localized strings get added to Chromium.
  • Constrained Popup Windows
  • Memory Usage Backgrounder: Some information on how we measure memory in Chromium.
  • DNS Prefetching: Reducing perceived latency by resolving domain names before a user tries to follow a link
  • Form Autofill: A feature to automatically fill out an html form with appropriate data.
  • Graphics:
    • GPU Accelerated Compositing in Chrome
    • Rendering Architecture Diagrams
    • Graphics and Skia
    • GPU Command Buffer
  • Omnibox Autocomplete: While typing into the omnibox, Chromium searches for and suggests possible completions.
    • HistoryQuickProvider: Suggests completions from the user's historical site visits.
  • Network stack:
    • Network Stack Objectives
    • Crypto
    • Disk Cache
    • Out of Process Proxy Resolving Draft [unimplemented]
    • Proxy Settings and Fallback
    • Debugging network proxy problems
    • HTTP Authentication
    • SSL Client Authentication
    • View network internals tool
    • Make the web faster with SPDY pages
    • Cookie storage and retrieval
  • Web Socket: Enables Web applications to maintain bidirectional communications with server-side processes.
  • Tab to search: How to have the Omnibox automatically provide tab to search for your site.
  • User scripts: Information on Chromium's support for user scripts.
  • Extensions: Design documents and proposed APIs.
  • Accessibility: An outline of current (and coming) accessibility support.
  • Linux Resources and Localized Strings: Loading data resources and localized strings on Linux.
  • Tabtastic2 Requirements
  • Printing
  • Software Updates: Courgette
  • Sync
  • Desktop Notifications
  • Video
  • Geolocation: Adding support forW3C Geolocation API using native WebKit bindings.
  • IDN in Google Chrome
  • IndexedDB (early draft)
  • Replace the modal cookie prompt
  • Pepper plugin implementation
  • Temporary downloads
  • Print Preview
  • about:conflicts
  • Secure Web Proxy
  • Prerender
  • Service Processes
  • Multiple Profiles
  • Omnibox/IME Coordination
  • Mouse Lock
  • Preferences
  • Reserved Keys

Mac OS X

  • Sandboxing Design
  • Password Manager/Keychain Integration
  • Mac specific notes on UI Localization
  • Command Dispatching
  • Tab Strip Design (Includes tab layout and tab dragging)
  • BrowserWindowController Object Ownership
  • AppleScript Support
  • Wrench Menu Buttons
  • Confirm to Quit
  • Draft document on Mac App Mode
  • Draft document on Mac Fullscreen Mode
  • OS X Interprocess Communication (Obsolete)

Testing

  • Layout test results dashboard
  • Generic theme for Test Shell
  • Moving LayoutTests fully upstream

    Other

    • In progress refactoring of key browser-process architecture for porting
    • 64-bit Support
    • Network Experiments
    • Design docs that still need to be written (wiki)
    原创粉丝点击