Chromium Code Reviews| 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 |