OLD | NEW |
---|---|
1 # Chromium docs | 1 # Chromium docs |
2 | 2 |
3 This directory contains chromium project documentation in | 3 This directory contains chromium project documentation in |
4 [Gitiles-flavored Markdown]. | 4 [Gitiles-flavored Markdown](https://gerrit.googlesource.com/gitiles/+/master/Doc umentation/markdown.md). |
5 It is automatically | 5 It is automatically |
6 [rendered by Gitiles](https://chromium.googlesource.com/chromium/src/+/master/do cs/). | 6 [rendered by Gitiles](https://chromium.googlesource.com/chromium/src/+/master/do cs/). |
7 | 7 |
8 If you add new documents, please also add a link to them in the Document Index | |
9 below. | |
10 | |
11 [TOC] | |
12 | |
8 ## Style guide | 13 ## Style guide |
9 | 14 |
10 Markdown documents must follow the [style guide]. | 15 Markdown documents must follow the [style guide](https://github.com/google/style guide/tree/gh-pages/docguide). |
11 | 16 |
12 ## Previewing changes | 17 ## Previewing changes |
13 | 18 |
14 You can preview your local changes using [md_browser]: | 19 You can preview your local changes using [md_browser](../tools/md_browser/): |
15 | 20 |
16 ```bash | 21 ```bash |
17 # in chromium checkout | 22 # in chromium checkout |
18 ./tools/md_browser/md_browser.py | 23 ./tools/md_browser/md_browser.py |
19 ``` | 24 ``` |
20 | 25 |
21 To review someone else's changes, apply them locally first: | 26 To review someone else's changes, apply them locally first: |
22 | 27 |
23 ```bash | 28 ```bash |
24 # in chromium checkout | 29 # in chromium checkout |
25 git cl patch <CL number or URL> | 30 git cl patch <CL number or URL> |
26 ./tools/md_browser/md_browser.py | 31 ./tools/md_browser/md_browser.py |
27 ``` | 32 ``` |
28 | 33 |
29 [Gitiles-flavored Markdown]: https://gerrit.googlesource.com/gitiles/+/master/Do cumentation/markdown.md | 34 ## Document Index |
30 [style guide]: https://github.com/google/styleguide/tree/gh-pages/docguide | 35 |
31 [md_browser]: ../tools/md_browser/ | 36 ### Checking Out and Building |
37 * [Linux Build Instructions](linux_build_instructions.md) - Linux | |
38 * [Mac Build Instructions](mac_build_instructions.md) - MacOS | |
39 * [Windows Build Instructions](windows_build_instructions.md) - Windows | |
40 * [Android Build Instructions](android_build_instructions.md) - Android target | |
41 (on a Linux host) | |
42 * [Cast Build Instructions](linux_cast_build_instructions.md) - Cast target | |
43 (on a Linux host) | |
44 * [Cast for Android Build Instructions](android_cast_build_instructions.md) - | |
45 Cast for Android (on a Linux host) | |
46 * [iOS Build Instructions](ios/build_instructions.md) - iOS target (on a MacOS | |
47 host) | |
48 * [Linux Chromium ARM Recipes](linux_chromium_arm.md) - Recipes for building | |
49 Chromium for ARM on Linux. | |
50 * [Common Build Tasks](common_build_tasks.md) - Recipes for slightly more | |
51 advanced build tasks | |
52 * [Chrome Component Build](component_build.md) - Faster builds using more | |
53 libraries | |
54 * [Using the BuildRunner](using_build_runner.md) - Scripts that extract build | |
55 stops from builders and runs them locally on a slave | |
56 * [Cr User Manual](cr_user_manual.md) - Manual for `cr`, a tool that tries to | |
57 hide some of the tools used for working on Chromium behind an abstraction | |
58 layer | |
59 | |
60 ### Integrated Development Environment (IDE) Set Up Guides | |
61 * [Android Studio](android_studio.md) - Android Studio for Android builds | |
62 * [Eclipse for Android](eclipse.md) - Eclipse for Android | |
63 * [Eclipse for Linux](linux_eclipse_dev.md) - Eclipse for other platforms | |
64 (This guide was written for Linux, but is probably usable on Windows/MacOS | |
65 as well) | |
66 * [Qt Creator](qtcreator.md) - Using Qt Creator as an IDE or GUI debugger | |
67 * [Setting up Visual Studio Code](vscode.md) - Visual Studio Code | |
68 * [EMACS Notes](emacs.md) - EMACS commands/styles/tool integrations | |
69 * [Atom](atom.md) - Atom multi-platform code editor | |
70 | |
71 ### Git | |
72 * [Git Cookbook](git_cookbook.md) - A collection of git recipes for common | |
73 tasks | |
74 * [Git Tips](git_tips.md) - More git tips | |
75 | |
76 ### Clang | |
77 * [Clang Compiler](clang.md) - General information on the clang compiler, used | |
78 by default on Mac and Linux | |
79 * [Clang Tool Refactoring](clang_tool_refactoring.md) - Leveraging clang tools | |
80 to perform refactorings that are AST-aware | |
81 * [The Clang Static Analyzer](clang_static_analyzer.md) - How to enable static | |
82 analysis at build time | |
83 * [Writing Clang Plugins](writing_clang_plugins.md) - Don't write a clang | |
84 plugin, but if you do, read this | |
85 * [Updating Clang](updating_clang.md) - Updating the version of Clang used to | |
86 build | |
87 * [Using clang-format on Chromium C++ Code](clang_format.md) - Various ways to | |
88 invoke clang-format on C++ code | |
89 * [Clang Tidy](clang_tidy.md) - Support for the `clang-tidy` tool in Chromium | |
90 * [Updating Clang Format Binaries](updating_clang_format_binaries.md) - How up | |
91 update the clang-format binaries that come with a checkout of Chromium | |
92 | |
93 ### General Development | |
94 * [Code Reviews](code_reviews.md) - Code review requirements and guidelines | |
95 * [Closure Compilation](closure_compilation.md) - The _Closure_ JavaScript | |
96 compiler | |
97 * [Callback<> and Bind()](callback.md) - All about Callbacks, Closures, and | |
98 Bind(). | |
99 * [Views Platform Styling](ui/views/platform_style.md) - How views are styled | |
100 to fit in different native platforms | |
101 * [Tab Helpers](tab_helpers.md) - Using WebContents/WebContentsObserver to add | |
102 features to browser tabs. | |
103 * [Adding third_party Libraries](adding_to_third_party.md) - How to get code | |
104 into third_party/ | |
105 * [Graphical Debugging Aid for Chromium Views](graphical_debugging_aid_chromiu m_views.md) - | |
106 Visualizing view trees during debugging | |
107 * [Bitmap Pipeline](bitmap_pipeline.md) - How bitmaps are moved from the | |
108 renderer to the screen. | |
109 * [base::Optional](optional.md) - How to use `base::Optional` in C++ code. | |
110 * [Using the Origin Trials Framework](origin_trials_integration.md) - A | |
111 framework for conditionally enabling experimental APIs for testing. | |
112 * [`SharedModelTypeProcessor` in Unified Sync and Storage](sync/uss/shared_mod el_type_processor.md) - | |
113 Notes on the central data structure used in Chrome Sync. | |
114 * [Chrome Sync's Model API](sync/model_api.md) - Data models used for syncing | |
115 information across devices using Chrome Sync. | |
116 * [Ozone Overview](ozone_overview.md) - Ozone is an abstraction layer between | |
117 the window system and low level input and graphics. | |
118 * [Optimizing Chrome Web UIs](optimizing_web_uis.md) - Notes on making webuis | |
119 more performant | |
120 * [ES6 Support in Chromium](es6_chromium.md) - Implementation of ECMAScript6 | |
121 features in Chromium | |
122 | |
123 ### Testing | |
124 * [Running and Debugging Layout Tests](testing/layout_tests.md) | |
125 * [Writing Layout Tests](testing/writing_layout_tests.md) - Layout Tests using | |
126 `content_shell` | |
127 * [Layout Test Expectations and Baselines](testing/layout_test_expectations.md ) - | |
128 Setting expected results of layout tests. | |
129 * [Layout Tests Tips](testing/layout_tests_tips.md) - Best practices for Layou t | |
130 Tests | |
131 * [Layout Tests with Manual Fallback](testing/layout_tests_with_manual_fallbac k.md) - | |
132 Writing tests that simulate manual interventions | |
133 * [Extending the Layout Test Framework](how_to_extend_layout_test_framework.md ) | |
134 * [Fixing Layout Test Flakiness](testing/identifying_tests_that_depend_on_orde r.md) - | |
135 Diagnosing and fixing layout test flakiness due to ordering dependencies. | |
136 * [Running Layout Tests using `content_shell`](testing/layout_tests_in_content _shell.md) - | |
137 Running layout tests by hand. | |
138 * [Testing Browser Dialogs](testing/test_browser_dialog.md) - Using | |
139 TestBrowserDialog | |
140 * [Web Platform Tests](testing/web_platform_tests.md) - Shared tests across | |
141 browser vendors | |
142 * [Using Breakpad with `content_shell`](testing/using_breakpad_with_content_sh ell.md) - | |
143 Capture stack traces on layout test crashes without an attached debugger | |
144 * [Test Descriptions](test_descriptions.md) - Unit test targets that can be | |
145 built, with associated desciptions. | |
146 * [IPC Fuzzer](ipc_fuzzer.md) - Fuzz testing of Chromium IPC interfaces. | |
147 | |
148 ### Misc Linux-Specific Docs | |
149 * [Linux Proxy Config](linux_proxy_config.md) - Network proxy sources on Linux | |
150 * [Debugging SSL on Linux](linux_debugging_ssl.md) - Tips on debugging SSL | |
151 code in Linux | |
152 * [Linux Cert Managment](linux_cert_management.md) - Managing X.509 | |
153 Certificates in Linux | |
154 * [Tips for Debugging on Linux](linux_debugging.md) | |
155 * [Linux GTK Theme Integration](linux_gtk_theme_integration.md) - Having | |
156 Chrome match the GTK+ theme. | |
157 * [Gtk vs ViewsGtk](gtk_vs_views_gtk.md) - Notes on when to use Gtk vs | |
158 ViewsGtk | |
159 * [Browser Plugins on Linux](linux_plugins.md) - A collection of links to | |
160 information on how browser plugins work on Linux | |
161 * [Linux Crash Dumping](linux_crash_dumping.md) - How Breakpad uploads crash | |
162 reports to Google crash servers. | |
163 * [Linux Minidump to Core](linux_minidump_to_core.md) - How to convert a | |
164 Breakpad-generated minidump files to a core file readable by most debuggersx | |
165 * [Linux Sandbox IPC](linux_sandbox_ipc.md) - The lower level UPC system used | |
166 to route requests from the bottom of the call stack up into the browser. | |
167 * [Linux Dev Build as Default Browser](linux_dev_build_as_default_browser.md) - | |
168 How to configure a Dev build of Chrome as the default browser in Linux. | |
169 * [Linux Chromium Packages](linux_chromium_packages.md) - Packages of Chromium | |
170 browser (not Chrome) provided by some Linux distributions. | |
171 * [`seccomp` Sandbox Crash Dumping](seccomp_sandbox_crash_dumping.md) - Notes | |
172 on crash dumping a process running in a seccomp sandbox. | |
173 * [Linux Password Storage](linux_password_storage.md) - Keychain integrations | |
174 between Chromium and Linux. | |
175 * [Linux Sublime Development](linux_sublime_dev.md) - Using Sublime as an IDE | |
176 for Chromium development on Linux. | |
177 * [Building and Debugging GTK](linux_building_debug_gtk.md) - Building | |
178 Chromium against GTK using lower optimization levels and/or more debugging | |
179 symbols. | |
180 * [Debugging GTK](linux_debugging_gtk.md) - Using the GTK Debug packages and | |
181 related tools. | |
182 * [Chroot Notes](using_a_linux_chroot.md) - Setting up a chroot to work around | |
183 libfreetype differences in some versions of Linux. | |
184 * [Linux Sandboxing](linux_sandboxing.md) - The Linux multi-process model to | |
185 isolate browser components with different privileges. | |
186 * [Zygote Process](linux_zygote.md) - How the Linux Zygote process, used to | |
187 spawn new processes, works. | |
188 * [Running Layout Tests on Linux](layout_tests_linux.md) - Linux-specific | |
189 instructions for running layout tests. | |
190 * [Linux Sysroot Images](linux_sysroot.md) - How builds use libraries on Linux | |
191 * [`msttcorefonts` on Mandriva](mandriva_msttcorefonts.md) - Getting fonts | |
192 needed to build Chrome that are not available for Mandriva | |
193 * [Linux Hardware Video Decoding](linux_hw_video_decode.md) - Enabling | |
194 hardware video decode codepaths on Linux | |
195 | |
196 ### Misc MacOS-Specific Docs | |
197 * [Using CCache on Mac](ccache_mac.md) - Speed up builds on Mac using ccache | |
198 with clang/ninja | |
199 * [Cocoa tips and tricks](cocoa_tips_and_tricks.md) - A collection of idioms | |
200 used when writing Cocoa views and controllers | |
201 * [MacViews Release Plan](ui/views/macviews_release.md) | |
202 | |
203 ### Misc Windows-Specific Docs | |
204 * [Handling cygwin rebaseall failures](cygwin_dll_remapping_failure.md) | |
205 * [Hacking on ANGLE in Chromium](angle_in_chromium.md) - OpenGL ES 2.0 built | |
206 on top of DirectX | |
207 * [Retrieveing Code Analysis Warnings](retrieving_code_analysis_warnings.md) - | |
208 How to retrieve and summarize the warnings generated by Microsoft VC++'s | |
209 `/analyze` compile option. | |
210 * [Windows Split DLLs](windows_split_dll.md) - Splitting `chrome.dll` into | |
211 multiple dlls to work around toolchain limitations on Windows. | |
212 | |
213 ### Misc Android-Specific Docs | |
214 * [Google Play Services in Chrome for Android](google_play_services.md) | |
215 * [Accessing C++ Enums in Java](android_accessing_cpp_enums_in_java.md) - How | |
216 to use C++-defined enums in Java code | |
217 * [Profiling Content Shell on Android](profiling_content_shell_on_android.md) - | |
218 Setting up profiling for `content_shell` on Android | |
219 * [Working Remotely with Android](working_remotely_with_android.md) - Building | |
220 on a remote machine for an Android device connected to your local machine | |
221 * [Using FindBugs for Android](use_find_bugs_for_android.md) - Using the open | |
222 source static analysis tool findbugs on the Java code. | |
223 * [Android Test Instructions](android_test_instructions.md) - Running a build | |
224 on an Android device or emulator. | |
225 * [Android Debugging](android_debugging_instructions.md) - Tools and tips for | |
226 how to debug Java and/or C/C++ code running on Android. | |
227 * [Android Logging](android_logging.md) - How Chrome's logging API works with | |
228 `android.util.Log` on Android, and usage guidelines. | |
229 * [Chromoting Android Hacking](chromoting_android_hacking.md) - Viewing the | |
230 logs and debugging the Chrome Remote Desktop Android client. | |
231 | |
232 ### Misc iOS-Specific Docs | |
233 * [Continuous Build and Test Infrastructure for Chromium for iOS](ios/infra.md ) | |
234 * [Opening linux in Chrome for iOS](ios/opening_links.md) - How to have your | |
Dirk Pranke
2017/04/13 23:53:22
s/linux/links ?
Carlson
2017/04/14 00:18:22
Done.
| |
235 iOS app open links in Chrome. | |
236 * [User Agent in Chrome for iOS](ios/user_agent.md) - Notes on User Agent | |
237 strings using Chrome for iOS. | |
238 | |
239 ### Media | |
240 * [Audio Focus Handling](media/audio_focus.md) - How multiple MediaSession | |
241 audio streams interact | |
242 * [Autoplay of HTMLMediaElements](media/autoplay.md) - How HTMLMediaElements | |
243 are autoplayed. | |
244 * [Piranha Plant](piranha_plant.md) - Future architecture of MediaStreams | |
245 | |
246 ### Accessibility | |
247 * [Accessibility Overview](accessibility/overview.md) - Overview of | |
248 accessibility concerns and approaches in Chromium. | |
249 * [Accessibility Tests](accessibility/tests.md) - Where to find | |
250 accessibility-related tests in the codebase. | |
251 * [ChromeVox on Chrome OS](accessibility/chromevox.md) - Enabling spoken | |
252 feedback (ChromeVox) on Chrome OS. | |
253 * [ChromeVox on Desktop Linux](accessibility/chromevox_on_desktop_linux.md) - | |
254 Enabling spoken feedback (ChromeVox) on desktop Linux. | |
255 * [BRLTTY in Chrome OS](accessibility/brltty.md) - Chrome OS integration with | |
256 BRLTTY to support refreshable braille displays | |
257 * [PATTS on Chrome OS](accessibility/patts.md) - Notes on the PATTS speech | |
258 sythesis engine used on Chrome OS | |
259 * [VoiceOver](ios/voiceover.md) - Using Apple's VoiceOver feature with | |
260 Chromium on iOS. | |
261 | |
262 ### Memory Infrastructure Timeline Profiling (MemoryInfra) | |
263 * [Overview](memory-infra/README.md) | |
264 * [GPU Profiling](memory-infra/probe_gpu.md) | |
265 * [Adding Tracing to a Component](adding_memory_infra_tracing.md) | |
266 * [Enabling Startup Tracing](memory-infra/memory_infra_startup_tracing.md) | |
267 * [Memory Usage in CC](memory-infra/probe-cc.md) | |
268 * [Memory Benchmarks](memory-infra/memory_benchmarks.md) | |
269 * [Heap Profiling](memory-infra/heap_profiler.md) | |
270 * [Heap Profiling Internals](memory-infra/heap_profiler_internals.md) | |
271 | |
272 ### Misc | |
273 * [Useful URLs](useful_urls.md) - A collection of links to various tools and | |
274 dashboards | |
275 * [ERC IRC](erc_irc.md) - Using ERC in EMACS to access IRC | |
276 * [Kiosk Mode](kiosk_mode.md) - Simulating kiosk mode. | |
277 * [User Handle Mapping](user_handle_mapping.md) - Names of developers across | |
278 Chromium/IRC/Google | |
279 * [Documentation Best Practices](documentation_best_practices.md) | |
280 * [Documentation Guidelines](documentation_guidelines.md) | |
281 * [Shift-Based Development](shift_based_development.md) - An experiment in | |
282 handing off development of coordinated work between developers in different | |
283 time zones. | |
284 * [Chromium Browser vs Google Chrome](chromium_browser_vs_google_chrome.md) - | |
285 What's the difference between _Chromium Browser_ and _Google Chrome_? | |
286 * [Proxy Auto Config using WPAD](proxy_auto_config.md) - How WPAD servers are | |
287 used to automatically set proxy settings. | |
288 * [Installing Chromium OS on VMWare](installation_at_vmware.md) - How to | |
289 install Chromium OS on VMWare. | |
290 | |
291 ### Probably Obsolete | |
292 * [Old ChromeOS build instructions](old_chromeos_build_instructions.md) | |
293 * [TPM Quick Reference](tpm_quick_ref.md) - Trusted Platform Module notes. | |
294 * [System Hardening Features](system_hardening_features.md) - A list of | |
295 current and planned Chrome OS security features. | |
296 * [Browser View Resizer](browser_view_resizer.md) - Design doc for making | |
297 browser window resizing easier on Windows. | |
298 * [WebView Policies](webview_policies.md) | |
299 * [Linux Profiling](linux_profiling.md) - How to profile Chromium on Linux | |
300 * [Linux Graphics Pipeline](linux_graphics_pipeline.md) | |
301 * [Linux `SUID` Sandbox](linux_suid_sandbox.md) - Sandboxing renderers using a | |
302 SUID binary on Linux | |
303 * [Linux `SUID` Sandbox Development](linux_suid_sandbox_development.md) - | |
304 Development on the above system. | |
305 * [Linux PID Namespace Support](linux_pid_namespace_support.md) | |
306 * [Vanilla msysgit workflow](vanilla_msysgit_workflow.md) - A workflow for | |
307 using mostly vanilla git on Windows. | |
308 * [Old Chromoting Build Instructions](old_chromoting_build_instructions.md) | |
309 * [Old Options](chrome_settings.md) - Pre-Material Design chrome://settings | |
310 notes. | |
OLD | NEW |