# en

## Chromium\_doc\_zh

Chromium中文文档 for

<https://www.chromium.org/developers/design-documents>

## Design Documents

* [Start Here: Background Reading](https://nan03s-organization.gitbook.io/chromium/en/start_here_background_reading): Describes the high-level architecture of Chromium

  * [Multi-process Architecture](https://nan03s-organization.gitbook.io/chromium/en/start_here_background_reading/multi-process_architecture)

  **Note**: Most of the rest of the design documents assume familiarity with the concepts explained in this document.

  * [How Chromium Displays Web Pages](https://nan03s-organization.gitbook.io/chromium/en/start_here_background_reading/how_chromium_displays_web_pages): Bottom-to-top overview of how WebKit is embedded in Chromium

### See Also: Design docs in source code

```
https://chromium.googlesource.com/chromium/src/+/master/docs/
```

### General Architecture

* [General Architecture](https://nan03s-organization.gitbook.io/chromium/en/general_architecture)
  * [Conventions and patterns for multi-platform development](https://nan03s-organization.gitbook.io/chromium/en/general_architecture/conventions_and_patterns_for_multi-platform_development)
  * [Extension Security Architecture](https://nan03s-organization.gitbook.io/chromium/en/general_architecture/extension_security_architecture): How the extension system helps reduce the severity of extension vulnerabilities
  * [HW Video Acceleration in Chrom{e,ium}{,OS}](https://nan03s-organization.gitbook.io/chromium/en/general_architecture/hw_video_acceleration_in_chrom-eium-os)
  * [Inter-process Communication](https://nan03s-organization.gitbook.io/chromium/en/general_architecture/inter-process_communication): How the browser, renderer, and plugin processes communicate
  * [Multi-process Resource Loading](https://nan03s-organization.gitbook.io/chromium/en/general_architecture/multi-process_resource_loading): How pages and images are loaded from the network into the renderer
  * [Plugin Architecture](https://nan03s-organization.gitbook.io/chromium/en/general_architecture/plugin_architecture)
  * [Process Models](https://nan03s-organization.gitbook.io/chromium/en/general_architecture/process_models): Our strategies for creating new renderer processes
  * [Profile Architecture](https://nan03s-organization.gitbook.io/chromium/en/general_architecture/profile_architecture)
  * [SafeBrowsing](https://nan03s-organization.gitbook.io/chromium/en/general_architecture/safebrowsing)
  * [Sandbox](https://nan03s-organization.gitbook.io/chromium/en/general_architecture/sandbox)
  * [Security Architecture](https://nan03s-organization.gitbook.io/chromium/en/general_architecture/security_architecture): How Chromium's sandboxed rendering engine helps protect against malware
  * [Startup](https://nan03s-organization.gitbook.io/chromium/en/general_architecture/startup)
  * [Threading](https://nan03s-organization.gitbook.io/chromium/en/general_architecture/threading): How to use threads in Chromium Also see the documentation for [V8](http://code.google.com/apis/v8/), which is the JavaScript engine used within Chromium.
* [UI Framework](https://nan03s-organization.gitbook.io/chromium/en/ui_framework)
  * [UI Development Practices](https://nan03s-organization.gitbook.io/chromium/en/ui_framework/ui_development_practices): Best practices for UI development inside and outside of Chrome's content areas.
  * [Views framework](https://nan03s-organization.gitbook.io/chromium/en/ui_framework/views_framework): Our UI layout layer used on Windows/Chrome OS.
  * [views Windowing system](https://nan03s-organization.gitbook.io/chromium/en/ui_framework/views_windowing_system): How to build dialog boxes and other windowed UI using views.
  * [Aura](https://nan03s-organization.gitbook.io/chromium/en/ui_framework/aura): Chrome's next generation hardware accelerated UI framework, and the new ChromeOS window manager built using it.
  * [NativeControls](https://nan03s-organization.gitbook.io/chromium/en/ui_framework/nativecontrols): using platform-native widgets in views.
  * Focus and Activation with Views and Aura.
* [Graphics](https://nan03s-organization.gitbook.io/chromium/en/graphics)
  * [Overview](https://nan03s-organization.gitbook.io/chromium/en/graphics/overview)
  * [GPU Accelerated Compositing in Chrome](https://nan03s-organization.gitbook.io/chromium/en/graphics/gpu_accelerated_compositing_in_chrome)
  * [GPU Feature Status Dashboard](https://nan03s-organization.gitbook.io/chromium/en/graphics/gpu_feature_status_dashboard)
  * [Rendering Architecture Diagrams](https://nan03s-organization.gitbook.io/chromium/en/graphics/rendering_architecture_diagrams)
  * [Graphics and Skia](https://nan03s-organization.gitbook.io/chromium/en/graphics/graphics_and_skia)
  * [RenderText and Chrome UI text drawing](https://nan03s-organization.gitbook.io/chromium/en/graphics/rendertext_and_chrome_ui_text_drawing)
  * [GPU Command Buffer](https://nan03s-organization.gitbook.io/chromium/en/graphics/gpu_command_buffer)
  * [GPU Program Caching](https://nan03s-organization.gitbook.io/chromium/en/graphics/gpu_program_caching)
  * [Compositing in Blink/WebCore](https://nan03s-organization.gitbook.io/chromium/en/graphics/compositing_in_blink_webcore)
  * [Compositor Thread Architecture](https://nan03s-organization.gitbook.io/chromium/en/graphics/compositor_thread_architecture)
  * [Rendering Benchmarks](https://nan03s-organization.gitbook.io/chromium/en/graphics/rendering_benchmarks)
  * [Impl-side Painting](https://nan03s-organization.gitbook.io/chromium/en/graphics/impl-side_painting)
  * [Video Playback and Compositor](https://nan03s-organization.gitbook.io/chromium/en/graphics/video_playback_and_compositor)
  * [ANGLE architecture presentation](https://nan03s-organization.gitbook.io/chromium/en/graphics/angle_architecture_presentation)
* [Network stack](https://nan03s-organization.gitbook.io/chromium/en/network_stack)
  * [Overview](https://nan03s-organization.gitbook.io/chromium/en/network_stack/overview)
  * [Network Stack Objectives](https://nan03s-organization.gitbook.io/chromium/en/network_stack/network_stack_objectives)
  * [Crypto](https://nan03s-organization.gitbook.io/chromium/en/network_stack/crypto)
  * [Disk Cache](https://nan03s-organization.gitbook.io/chromium/en/network_stack/disk_cache)
  * [HTTP Cache](https://nan03s-organization.gitbook.io/chromium/en/network_stack/http_cache)
  * [Out of Process Proxy Resolving Draft \[unimplemented\]](https://nan03s-organization.gitbook.io/chromium/en/network_stack/out_of_process_proxy_resolving_draft_-unimplemented)
  * [Proxy Settings and Fallback](https://nan03s-organization.gitbook.io/chromium/en/network_stack/proxy_settings_and_fallback)
  * [Debugging network proxy problems](https://nan03s-organization.gitbook.io/chromium/en/network_stack/debugging_network_proxy_problems)
  * [HTTP Authentication](https://nan03s-organization.gitbook.io/chromium/en/network_stack/http_authentication)
  * [View network internals tool](https://nan03s-organization.gitbook.io/chromium/en/network_stack/view_network_internals_tool)
  * [Make the web faster with SPDY pages](https://nan03s-organization.gitbook.io/chromium/en/network_stack/make_the_web_faster_with_spdy_pages)
  * [the web even faster with QUIC pages](https://nan03s-organization.gitbook.io/chromium/en/network_stack/_the_web_even_faster_with_quic_pages)
  * [Cookie storage and retrieval](https://nan03s-organization.gitbook.io/chromium/en/network_stack/cookie_storage_and_retrieval)
* [Security](https://nan03s-organization.gitbook.io/chromium/en/security)
  * [Security Overview](https://nan03s-organization.gitbook.io/chromium/en/security/security_overview)
  * [Protecting Cached User Data](https://nan03s-organization.gitbook.io/chromium/en/security/protecting_cached_user_data)
  * [System Hardening](https://nan03s-organization.gitbook.io/chromium/en/security/system_hardening)
  * [Chaps Technical Design](https://nan03s-organization.gitbook.io/chromium/en/security/chaps_technical_design)
  * [TPM Usage](https://nan03s-organization.gitbook.io/chromium/en/security/tpm_usage)
  * [Per-page Suborigins](https://nan03s-organization.gitbook.io/chromium/en/security/per-page_suborigins)
  * [Encrypted Partition Recovery](https://nan03s-organization.gitbook.io/chromium/en/security/encrypted_partition_recovery)
* [Input](https://nan03s-organization.gitbook.io/chromium/en/input)
  * See[chromium input](https://nan03s-organization.gitbook.io/chromium/en/input/chromium_input)for design docs and other resources.
* [Rendering](https://nan03s-organization.gitbook.io/chromium/en/rendering)
  * [Multi-column layout](https://nan03s-organization.gitbook.io/chromium/en/rendering/multi-column_layout)
  * [Style Invalidation in Blink](https://nan03s-organization.gitbook.io/chromium/en/rendering/style_invalidation_in_blink)
  * [Blink Coordinate Spaces](https://nan03s-organization.gitbook.io/chromium/en/rendering/blink_coordinate_spaces)
* [Building](https://nan03s-organization.gitbook.io/chromium/en/building)
  * [IDL build](https://nan03s-organization.gitbook.io/chromium/en/building/idl_build)
  * [IDL compiler](https://nan03s-organization.gitbook.io/chromium/en/building/idl_compiler)
  * See also the documentation for [GYP, the build script generation tool.](https://nan03s-organization.gitbook.io/chromium/en/building/gyp_the_build_script_generation_tool.)
* [Testing](https://nan03s-organization.gitbook.io/chromium/en/testing)
  * [Layout test results dashboard](https://nan03s-organization.gitbook.io/chromium/en/testing/layout_test_results_dashboard)
  * [Generic theme for Test Shell](https://nan03s-organization.gitbook.io/chromium/en/testing/generic_theme_for_test_shell)
  * [Moving LayoutTests fully upstream](https://nan03s-organization.gitbook.io/chromium/en/testing/moving_layouttests_fully_upstream)
* [Feature-Specific](https://nan03s-organization.gitbook.io/chromium/en/feature-specific)
  * [about:conflicts](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/aboutconflicts)
  * [Accessibility](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/accessibility): An outline of current (and coming) accessibility support.
  * [Auto-Throttled Screen Capture and Mirroring](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/auto-throttled_screen_capture_and_mirroring)
  * [Browser Window](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/browser_window)
  * [Chromium Print Proxy](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/chromium_print_proxy): Enables a cloud print service for legacy printers and future cloud-aware printers.
  * [Constrained Popup Windows](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/constrained_popup_windows)
  * [Desktop Notifications](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/desktop_notifications)
  * [DirectWrite Font Cache for Chrome on Windows](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/directwrite_font_cache_for_chrome_on_windows)
  * [DNS Prefetching](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/dns_prefetching): Reducing perceived latency by resolving domain names before a user tries to follow a link
  * [Embedding Flash Fullscreen in the Browser Window](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/embedding_flash_fullscreen_in_the_browser_window)
  * [Extensions: Design documents and proposed APIs. ](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/extensions_design_documents_and_proposed_apis.): Design documents and proposed APIs.
  * [Find Bar](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/find_bar)
  * [Form Autofill](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/form_autofill): A feature to automatically fill out an html form with appropriate data.
  * [Geolocation](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/geolocation): Adding support for [W3C Geolocation API](http://www.w3.org/TR/geolocation-API/) using native WebKit bindings.
  * [IDN in Google Chrome](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/idn_in_google_chrome)
  * [IndexedDB (early draft)](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/indexeddb__early_draft_)
  * [Info Bars](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/info_bars)
  * [Installer](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/installer): Registry entries and shortcuts
  * [Instant](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/instant)
  * [Isolated Sites](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/isolated_sites)
  * [Linux Resources and Localized Strings](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/linux_resources_and_localized_strings): Loading data resources and localized strings on Linux.
  * [Media Router & Web Presentation API](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/media_router_and_web_presentation_api)
  * [Memory Usage Backgrounder](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/memory_usage_backgrounder): Some information on how we measure memory in Chromium.
  * [Mouse Lock](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/mouse_lock)
  * [Omnibox Autocomplete](https://nan03s-organization.gitbook.io/chromium/zh/ui_framework/views_windowing_system): While typing into the omnibox, Chromium searches for and suggests possible completions.
    * [HistoryQuickProvider](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/omnibox_autocomplete): Suggests completions from the user's historical site visits.
  * [Omnibox/IME Coordination](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/omnibox_ime_coordination)
  * [Ozone Porting Abstraction](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/ozone_porting_abstraction)
  * [Password Generation](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/password_generation)
  * [Pepper plugin implementation](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/pepper_plugin_implementation)
  * [Plugin Power Saver](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/plugin_power_saver)
  * [Preferences](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/preferences)
  * [Prerender](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/prerender)
  * [Print Preview](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/print_preview)
  * [Printing](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/printing)
  * [Rect-based event targeting in views](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/rect-based_event_targeting_in_views): Making it easier to target views elements with touch.
  * [Replace the modal cookie prompt](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/replace_the_modal_cookie_prompt)
  * [SafeSearch](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/safesearch)
  * [Sane Time](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/sane_time): Determining an accurate time in Chrome
  * [Secure Web Proxy](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/secure_web_proxy)
  * [Service Processes](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/service_processes)
  * [Site Isolation](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/site_isolation): In-progress effort to improve Chromium's process model for security between web sites.
  * [Software Updates: Courgette](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/software_updates_courgette)
  * [Sync](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/sync)
  * [Tab Helpers](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/tab_helpers)
  * [Tab to search](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/tab_to_search): How to have the Omnibox automatically provide tab to search for your site.
  * [Tabtastic2 Requirements](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/tabtastic2_requirements)
  * [Temporary downloads](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/temporary_downloads)
  * [Time Sources](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/time_sources): Determining the time on a Chrome OS device
  * [TimeTicks](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/timeticks): How our monotonic timer, TimeTicks, works on different OSes
  * [UI Mirroring Infrastructure](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/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](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/ui_localization): Describes how localized strings get added to Chromium.
  * [User scripts](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/user_scripts): Information on Chromium's support for user scripts.
  * [Video](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/video)
  * [WebSocket](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/websocket): Enables Web applications to maintain bidirectional communications with server-side processes.
  * [Web MIDI](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/web_midi)
  * [WebNavigation API internals](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/webnavigation_api_internals)
* [OS-Specific](https://nan03s-organization.gitbook.io/chromium/en/os-specific)
  * [Android](https://nan03s-organization.gitbook.io/chromium/en/os-specific/android)
    * [Java Resources on Android](https://nan03s-organization.gitbook.io/chromium/en/os-specific/android/java_resources_on_android)
    * [JNI Bindings](https://nan03s-organization.gitbook.io/chromium/en/feature-specific/omnibox_autocomplete/historyquickprovider)
    * [WebView code organization](https://nan03s-organization.gitbook.io/chromium/en/os-specific/android/webview_code_organization)
  * [Chrome OS](https://nan03s-organization.gitbook.io/chromium/en/os-specific/android/jni_bindings)
    * See the [Chrome OS design documents section.](https://nan03s-organization.gitbook.io/chromium/en/os-specific/chrome_os)section.
  * [Mac OS X](https://nan03s-organization.gitbook.io/chromium/en/os-specific/chrome_os/chrome_os_design_documents_section.)
    * [AppleScript Support](https://nan03s-organization.gitbook.io/chromium/en/os-specific/mac_os_x)
    * [BrowserWindowController Object Ownership](https://nan03s-organization.gitbook.io/chromium/en/os-specific/mac_os_x/applescript_support)
    * [Confirm to Quit](https://nan03s-organization.gitbook.io/chromium/en/os-specific/mac_os_x/browserwindowcontroller_object_ownership)
    * [Mac App Mode (Draft)](https://nan03s-organization.gitbook.io/chromium/en/os-specific/mac_os_x/confirm_to_quit)
    * [Mac Fullscreen Mode (Draft)](https://nan03s-organization.gitbook.io/chromium/en/os-specific/mac_os_x/mac_app_mode__draft_)
    * [Mac NPAPI Plugin Hosting](https://nan03s-organization.gitbook.io/chromium/en/os-specific/mac_os_x/mac_fullscreen_mode__draft_)
    * [Mac specific notes on UI Localization](https://nan03s-organization.gitbook.io/chromium/en/os-specific/mac_os_x/mac_npapi_plugin_hosting)
    * [Menus, Hotkeys, & Command Dispatch](https://nan03s-organization.gitbook.io/chromium/en/os-specific/mac_os_x/mac_specific_notes_on_ui_localization)
    * [Notes from meeting on IOSurface usage and semantics](https://nan03s-organization.gitbook.io/chromium/en/os-specific/mac_os_x/menus_hotkeys_and_command_dispatch)
    * [OS X Interprocess Communication (Obsolete)](https://nan03s-organization.gitbook.io/chromium/en/os-specific/mac_os_x/notes_from_meeting_on_iosurface_usage_and_semantics)
    * [Password Manager/Keychain Integration](https://nan03s-organization.gitbook.io/chromium/en/os-specific/mac_os_x/os_x_interprocess_communication__obsolete_)
    * [Sandboxing Design](https://nan03s-organization.gitbook.io/chromium/en/os-specific/mac_os_x/password_manager_keychain_integration)
    * [Tab Strip Design (Includes tab layout and tab dragging)](https://nan03s-organization.gitbook.io/chromium/en/os-specific/mac_os_x/sandboxing_design)
    * [Wrench Menu Buttons](https://nan03s-organization.gitbook.io/chromium/en/os-specific/mac_os_x/tab_strip_design__includes_tab_layout_and_tab_dragging_)
* [Other](https://nan03s-organization.gitbook.io/chromium/en/other)
  * [64-bit Support](https://nan03s-organization.gitbook.io/chromium/en/other/64-bit_support)
  * [Browser Components / Layered Components](https://nan03s-organization.gitbook.io/chromium/en/other/browser_components___layered_components)
  * [Closure Compiling Chrome Code](https://nan03s-organization.gitbook.io/chromium/en/other/closure_compiling_chrome_code)
  * [content module / content API](https://nan03s-organization.gitbook.io/chromium/en/other/content_module___content_api)
  * [Design docs that still need to be written (wiki)](https://nan03s-organization.gitbook.io/chromium/en/other/design_docs_that_still_need_to_be_written__wiki_)
  * [In progress refactoring of key browser-process architecture for porting](https://nan03s-organization.gitbook.io/chromium/en/other/in_progress_refactoring_of_key_browser-process_architecture_for_porting)
  * [Network Experiments](https://nan03s-organization.gitbook.io/chromium/en/other/network_experiments)
  * [Transitioning InlineBoxes from floats to LayoutUnits](https://nan03s-organization.gitbook.io/chromium/en/other/transitioning_inlineboxes_from_floats_to_layoutunits)
