blob: 6eb3f5d854e7bfbd9de1074ac7af52d0f490e3c8 [file] [log] [blame] [view]
nodir469b2a12015-09-14 16:20:211# Chromium docs
2
pwnall3f918382016-11-16 17:22:123This directory contains chromium project documentation in
Vincent Scheibde853a02017-07-13 23:31:184[Gitiles-flavored Markdown]. It is automatically [rendered by Gitiles].
5
6[Gitiles-flavored Markdown]: https://gerrit.googlesource.com/gitiles/+/master/Documentation/markdown.md
7[rendered by Gitiles]: https://chromium.googlesource.com/chromium/src/+/master/docs/
nodir469b2a12015-09-14 16:20:218
justincarlson90a1c8c2017-04-14 00:34:259If you add new documents, please also add a link to them in the Document Index
10below.
11
12[TOC]
13
Vincent Scheib394b907a2017-07-14 22:30:0614## Creating Documentation
nodir469b2a12015-09-14 16:20:2115
Vincent Scheibde853a02017-07-13 23:31:1816Markdown documents must follow the
17[style guide](https://github.com/google/styleguide/tree/gh-pages/docguide).
nodir469b2a12015-09-14 16:20:2118
Vincent Scheib394b907a2017-07-14 22:30:0619### Preview local changes using [md_browser](../tools/md_browser/):
nodir6efa4992015-12-20 00:54:3320
21```bash
22# in chromium checkout
agabled40b9542016-05-11 01:15:0623./tools/md_browser/md_browser.py
nodir6efa4992015-12-20 00:54:3324```
25
Vincent Scheib394b907a2017-07-14 22:30:0626This is only an estimate. The **gitiles** view may differ.
nodir6efa4992015-12-20 00:54:3327
Vincent Scheib394b907a2017-07-14 22:30:0628### Review changes online with gerrit's links to gitiles:
29
Mathieu Perreault339625382017-07-29 00:32:58301. Upload a patch to gerrit, or receive a review request.
Vincent Scheib394b907a2017-07-14 22:30:0631 e.g. https://chromium-review.googlesource.com/c/572236
Mathieu Perreault339625382017-07-29 00:32:58322. View a specific .md file.
Vincent Scheib394b907a2017-07-14 22:30:0633 e.g. https://chromium-review.googlesource.com/c/572236/2/docs/README.md
343. Click on **gitiles** link at top of page.
35
36This **gitiles** view is the authoritative view, exactly the same as will be
37used when committed.
nodir6efa4992015-12-20 00:54:3338
justincarlson90a1c8c2017-04-14 00:34:2539## Document Index
40
41### Checking Out and Building
42* [Linux Build Instructions](linux_build_instructions.md) - Linux
43* [Mac Build Instructions](mac_build_instructions.md) - MacOS
44* [Windows Build Instructions](windows_build_instructions.md) - Windows
45* [Android Build Instructions](android_build_instructions.md) - Android target
46 (on a Linux host)
47* [Cast Build Instructions](linux_cast_build_instructions.md) - Cast target
48 (on a Linux host)
49* [Cast for Android Build Instructions](android_cast_build_instructions.md) -
50 Cast for Android (on a Linux host)
Scott Graham6b17c6522018-09-25 20:39:3651* [Fuchsia Build Instructions](fuchsia_build_instructions.md) - Fuchsia target
52 (on a Linux host)
justincarlson90a1c8c2017-04-14 00:34:2553* [iOS Build Instructions](ios/build_instructions.md) - iOS target (on a MacOS
54 host)
Euisang Lim1f253912018-04-30 01:46:3255* [Chrome OS Build Instructions](chromeos_build_instructions.md) - Chrome OS
justincarlson90a1c8c2017-04-14 00:34:2556* [Linux Chromium ARM Recipes](linux_chromium_arm.md) - Recipes for building
57 Chromium for ARM on Linux.
justincarlson90a1c8c2017-04-14 00:34:2558* [Chrome Component Build](component_build.md) - Faster builds using more
59 libraries
60* [Using the BuildRunner](using_build_runner.md) - Scripts that extract build
61 stops from builders and runs them locally on a slave
62* [Cr User Manual](cr_user_manual.md) - Manual for `cr`, a tool that tries to
63 hide some of the tools used for working on Chromium behind an abstraction
64 layer
65
justincarlsonad589ce2017-04-20 17:26:0766### Design Docs
67* See [design/README.md](design/README.md)
68
justincarlson90a1c8c2017-04-14 00:34:2569### Integrated Development Environment (IDE) Set Up Guides
70* [Android Studio](android_studio.md) - Android Studio for Android builds
71* [Eclipse for Android](eclipse.md) - Eclipse for Android
72* [Eclipse for Linux](linux_eclipse_dev.md) - Eclipse for other platforms
73 (This guide was written for Linux, but is probably usable on Windows/MacOS
74 as well)
75* [Qt Creator](qtcreator.md) - Using Qt Creator as an IDE or GUI debugger
76* [Setting up Visual Studio Code](vscode.md) - Visual Studio Code
77* [EMACS Notes](emacs.md) - EMACS commands/styles/tool integrations
78* [Atom](atom.md) - Atom multi-platform code editor
79
80### Git
81* [Git Cookbook](git_cookbook.md) - A collection of git recipes for common
82 tasks
83* [Git Tips](git_tips.md) - More git tips
84
85### Clang
86* [Clang Compiler](clang.md) - General information on the clang compiler, used
87 by default on Mac and Linux
88* [Clang Tool Refactoring](clang_tool_refactoring.md) - Leveraging clang tools
89 to perform refactorings that are AST-aware
90* [The Clang Static Analyzer](clang_static_analyzer.md) - How to enable static
91 analysis at build time
Yuke Liaobb571bd62018-10-31 21:51:5292* [Clang Code Coverage Wrapper](clang_code_coverage_wrapper.md) - Enable Clang
93 code coverage instrumentation for a subset of source files.
justincarlson90a1c8c2017-04-14 00:34:2594* [Writing Clang Plugins](writing_clang_plugins.md) - Don't write a clang
95 plugin, but if you do, read this
96* [Updating Clang](updating_clang.md) - Updating the version of Clang used to
97 build
98* [Using clang-format on Chromium C++ Code](clang_format.md) - Various ways to
99 invoke clang-format on C++ code
100* [Clang Tidy](clang_tidy.md) - Support for the `clang-tidy` tool in Chromium
101* [Updating Clang Format Binaries](updating_clang_format_binaries.md) - How up
102 update the clang-format binaries that come with a checkout of Chromium
103
104### General Development
Toby Huang5105f812019-08-08 23:47:57105* [Contributing to Chromium](contributing.md) - Reference workflow process for
106 contributing to the Chromium code base.
107* [Commit Checklist](commit_checklist.md) - Streamlined checklist to go
108 through before uploading CLs on Gerrit.
justincarlson90a1c8c2017-04-14 00:34:25109* [Code Reviews](code_reviews.md) - Code review requirements and guidelines
Mathieu Perreault339625382017-07-29 00:32:58110* [Respectful Code Reviews](cr_respect.md) - A guide for code reviewers
111* [Respectful Changes](cl_respect.md) - A guide for code authors
Eric Foo6ea4fbd2018-01-17 04:04:50112* [LUCI Migration FAQ](luci_migration_faq.md) - FAQ on Buildbot-to-LUCI
113 builder migration for Chromium
Eric Fooff7b4982017-12-19 01:59:15114* [Tour of Continuous Integration UI](tour_of_luci_ui.md) - A tour of our
Eric Foo6ea4fbd2018-01-17 04:04:50115 the user interface for LUCI, our continuous integration system
erikchenb83e010a2018-10-08 21:34:01116* [Parsing Test Results](parsing_test_results.md) - An introduction for how to
117 understand the results emitted by polygerrit and CI builds.
justincarlson90a1c8c2017-04-14 00:34:25118* [Closure Compilation](closure_compilation.md) - The _Closure_ JavaScript
119 compiler
fdoraybacba4a22017-05-10 21:10:00120* [Threading and Tasks in Chrome](threading_and_tasks.md) - How to run tasks
121 and handle thread safety in Chrome.
justincarlson90a1c8c2017-04-14 00:34:25122* [Callback<> and Bind()](callback.md) - All about Callbacks, Closures, and
123 Bind().
124* [Views Platform Styling](ui/views/platform_style.md) - How views are styled
125 to fit in different native platforms
126* [Tab Helpers](tab_helpers.md) - Using WebContents/WebContentsObserver to add
127 features to browser tabs.
128* [Adding third_party Libraries](adding_to_third_party.md) - How to get code
129 into third_party/
130* [Graphical Debugging Aid for Chromium Views](graphical_debugging_aid_chromium_views.md) -
131 Visualizing view trees during debugging
132* [Bitmap Pipeline](bitmap_pipeline.md) - How bitmaps are moved from the
133 renderer to the screen.
134* [base::Optional](optional.md) - How to use `base::Optional` in C++ code.
135* [Using the Origin Trials Framework](origin_trials_integration.md) - A
136 framework for conditionally enabling experimental APIs for testing.
Jan Krcal02520366d2018-03-07 10:05:18137* [`ClientTagBasedModelTypeProcessor` in Unified Sync and Storage](sync/uss/client_tag_based_model_type_processor.md) -
justincarlson90a1c8c2017-04-14 00:34:25138 Notes on the central data structure used in Chrome Sync.
139* [Chrome Sync's Model API](sync/model_api.md) - Data models used for syncing
140 information across devices using Chrome Sync.
141* [Ozone Overview](ozone_overview.md) - Ozone is an abstraction layer between
142 the window system and low level input and graphics.
143* [Optimizing Chrome Web UIs](optimizing_web_uis.md) - Notes on making webuis
144 more performant
Makoto Shimazu9f0bd3a2017-08-08 01:54:24145* [Adding a new feature flag in chrome://flags](how_to_add_your_feature_flag.md) - Quick
146 guide to add a new feature flag to experiment your feature.
Dimitri Glazkov2070775d2017-10-24 17:47:02147* [Guidelines for considering branch dates in project planning](release_branch_guidance.md) -
148 What to do (and not to do) around branch dates when scheduling your project
149 work.
Dan Beam19812212018-11-29 08:16:56150* [WebUI Explainer](webui_explainer.md) - An explanation of C++ and JavaScript
151 infrastructural code for Chrome UIs implemented with web technologies (i.e.
152 chrome:// URLs).
Dominik Röttschesd113bfa2019-07-10 08:56:24153* [Watchlists](infra/watchlists.md) - Use watchlists to get notified of CLs
154 you are interested in.
justincarlson90a1c8c2017-04-14 00:34:25155
156### Testing
Kent Tamura59ffb022018-11-27 05:30:56157* [Running and Debugging Web Tests](testing/web_tests.md)
158* [Writing Web Tests](testing/writing_web_tests.md) - Web Tests using
justincarlson90a1c8c2017-04-14 00:34:25159 `content_shell`
Kent Tamura59ffb022018-11-27 05:30:56160* [Web Test Expectations and Baselines](testing/web_test_expectations.md) -
161 Setting expected results of web tests.
162* [Web Tests Tips](testing/web_tests_tips.md) - Best practices for web tests
Darwin Huanga8cd38182019-01-10 11:05:10163* [Web Tests with Manual Fallback](testing/web_tests_with_manual_fallback.md) -
justincarlson90a1c8c2017-04-14 00:34:25164 Writing tests that simulate manual interventions
Kent Tamura59ffb022018-11-27 05:30:56165* [Extending the Web Test Framework](how_to_extend_web_test_framework.md)
166* [Fixing Web Test Flakiness](testing/identifying_tests_that_depend_on_order.md) -
167 Diagnosing and fixing web test flakiness due to ordering dependencies.
168* [Running Web Tests using `content_shell`](testing/web_tests_in_content_shell.md) -
169 Running web tests by hand.
justincarlson90a1c8c2017-04-14 00:34:25170* [Web Platform Tests](testing/web_platform_tests.md) - Shared tests across
171 browser vendors
Joshua Peraza6f96b9d2019-02-12 16:55:14172* [Using Crashpad with `content_shell`](testing/using_crashpad_with_content_shell.md) -
justincarlson90a1c8c2017-04-14 00:34:25173 Capture stack traces on layout test crashes without an attached debugger
Lei Lei8aa9db622019-05-01 21:08:01174* [Test Descriptions](testing/test_descriptions.md) - Unit test targets that can be
justincarlson90a1c8c2017-04-14 00:34:25175 built, with associated desciptions.
Lei Lei8aa9db622019-05-01 21:08:01176* [IPC Fuzzer](testing/ipc_fuzzer.md) - Fuzz testing of Chromium IPC interfaces.
177* [Running Chrome tests with AddressSanitizer (asan) and LeakSanitizer (lsan)](testing/linux_running_asan_tests.md) -
178 Run Chrome tests with ASAN and LSAN builds to detect addressability issues and memory leaks.
Yuke Liao43bbbcd52019-06-21 19:34:50179* [Code Coverage](testing/code_coverage.md) - Code coverage for Chromium.
180* [Code Coverage in Gerrit](testing/code_coverage_in_gerrit.md) - Per-CL code
181 coverage in Gerrit to assist code reviews.
justincarlson90a1c8c2017-04-14 00:34:25182
Kenneth Russell9618adde2018-05-03 03:16:05183### GPU-related docs
184* [GPU Pixel Wrangling](gpu/pixel_wrangling.md) - Instructions for GPU
185 pixel wrangling (the GPU sheriffing rotation).
186* [Debugging GPU related code](gpu/debugging_gpu_related_code.md) - Hints for
187 debugging GPU- and graphics-related code.
188* [GPU Testing](gpu/gpu_testing.md) - Description of Chromium's GPU testing
189 infrastructure.
190* [GPU Bot Details](gpu/gpu_testing_bot_details.md) - In-depth description of
191 how the bots are maintained.
192
justincarlson90a1c8c2017-04-14 00:34:25193### Misc Linux-Specific Docs
194* [Linux Proxy Config](linux_proxy_config.md) - Network proxy sources on Linux
195* [Debugging SSL on Linux](linux_debugging_ssl.md) - Tips on debugging SSL
196 code in Linux
197* [Linux Cert Managment](linux_cert_management.md) - Managing X.509
198 Certificates in Linux
199* [Tips for Debugging on Linux](linux_debugging.md)
200* [Linux GTK Theme Integration](linux_gtk_theme_integration.md) - Having
201 Chrome match the GTK+ theme.
justincarlson90a1c8c2017-04-14 00:34:25202* [Browser Plugins on Linux](linux_plugins.md) - A collection of links to
203 information on how browser plugins work on Linux
204* [Linux Crash Dumping](linux_crash_dumping.md) - How Breakpad uploads crash
205 reports to Google crash servers.
206* [Linux Minidump to Core](linux_minidump_to_core.md) - How to convert a
207 Breakpad-generated minidump files to a core file readable by most debuggersx
208* [Linux Sandbox IPC](linux_sandbox_ipc.md) - The lower level UPC system used
209 to route requests from the bottom of the call stack up into the browser.
210* [Linux Dev Build as Default Browser](linux_dev_build_as_default_browser.md) -
211 How to configure a Dev build of Chrome as the default browser in Linux.
212* [Linux Chromium Packages](linux_chromium_packages.md) - Packages of Chromium
213 browser (not Chrome) provided by some Linux distributions.
214* [`seccomp` Sandbox Crash Dumping](seccomp_sandbox_crash_dumping.md) - Notes
215 on crash dumping a process running in a seccomp sandbox.
216* [Linux Password Storage](linux_password_storage.md) - Keychain integrations
217 between Chromium and Linux.
Ivan Sandrkfe73ee82018-03-23 11:54:16218* [Linux Sublime Development](sublime_ide.md) - Using Sublime as an IDE
justincarlson90a1c8c2017-04-14 00:34:25219 for Chromium development on Linux.
220* [Building and Debugging GTK](linux_building_debug_gtk.md) - Building
221 Chromium against GTK using lower optimization levels and/or more debugging
222 symbols.
223* [Debugging GTK](linux_debugging_gtk.md) - Using the GTK Debug packages and
224 related tools.
225* [Chroot Notes](using_a_linux_chroot.md) - Setting up a chroot to work around
226 libfreetype differences in some versions of Linux.
227* [Linux Sandboxing](linux_sandboxing.md) - The Linux multi-process model to
228 isolate browser components with different privileges.
229* [Zygote Process](linux_zygote.md) - How the Linux Zygote process, used to
230 spawn new processes, works.
Lei Lei8aa9db622019-05-01 21:08:01231* [Running Web Tests on Linux](testing/web_tests_linux.md) - Linux-specific
Kent Tamura59ffb022018-11-27 05:30:56232 instructions for running web tests.
justincarlson90a1c8c2017-04-14 00:34:25233* [Linux Sysroot Images](linux_sysroot.md) - How builds use libraries on Linux
justincarlson90a1c8c2017-04-14 00:34:25234* [Linux Hardware Video Decoding](linux_hw_video_decode.md) - Enabling
235 hardware video decode codepaths on Linux
236
237### Misc MacOS-Specific Docs
238* [Using CCache on Mac](ccache_mac.md) - Speed up builds on Mac using ccache
239 with clang/ninja
240* [Cocoa tips and tricks](cocoa_tips_and_tricks.md) - A collection of idioms
241 used when writing Cocoa views and controllers
242* [MacViews Release Plan](ui/views/macviews_release.md)
243
244### Misc Windows-Specific Docs
245* [Handling cygwin rebaseall failures](cygwin_dll_remapping_failure.md)
246* [Hacking on ANGLE in Chromium](angle_in_chromium.md) - OpenGL ES 2.0 built
247 on top of DirectX
justincarlson90a1c8c2017-04-14 00:34:25248* [Windows Split DLLs](windows_split_dll.md) - Splitting `chrome.dll` into
249 multiple dlls to work around toolchain limitations on Windows.
250
251### Misc Android-Specific Docs
252* [Google Play Services in Chrome for Android](google_play_services.md)
253* [Accessing C++ Enums in Java](android_accessing_cpp_enums_in_java.md) - How
254 to use C++-defined enums in Java code
255* [Profiling Content Shell on Android](profiling_content_shell_on_android.md) -
256 Setting up profiling for `content_shell` on Android
257* [Working Remotely with Android](working_remotely_with_android.md) - Building
258 on a remote machine for an Android device connected to your local machine
Lei Lei8aa9db622019-05-01 21:08:01259* [Android Test Instructions](testing/android_test_instructions.md) - Running a build
justincarlson90a1c8c2017-04-14 00:34:25260 on an Android device or emulator.
261* [Android Debugging](android_debugging_instructions.md) - Tools and tips for
262 how to debug Java and/or C/C++ code running on Android.
263* [Android Logging](android_logging.md) - How Chrome's logging API works with
264 `android.util.Log` on Android, and usage guidelines.
265* [Chromoting Android Hacking](chromoting_android_hacking.md) - Viewing the
266 logs and debugging the Chrome Remote Desktop Android client.
David 'Digit' Turner40560ef72018-03-07 09:44:28267* [Android Java Static Analysis](../build/android/docs/lint.md) - Catching
268 Java related issues at compile time with the 'lint' tool.
269* [Java Code Coverage](../build/android/docs/coverage.md) - Collecting code
270 coverage data with the EMMA tool.
271* [Android BuildConfig files](../build/android/docs/build_config.md) -
272 What are .build_config files and how they are used.
David 'Digit' Turner90944742018-08-03 13:22:08273* [Android App Bundles](../build/android/docs/android_app_bundles.md) -
274 How to build Android app bundles for Chrome.
Tibor Goldschwendt19364ba2019-04-10 15:59:55275* [Dynamic Feature Modules (DFMs)](android_dynamic_feature_modules.md) - How
276 to create dynamic feature modules.
justincarlson90a1c8c2017-04-14 00:34:25277
278### Misc iOS-Specific Docs
279* [Continuous Build and Test Infrastructure for Chromium for iOS](ios/infra.md)
280* [Opening links in Chrome for iOS](ios/opening_links.md) - How to have your
281 iOS app open links in Chrome.
282* [User Agent in Chrome for iOS](ios/user_agent.md) - Notes on User Agent
283 strings using Chrome for iOS.
Mike Baxley47db7d82017-11-16 15:57:17284* [Running iOS test suites locally](ios/testing.md)
justincarlson90a1c8c2017-04-14 00:34:25285
Daniel Eratace8d3622017-12-20 23:27:24286### Misc Chrome-OS-Specific Docs
Jacob Dufault4260b1482019-04-29 23:17:24287* [Setting up captive portals and other restrictive networks](login/restrictive_networks.md)
Denis Kuznetsov885b1852019-05-15 19:07:48288* [Enterprise Enrollment](enterprise/enrollment.md)
289 * [Kiosk mode and public sessions](enterprise/kiosk_public_session.md)
Jacob Dufault4260b1482019-04-29 23:17:24290* [Debugging UI in OOBE/login/lock](login/ui_debugging.md)
Daniel Eratace8d3622017-12-20 23:27:24291* [Chrome Logging on Chrome OS](chrome_os_logging.md)
292
Dan Beam19812212018-11-29 08:16:56293### Misc WebUI-Specific Docs
294* [Creating WebUI Interfaces in components/](webui_in_components.md) How to
295 create a new WebUI component in the `components/` directory.
296
justincarlson90a1c8c2017-04-14 00:34:25297### Media
298* [Audio Focus Handling](media/audio_focus.md) - How multiple MediaSession
299 audio streams interact
300* [Autoplay of HTMLMediaElements](media/autoplay.md) - How HTMLMediaElements
301 are autoplayed.
302* [Piranha Plant](piranha_plant.md) - Future architecture of MediaStreams
Alexandre Courbot2cad5de2018-11-08 09:13:29303* [Video Decode/Encode Accelerator Tests](media/gpu/vdatest_usage.md) - How to
304 use the accelerated video decoder/encoder test programs.
David Staessensf3404c12019-04-16 00:12:05305* [Video Decoder Tests](media/gpu/video_decoder_test_usage.md) - Running the
306 new video decoder tests.
David Staessens80711e82019-04-16 00:23:14307* [Video Decoder Performance Tests](media/gpu/video_decoder_perf_test_usage.md) -
308 Running the new video decoder performance tests.
justincarlson90a1c8c2017-04-14 00:34:25309
310### Accessibility
311* [Accessibility Overview](accessibility/overview.md) - Overview of
312 accessibility concerns and approaches in Chromium.
313* [Accessibility Tests](accessibility/tests.md) - Where to find
314 accessibility-related tests in the codebase.
315* [ChromeVox on Chrome OS](accessibility/chromevox.md) - Enabling spoken
316 feedback (ChromeVox) on Chrome OS.
317* [ChromeVox on Desktop Linux](accessibility/chromevox_on_desktop_linux.md) -
318 Enabling spoken feedback (ChromeVox) on desktop Linux.
Katie Ded1a9972018-04-17 16:22:18319* [Offscreen, Invisible and Size](accessibility/offscreen.md) - How Chrome
320 defines offscreen, invisible and size in the accessibility tree.
erikchenb83e010a2018-10-08 21:34:01321* [Text to Speech](accessibility/tts.md) - Overview of text to speech in
Katie Ded1a9972018-04-17 16:22:18322 Chrome and Chrome OS.
justincarlson90a1c8c2017-04-14 00:34:25323* [BRLTTY in Chrome OS](accessibility/brltty.md) - Chrome OS integration with
324 BRLTTY to support refreshable braille displays
325* [PATTS on Chrome OS](accessibility/patts.md) - Notes on the PATTS speech
326 sythesis engine used on Chrome OS
327* [VoiceOver](ios/voiceover.md) - Using Apple's VoiceOver feature with
328 Chromium on iOS.
329
Erik Chencd19c162018-04-21 00:27:24330### Memory
331* [Memory Overview](memory/README.md)
332
justincarlson90a1c8c2017-04-14 00:34:25333### Memory Infrastructure Timeline Profiling (MemoryInfra)
334* [Overview](memory-infra/README.md)
335* [GPU Profiling](memory-infra/probe-gpu.md)
336* [Adding Tracing to a Component](memory-infra/adding_memory_infra_tracing.md)
337* [Enabling Startup Tracing](memory-infra/memory_infra_startup_tracing.md)
338* [Memory Usage in CC](memory-infra/probe-cc.md)
339* [Memory Benchmarks](memory-infra/memory_benchmarks.md)
340* [Heap Profiling](memory-infra/heap_profiler.md)
justincarlson90a1c8c2017-04-14 00:34:25341
342### Misc
343* [Useful URLs](useful_urls.md) - A collection of links to various tools and
344 dashboards
345* [ERC IRC](erc_irc.md) - Using ERC in EMACS to access IRC
346* [Kiosk Mode](kiosk_mode.md) - Simulating kiosk mode.
347* [User Handle Mapping](user_handle_mapping.md) - Names of developers across
348 Chromium/IRC/Google
349* [Documentation Best Practices](documentation_best_practices.md)
350* [Documentation Guidelines](documentation_guidelines.md)
justincarlson90a1c8c2017-04-14 00:34:25351* [Chromium Browser vs Google Chrome](chromium_browser_vs_google_chrome.md) -
352 What's the difference between _Chromium Browser_ and _Google Chrome_?
Jochen Eisinger3199b012019-04-04 15:37:29353* [Google Chrome branded builds](google_chrome_branded_builds.md)
justincarlson90a1c8c2017-04-14 00:34:25354* [Proxy Auto Config using WPAD](proxy_auto_config.md) - How WPAD servers are
355 used to automatically set proxy settings.
356* [Installing Chromium OS on VMWare](installation_at_vmware.md) - How to
357 install Chromium OS on VMWare.
Steve Kobes22fb19c2017-07-05 21:49:08358* [User Data Directory](user_data_dir.md) - How the user data and cache
359 directories are determined on all platforms.
Ken Rockotab035122019-02-06 00:35:24360
361### Mojo &amp; Services
362* [Intro to Mojo &amp; Services](mojo_and_services.md) - Quick introduction
363 to Mojo and services in Chromium, with examples
364* [Mojo API Reference](/mojo/README.md) - Detailed reference documentation for
365 all things Mojo
366* [The Service Manager &amp; Services](/services/service_manager/README.md) -
367 Services system overview, API references, example services
368* [Service Development Guidelines](/services/README.md) - Guidelines for
369 service development in the Chromium tree
370* [Servicifying Chromium Features](servicification.md) - General advice for
371 integrating new and existing subsystems into Chromium as services
372* [Converting Legacy IPC to Mojo](mojo_ipc_conversion.md) - Tips and common
373 patterns for practical IPC conversion work
Oksana Zhuravlova437d8a82019-02-26 00:25:50374* [Mojo “Style” Guide](security/mojo.md) - Recommendations for best practices
375 from Mojo and IPC reviewers
justincarlson90a1c8c2017-04-14 00:34:25376
Jacob DeWitt5c5667e2019-08-14 22:57:59377### WebXR
378* [Running OpenVR Without Headset](xr/run_openvr_without_headset.md) -
379 Instructions for running OpenVR on Windows without a headset
380
justincarlson90a1c8c2017-04-14 00:34:25381### Probably Obsolete
justincarlson90a1c8c2017-04-14 00:34:25382* [TPM Quick Reference](tpm_quick_ref.md) - Trusted Platform Module notes.
383* [System Hardening Features](system_hardening_features.md) - A list of
384 current and planned Chrome OS security features.
justincarlson90a1c8c2017-04-14 00:34:25385* [WebView Policies](webview_policies.md)
386* [Linux Profiling](linux_profiling.md) - How to profile Chromium on Linux
387* [Linux Graphics Pipeline](linux_graphics_pipeline.md)
388* [Linux `SUID` Sandbox](linux_suid_sandbox.md) - Sandboxing renderers using a
389 SUID binary on Linux
390* [Linux `SUID` Sandbox Development](linux_suid_sandbox_development.md) -
391 Development on the above system.
392* [Linux PID Namespace Support](linux_pid_namespace_support.md)
393* [Vanilla msysgit workflow](vanilla_msysgit_workflow.md) - A workflow for
394 using mostly vanilla git on Windows.
395* [Old Chromoting Build Instructions](old_chromoting_build_instructions.md)
396* [Old Options](chrome_settings.md) - Pre-Material Design chrome://settings
397 notes.