nodir | 469b2a1 | 2015-09-14 16:20:21 | [diff] [blame] | 1 | # Chromium docs |
| 2 | |
Ming-Ying Chung | d8eebd2c | 2022-07-19 08:02:23 | [diff] [blame] | 3 | This directory contains [chromium project](https://www.chromium.org/Home/) |
| 4 | documentation in [Gitiles-flavored Markdown]. It is automatically |
| 5 | [rendered by Gitiles]. |
Vincent Scheib | de853a0 | 2017-07-13 23:31:18 | [diff] [blame] | 6 | |
| 7 | [Gitiles-flavored Markdown]: https://gerrit.googlesource.com/gitiles/+/master/Documentation/markdown.md |
John Palmer | 046f987 | 2021-05-24 01:24:56 | [diff] [blame] | 8 | [rendered by Gitiles]: https://chromium.googlesource.com/chromium/src/+/main/docs/ |
nodir | 469b2a1 | 2015-09-14 16:20:21 | [diff] [blame] | 9 | |
Ming-Ying Chung | d8eebd2c | 2022-07-19 08:02:23 | [diff] [blame] | 10 | **If you add new documents, please also add a link to them in the Document Index |
| 11 | below.** |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 12 | |
| 13 | [TOC] |
| 14 | |
Vincent Scheib | 394b907a | 2017-07-14 22:30:06 | [diff] [blame] | 15 | ## Creating Documentation |
nodir | 469b2a1 | 2015-09-14 16:20:21 | [diff] [blame] | 16 | |
Ming-Ying Chung | d8eebd2c | 2022-07-19 08:02:23 | [diff] [blame] | 17 | ### Guidelines |
nodir | 469b2a1 | 2015-09-14 16:20:21 | [diff] [blame] | 18 | |
Qi Xiao | 4a80b1e | 2022-07-27 10:08:29 | [diff] [blame] | 19 | * See the [Chromium Documentation Guidelines](documentation_guidelines.md) |
Ming-Ying Chung | d8eebd2c | 2022-07-19 08:02:23 | [diff] [blame] | 20 | and the |
Qi Xiao | 4a80b1e | 2022-07-27 10:08:29 | [diff] [blame] | 21 | [Chromium Documentation Best Practices](documentation_best_practices.md). |
Ming-Ying Chung | d8eebd2c | 2022-07-19 08:02:23 | [diff] [blame] | 22 | * Markdown documents must follow the |
| 23 | [style guide](https://github.com/google/styleguide/tree/gh-pages/docguide). |
| 24 | |
| 25 | ### Previewing changes |
| 26 | |
| 27 | #### Locally using [md_browser](../tools/md_browser/) |
nodir | 6efa499 | 2015-12-20 00:54:33 | [diff] [blame] | 28 | |
| 29 | ```bash |
| 30 | # in chromium checkout |
agable | d40b954 | 2016-05-11 01:15:06 | [diff] [blame] | 31 | ./tools/md_browser/md_browser.py |
nodir | 6efa499 | 2015-12-20 00:54:33 | [diff] [blame] | 32 | ``` |
| 33 | |
Vincent Scheib | 394b907a | 2017-07-14 22:30:06 | [diff] [blame] | 34 | This is only an estimate. The **gitiles** view may differ. |
nodir | 6efa499 | 2015-12-20 00:54:33 | [diff] [blame] | 35 | |
Ming-Ying Chung | d8eebd2c | 2022-07-19 08:02:23 | [diff] [blame] | 36 | #### Online with Gerrit's links to gitiles |
Vincent Scheib | 394b907a | 2017-07-14 22:30:06 | [diff] [blame] | 37 | |
Mathieu Perreault | 33962538 | 2017-07-29 00:32:58 | [diff] [blame] | 38 | 1. Upload a patch to gerrit, or receive a review request. |
Roland Bock | fdc88ec | 2022-01-05 08:32:54 | [diff] [blame] | 39 | e.g. https://chromium-review.googlesource.com/c/3362532 |
Mathieu Perreault | 33962538 | 2017-07-29 00:32:58 | [diff] [blame] | 40 | 2. View a specific .md file. |
Roland Bock | fdc88ec | 2022-01-05 08:32:54 | [diff] [blame] | 41 | e.g. https://chromium-review.googlesource.com/c/3362532/2/docs/README.md |
| 42 | 3. You will see something like <br> |
| 43 | Base |
Qi Xiao | 4a80b1e | 2022-07-27 10:08:29 | [diff] [blame] | 44 | [preview](https://chromium.googlesource.com/chromium/src/+/ad44f6081ccc6b92479b12f1eb7e9482f474859d/docs/README.md) |
Roland Bock | fdc88ec | 2022-01-05 08:32:54 | [diff] [blame] | 45 | -> Patchset 3 |
Qi Xiao | 4a80b1e | 2022-07-27 10:08:29 | [diff] [blame] | 46 | [preview](https://chromium.googlesource.com/chromium/src/+/refs/changes/32/3362532/3/docs/README.md) |
Roland Bock | fdc88ec | 2022-01-05 08:32:54 | [diff] [blame] | 47 | | DOWNLOAD <br> |
Ming-Ying Chung | d8eebd2c | 2022-07-19 08:02:23 | [diff] [blame] | 48 | at the top left of the page. Click on the second |
Qi Xiao | 4a80b1e | 2022-07-27 10:08:29 | [diff] [blame] | 49 | "[preview](https://chromium.googlesource.com/chromium/src/+/refs/changes/32/3362532/3/docs/README.md)" |
Roland Bock | fdc88ec | 2022-01-05 08:32:54 | [diff] [blame] | 50 | link to open the preview for the current patch set. |
Vincent Scheib | 394b907a | 2017-07-14 22:30:06 | [diff] [blame] | 51 | |
| 52 | This **gitiles** view is the authoritative view, exactly the same as will be |
| 53 | used when committed. |
nodir | 6efa499 | 2015-12-20 00:54:33 | [diff] [blame] | 54 | |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 55 | ## Document Index |
| 56 | |
| 57 | ### Checking Out and Building |
Tom Anderson | 93e49e49 | 2019-12-23 19:55:37 | [diff] [blame] | 58 | * [Linux Build Instructions](linux/build_instructions.md) - Linux |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 59 | * [Mac Build Instructions](mac_build_instructions.md) - MacOS |
| 60 | * [Windows Build Instructions](windows_build_instructions.md) - Windows |
| 61 | * [Android Build Instructions](android_build_instructions.md) - Android target |
| 62 | (on a Linux host) |
Tom Anderson | 93e49e49 | 2019-12-23 19:55:37 | [diff] [blame] | 63 | * [Cast Build Instructions](linux/cast_build_instructions.md) - Cast target |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 64 | (on a Linux host) |
| 65 | * [Cast for Android Build Instructions](android_cast_build_instructions.md) - |
| 66 | Cast for Android (on a Linux host) |
Chong Gu | 4749ec1 | 2021-02-17 01:41:06 | [diff] [blame] | 67 | * [Fuchsia Build Instructions](fuchsia/build_instructions.md) - |
| 68 | Fuchsia target (on a Linux host) |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 69 | * [iOS Build Instructions](ios/build_instructions.md) - iOS target (on a MacOS |
| 70 | host) |
Euisang Lim | 1f25391 | 2018-04-30 01:46:32 | [diff] [blame] | 71 | * [Chrome OS Build Instructions](chromeos_build_instructions.md) - Chrome OS |
Tom Anderson | 93e49e49 | 2019-12-23 19:55:37 | [diff] [blame] | 72 | * [Linux Chromium ARM Recipes](linux/chromium_arm.md) - Recipes for building |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 73 | Chromium for ARM on Linux. |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 74 | * [Chrome Component Build](component_build.md) - Faster builds using more |
| 75 | libraries |
| 76 | * [Using the BuildRunner](using_build_runner.md) - Scripts that extract build |
| 77 | stops from builders and runs them locally on a slave |
| 78 | * [Cr User Manual](cr_user_manual.md) - Manual for `cr`, a tool that tries to |
| 79 | hide some of the tools used for working on Chromium behind an abstraction |
| 80 | layer |
| 81 | |
justincarlson | ad589ce | 2017-04-20 17:26:07 | [diff] [blame] | 82 | ### Design Docs |
| 83 | * See [design/README.md](design/README.md) |
| 84 | |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 85 | ### Integrated Development Environment (IDE) Set Up Guides |
| 86 | * [Android Studio](android_studio.md) - Android Studio for Android builds |
manukh | 080b47e | 2019-12-19 22:06:19 | [diff] [blame] | 87 | * [Atom](atom.md) - Atom multi-platform code editor |
| 88 | * [CLion](clion.md) - CLion IDE, supports GUI debugging. |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 89 | * [Eclipse for Android](eclipse.md) - Eclipse for Android |
Vincent Scheib | 196c7b4 | 2019-12-21 00:29:19 | [diff] [blame] | 90 | * [Eclipse for Linux](linux/eclipse_dev.md) - Eclipse for other platforms |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 91 | (This guide was written for Linux, but is probably usable on Windows/MacOS |
| 92 | as well) |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 93 | * [EMACS Notes](emacs.md) - EMACS commands/styles/tool integrations |
manukh | 080b47e | 2019-12-19 22:06:19 | [diff] [blame] | 94 | * [Qt Creator](qtcreator.md) - Using Qt Creator as an IDE or GUI debugger |
| 95 | * [Visual Studio Code](vscode.md) - Visual Studio Code |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 96 | |
| 97 | ### Git |
| 98 | * [Git Cookbook](git_cookbook.md) - A collection of git recipes for common |
| 99 | tasks |
| 100 | * [Git Tips](git_tips.md) - More git tips |
| 101 | |
| 102 | ### Clang |
| 103 | * [Clang Compiler](clang.md) - General information on the clang compiler, used |
| 104 | by default on Mac and Linux |
| 105 | * [Clang Tool Refactoring](clang_tool_refactoring.md) - Leveraging clang tools |
| 106 | to perform refactorings that are AST-aware |
| 107 | * [The Clang Static Analyzer](clang_static_analyzer.md) - How to enable static |
| 108 | analysis at build time |
Yuke Liao | bb571bd6 | 2018-10-31 21:51:52 | [diff] [blame] | 109 | * [Clang Code Coverage Wrapper](clang_code_coverage_wrapper.md) - Enable Clang |
| 110 | code coverage instrumentation for a subset of source files. |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 111 | * [Writing Clang Plugins](writing_clang_plugins.md) - Don't write a clang |
| 112 | plugin, but if you do, read this |
| 113 | * [Updating Clang](updating_clang.md) - Updating the version of Clang used to |
| 114 | build |
| 115 | * [Using clang-format on Chromium C++ Code](clang_format.md) - Various ways to |
| 116 | invoke clang-format on C++ code |
| 117 | * [Clang Tidy](clang_tidy.md) - Support for the `clang-tidy` tool in Chromium |
| 118 | * [Updating Clang Format Binaries](updating_clang_format_binaries.md) - How up |
| 119 | update the clang-format binaries that come with a checkout of Chromium |
| 120 | |
| 121 | ### General Development |
Toby Huang | 5105f81 | 2019-08-08 23:47:57 | [diff] [blame] | 122 | * [Contributing to Chromium](contributing.md) - Reference workflow process for |
| 123 | contributing to the Chromium code base. |
| 124 | * [Commit Checklist](commit_checklist.md) - Streamlined checklist to go |
| 125 | through before uploading CLs on Gerrit. |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 126 | * [Code Reviews](code_reviews.md) - Code review requirements and guidelines |
Mathieu Perreault | 33962538 | 2017-07-29 00:32:58 | [diff] [blame] | 127 | * [Respectful Code Reviews](cr_respect.md) - A guide for code reviewers |
| 128 | * [Respectful Changes](cl_respect.md) - A guide for code authors |
Yulan Lin | 55ae6a3 | 2020-07-31 17:58:29 | [diff] [blame] | 129 | * [Mandatory Code-Review Rollout](code_review_owners.md) - Upcoming policy changes related to code review and OWNERS |
Eric Foo | 6ea4fbd | 2018-01-17 04:04:50 | [diff] [blame] | 130 | * [LUCI Migration FAQ](luci_migration_faq.md) - FAQ on Buildbot-to-LUCI |
| 131 | builder migration for Chromium |
Eric Foo | ff7b498 | 2017-12-19 01:59:15 | [diff] [blame] | 132 | * [Tour of Continuous Integration UI](tour_of_luci_ui.md) - A tour of our |
Eric Foo | 6ea4fbd | 2018-01-17 04:04:50 | [diff] [blame] | 133 | the user interface for LUCI, our continuous integration system |
erikchen | b83e010a | 2018-10-08 21:34:01 | [diff] [blame] | 134 | * [Parsing Test Results](parsing_test_results.md) - An introduction for how to |
| 135 | understand the results emitted by polygerrit and CI builds. |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 136 | * [Closure Compilation](closure_compilation.md) - The _Closure_ JavaScript |
| 137 | compiler |
fdoray | bacba4a2 | 2017-05-10 21:10:00 | [diff] [blame] | 138 | * [Threading and Tasks in Chrome](threading_and_tasks.md) - How to run tasks |
| 139 | and handle thread safety in Chrome. |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 140 | * [Callback<> and Bind()](callback.md) - All about Callbacks, Closures, and |
| 141 | Bind(). |
Trevor Perrier | 2c14389 | 2020-12-10 21:40:42 | [diff] [blame] | 142 | * [Chromium Views UI](ui/index.md) - Working with the desktop UI framework. |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 143 | * [Views Platform Styling](ui/views/platform_style.md) - How views are styled |
| 144 | to fit in different native platforms |
| 145 | * [Tab Helpers](tab_helpers.md) - Using WebContents/WebContentsObserver to add |
| 146 | features to browser tabs. |
| 147 | * [Adding third_party Libraries](adding_to_third_party.md) - How to get code |
| 148 | into third_party/ |
| 149 | * [Graphical Debugging Aid for Chromium Views](graphical_debugging_aid_chromium_views.md) - |
| 150 | Visualizing view trees during debugging |
| 151 | * [Bitmap Pipeline](bitmap_pipeline.md) - How bitmaps are moved from the |
| 152 | renderer to the screen. |
John Abd-El-Malek | da0e8cd | 2022-09-16 23:42:05 | [diff] [blame] | 153 | * [Flag Guarding Guidelines](flag_guarding_guidelines.md) - When to use |
| 154 | server controlled kill switches and A/B experiments to safely roll out |
| 155 | changes. |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 156 | * [Using the Origin Trials Framework](origin_trials_integration.md) - A |
| 157 | framework for conditionally enabling experimental APIs for testing. |
Victor Hugo Vianna Silva | d1b14e1d | 2022-01-27 14:36:52 | [diff] [blame] | 158 | * [Chrome Sync](https://source.chromium.org/chromium/chromium/src/+/main:docs/website/site/developers/design-documents/sync) - |
| 159 | Docs for the subsystem that allows one to sync data across devices. |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 160 | * [Ozone Overview](ozone_overview.md) - Ozone is an abstraction layer between |
| 161 | the window system and low level input and graphics. |
| 162 | * [Optimizing Chrome Web UIs](optimizing_web_uis.md) - Notes on making webuis |
Ming-Ying Chung | c23505d6 | 2022-09-22 10:07:33 | [diff] [blame] | 163 | more performant* [Guidelines for considering branch dates in project planning](release_branch_guidance.md) - |
Dimitri Glazkov | 2070775d | 2017-10-24 17:47:02 | [diff] [blame] | 164 | What to do (and not to do) around branch dates when scheduling your project |
| 165 | work. |
Dan Beam | 1981221 | 2018-11-29 08:16:56 | [diff] [blame] | 166 | * [WebUI Explainer](webui_explainer.md) - An explanation of C++ and JavaScript |
| 167 | infrastructural code for Chrome UIs implemented with web technologies (i.e. |
| 168 | chrome:// URLs). |
Dominik Röttsches | d113bfa | 2019-07-10 08:56:24 | [diff] [blame] | 169 | * [Watchlists](infra/watchlists.md) - Use watchlists to get notified of CLs |
| 170 | you are interested in. |
Francois Doray | 7c0e5443 | 2020-08-25 15:27:28 | [diff] [blame] | 171 | * [Shutdown](shutdown.md) - Explains the steps of Chrome shutdown, to make it |
| 172 | easier to determine where to add a new shutdown operation. |
Ben Henry | 95c0220f | 2021-05-10 15:59:20 | [diff] [blame] | 173 | * [API Keys](api_keys.md) - When you need access to Google APIs for a custom |
| 174 | build, fork, integration of stock Chromium, or are building ChromiumOS (for |
| 175 | login). |
Mickey Burks | eb4fa27 | 2022-11-03 23:16:01 | [diff] [blame^] | 176 | * [User Education](../components/user_education/README.md) - Create |
| 177 | in-product help (IPH) and tutorials to call out Chromium features |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 178 | |
| 179 | ### Testing |
Kent Tamura | 59ffb02 | 2018-11-27 05:30:56 | [diff] [blame] | 180 | * [Running and Debugging Web Tests](testing/web_tests.md) |
ZHANGHAO | c94db173 | 2021-05-07 12:04:19 | [diff] [blame] | 181 | * [On disabling tests](testing/on_disabling_tests.md) |
Kent Tamura | 59ffb02 | 2018-11-27 05:30:56 | [diff] [blame] | 182 | * [Writing Web Tests](testing/writing_web_tests.md) - Web Tests using |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 183 | `content_shell` |
Kent Tamura | 59ffb02 | 2018-11-27 05:30:56 | [diff] [blame] | 184 | * [Web Test Expectations and Baselines](testing/web_test_expectations.md) - |
| 185 | Setting expected results of web tests. |
| 186 | * [Web Tests Tips](testing/web_tests_tips.md) - Best practices for web tests |
Darwin Huang | a8cd3818 | 2019-01-10 11:05:10 | [diff] [blame] | 187 | * [Web Tests with Manual Fallback](testing/web_tests_with_manual_fallback.md) - |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 188 | Writing tests that simulate manual interventions |
Kent Tamura | 59ffb02 | 2018-11-27 05:30:56 | [diff] [blame] | 189 | * [Extending the Web Test Framework](how_to_extend_web_test_framework.md) |
| 190 | * [Fixing Web Test Flakiness](testing/identifying_tests_that_depend_on_order.md) - |
| 191 | Diagnosing and fixing web test flakiness due to ordering dependencies. |
| 192 | * [Running Web Tests using `content_shell`](testing/web_tests_in_content_shell.md) - |
| 193 | Running web tests by hand. |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 194 | * [Web Platform Tests](testing/web_platform_tests.md) - Shared tests across |
| 195 | browser vendors |
Joshua Peraza | 6f96b9d | 2019-02-12 16:55:14 | [diff] [blame] | 196 | * [Using Crashpad with `content_shell`](testing/using_crashpad_with_content_shell.md) - |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 197 | Capture stack traces on layout test crashes without an attached debugger |
Lei Lei | 8aa9db62 | 2019-05-01 21:08:01 | [diff] [blame] | 198 | * [Test Descriptions](testing/test_descriptions.md) - Unit test targets that can be |
Quinten Yearsley | 317532d | 2021-10-20 17:10:31 | [diff] [blame] | 199 | built, with associated descriptions. |
Xiaohan Wang | 203c741 | 2019-10-09 23:34:59 | [diff] [blame] | 200 | * [Fuzz Testing](../testing/libfuzzer/README.md) - Fuzz testing in Chromium. |
Lei Lei | 8aa9db62 | 2019-05-01 21:08:01 | [diff] [blame] | 201 | * [IPC Fuzzer](testing/ipc_fuzzer.md) - Fuzz testing of Chromium IPC interfaces. |
| 202 | * [Running Chrome tests with AddressSanitizer (asan) and LeakSanitizer (lsan)](testing/linux_running_asan_tests.md) - |
| 203 | Run Chrome tests with ASAN and LSAN builds to detect addressability issues and memory leaks. |
Yuke Liao | 43bbbcd5 | 2019-06-21 19:34:50 | [diff] [blame] | 204 | * [Code Coverage](testing/code_coverage.md) - Code coverage for Chromium. |
| 205 | * [Code Coverage in Gerrit](testing/code_coverage_in_gerrit.md) - Per-CL code |
| 206 | coverage in Gerrit to assist code reviews. |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 207 | |
Ming-Ying Chung | c23505d6 | 2022-09-22 10:07:33 | [diff] [blame] | 208 | ### Configuration Docs |
| 209 | |
| 210 | * [Configuration: Prefs, Settings, Features, Switches & Flags](configuration.md) - Explains different ways to gate a new feature. |
| 211 | * [Adding a new feature flag in chrome://flags](how_to_add_your_feature_flag.md) - Quick guide to add a new feature flag to experiment your feature. |
| 212 | * [Runtime Enabled Features](https://chromium.googlesource.com/chromium/src/+/main/third_party/blink/renderer/platform/RuntimeEnabledFeatures.md) |
| 213 | * [Initialization of Blink runtime features in content layer](initialize_blink_features.md) |
| 214 | * [Integrating a feature with the origin trials framework](origin_trials_integration.md) |
| 215 | |
Kenneth Russell | 9618adde | 2018-05-03 03:16:05 | [diff] [blame] | 216 | ### GPU-related docs |
| 217 | * [GPU Pixel Wrangling](gpu/pixel_wrangling.md) - Instructions for GPU |
| 218 | pixel wrangling (the GPU sheriffing rotation). |
| 219 | * [Debugging GPU related code](gpu/debugging_gpu_related_code.md) - Hints for |
| 220 | debugging GPU- and graphics-related code. |
| 221 | * [GPU Testing](gpu/gpu_testing.md) - Description of Chromium's GPU testing |
| 222 | infrastructure. |
| 223 | * [GPU Bot Details](gpu/gpu_testing_bot_details.md) - In-depth description of |
| 224 | how the bots are maintained. |
| 225 | |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 226 | ### Misc Linux-Specific Docs |
Tom Anderson | 93e49e49 | 2019-12-23 19:55:37 | [diff] [blame] | 227 | * [Linux Proxy Config](linux/proxy_config.md) - Network proxy sources on Linux |
| 228 | * [Debugging SSL on Linux](linux/debugging_ssl.md) - Tips on debugging SSL |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 229 | code in Linux |
Quinten Yearsley | 317532d | 2021-10-20 17:10:31 | [diff] [blame] | 230 | * [Linux Cert Management](linux/cert_management.md) - Managing X.509 |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 231 | Certificates in Linux |
Tom Anderson | 93e49e49 | 2019-12-23 19:55:37 | [diff] [blame] | 232 | * [Tips for Debugging on Linux](linux/debugging.md) |
| 233 | * [Linux GTK Theme Integration](linux/gtk_theme_integration.md) - Having |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 234 | Chrome match the GTK+ theme. |
Tom Anderson | 93e49e49 | 2019-12-23 19:55:37 | [diff] [blame] | 235 | * [Browser Plugins on Linux](linux/plugins.md) - A collection of links to |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 236 | information on how browser plugins work on Linux |
Tom Anderson | 93e49e49 | 2019-12-23 19:55:37 | [diff] [blame] | 237 | * [Linux Crash Dumping](linux/crash_dumping.md) - How Breakpad uploads crash |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 238 | reports to Google crash servers. |
Tom Anderson | 93e49e49 | 2019-12-23 19:55:37 | [diff] [blame] | 239 | * [Linux Minidump to Core](linux/minidump_to_core.md) - How to convert a |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 240 | Breakpad-generated minidump files to a core file readable by most debuggersx |
Tom Anderson | 93e49e49 | 2019-12-23 19:55:37 | [diff] [blame] | 241 | * [Linux Sandbox IPC](linux/sandbox_ipc.md) - The lower level UPC system used |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 242 | to route requests from the bottom of the call stack up into the browser. |
Tom Anderson | 93e49e49 | 2019-12-23 19:55:37 | [diff] [blame] | 243 | * [Linux Dev Build as Default Browser](linux/dev_build_as_default_browser.md) - |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 244 | How to configure a Dev build of Chrome as the default browser in Linux. |
Tom Anderson | 93e49e49 | 2019-12-23 19:55:37 | [diff] [blame] | 245 | * [Linux Chromium Packages](linux/chromium_packages.md) - Packages of Chromium |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 246 | browser (not Chrome) provided by some Linux distributions. |
| 247 | * [`seccomp` Sandbox Crash Dumping](seccomp_sandbox_crash_dumping.md) - Notes |
| 248 | on crash dumping a process running in a seccomp sandbox. |
Tom Anderson | 93e49e49 | 2019-12-23 19:55:37 | [diff] [blame] | 249 | * [Linux Password Storage](linux/password_storage.md) - Keychain integrations |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 250 | between Chromium and Linux. |
Ivan Sandrk | fe73ee8 | 2018-03-23 11:54:16 | [diff] [blame] | 251 | * [Linux Sublime Development](sublime_ide.md) - Using Sublime as an IDE |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 252 | for Chromium development on Linux. |
Tom Anderson | 93e49e49 | 2019-12-23 19:55:37 | [diff] [blame] | 253 | * [Building and Debugging GTK](linux/building_debug_gtk.md) - Building |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 254 | Chromium against GTK using lower optimization levels and/or more debugging |
| 255 | symbols. |
Tom Anderson | 93e49e49 | 2019-12-23 19:55:37 | [diff] [blame] | 256 | * [Debugging GTK](linux/debugging_gtk.md) - Using the GTK Debug packages and |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 257 | related tools. |
Tom Anderson | 93e49e49 | 2019-12-23 19:55:37 | [diff] [blame] | 258 | * [Chroot Notes](linux/using_a_chroot.md) - Setting up a chroot to work around |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 259 | libfreetype differences in some versions of Linux. |
Tom Anderson | 93e49e49 | 2019-12-23 19:55:37 | [diff] [blame] | 260 | * [Linux Sandboxing](linux/sandboxing.md) - The Linux multi-process model to |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 261 | isolate browser components with different privileges. |
Tom Anderson | 93e49e49 | 2019-12-23 19:55:37 | [diff] [blame] | 262 | * [Zygote Process](linux/zygote.md) - How the Linux Zygote process, used to |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 263 | spawn new processes, works. |
Lei Lei | 8aa9db62 | 2019-05-01 21:08:01 | [diff] [blame] | 264 | * [Running Web Tests on Linux](testing/web_tests_linux.md) - Linux-specific |
Kent Tamura | 59ffb02 | 2018-11-27 05:30:56 | [diff] [blame] | 265 | instructions for running web tests. |
Tom Anderson | 93e49e49 | 2019-12-23 19:55:37 | [diff] [blame] | 266 | * [Linux Sysroot Images](linux/sysroot.md) - How builds use libraries on Linux |
| 267 | * [Linux Hardware Video Decoding](linux/hw_video_decode.md) - Enabling |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 268 | hardware video decode codepaths on Linux |
| 269 | |
| 270 | ### Misc MacOS-Specific Docs |
Robert Sesek | 176a7c4 | 2021-04-30 20:34:17 | [diff] [blame] | 271 | * [Mac Debugging Tips](mac/debugging.md) - An introduction to debugging on |
| 272 | Mac, as well as a collection of useful tips. |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 273 | * [Using CCache on Mac](ccache_mac.md) - Speed up builds on Mac using ccache |
| 274 | with clang/ninja |
| 275 | * [Cocoa tips and tricks](cocoa_tips_and_tricks.md) - A collection of idioms |
| 276 | used when writing Cocoa views and controllers |
| 277 | * [MacViews Release Plan](ui/views/macviews_release.md) |
| 278 | |
| 279 | ### Misc Windows-Specific Docs |
| 280 | * [Handling cygwin rebaseall failures](cygwin_dll_remapping_failure.md) |
| 281 | * [Hacking on ANGLE in Chromium](angle_in_chromium.md) - OpenGL ES 2.0 built |
| 282 | on top of DirectX |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 283 | * [Windows Split DLLs](windows_split_dll.md) - Splitting `chrome.dll` into |
| 284 | multiple dlls to work around toolchain limitations on Windows. |
David Bienvenu | cc6d2ec0 | 2020-10-05 23:11:59 | [diff] [blame] | 285 | * [Windows Native Window Occlusion Tracking](windows_native_window_occlusion_tracking.md) |
Trevor Perrier | 2c14389 | 2020-12-10 21:40:42 | [diff] [blame] | 286 | * [Windows PWA Integration](windows_pwa_integration.md) - Integration with |
David Bienvenu | cc6d2ec0 | 2020-10-05 23:11:59 | [diff] [blame] | 287 | Progressive Web Apps on Windows |
| 288 | * [Windows Shortcut and Taskbar Handling](windows_shortcut_and_taskbar_handling.md) |
| 289 | * [Windows Virtual Desktop Integration](windows_virtual_desktop_handling.md) |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 290 | |
| 291 | ### Misc Android-Specific Docs |
| 292 | * [Google Play Services in Chrome for Android](google_play_services.md) |
| 293 | * [Accessing C++ Enums in Java](android_accessing_cpp_enums_in_java.md) - How |
| 294 | to use C++-defined enums in Java code |
| 295 | * [Profiling Content Shell on Android](profiling_content_shell_on_android.md) - |
| 296 | Setting up profiling for `content_shell` on Android |
| 297 | * [Working Remotely with Android](working_remotely_with_android.md) - Building |
| 298 | on a remote machine for an Android device connected to your local machine |
Lei Lei | 8aa9db62 | 2019-05-01 21:08:01 | [diff] [blame] | 299 | * [Android Test Instructions](testing/android_test_instructions.md) - Running a build |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 300 | on an Android device or emulator. |
| 301 | * [Android Debugging](android_debugging_instructions.md) - Tools and tips for |
| 302 | how to debug Java and/or C/C++ code running on Android. |
| 303 | * [Android Logging](android_logging.md) - How Chrome's logging API works with |
| 304 | `android.util.Log` on Android, and usage guidelines. |
David 'Digit' Turner | 40560ef7 | 2018-03-07 09:44:28 | [diff] [blame] | 305 | * [Android Java Static Analysis](../build/android/docs/lint.md) - Catching |
| 306 | Java related issues at compile time with the 'lint' tool. |
| 307 | * [Java Code Coverage](../build/android/docs/coverage.md) - Collecting code |
| 308 | coverage data with the EMMA tool. |
Andrew Grieve | 7e777abf | 2021-08-17 19:43:59 | [diff] [blame] | 309 | * [Dynamic Feature Modules (DFMs)](android_dynamic_feature_modules.md) - What |
| 310 | are they and how to create new ones. |
| 311 | * [Other build-related Android docs](../build/android/docs/index.md) |
Theresa Wellington | b0767a7 | 2019-10-01 00:17:46 | [diff] [blame] | 312 | * [Chrome for Android UI](ui/android/overview.md) - Resources and best practices for |
| 313 | developing UI |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 314 | |
| 315 | ### Misc iOS-Specific Docs |
| 316 | * [Continuous Build and Test Infrastructure for Chromium for iOS](ios/infra.md) |
| 317 | * [Opening links in Chrome for iOS](ios/opening_links.md) - How to have your |
| 318 | iOS app open links in Chrome. |
| 319 | * [User Agent in Chrome for iOS](ios/user_agent.md) - Notes on User Agent |
| 320 | strings using Chrome for iOS. |
Mike Baxley | 47db7d8 | 2017-11-16 15:57:17 | [diff] [blame] | 321 | * [Running iOS test suites locally](ios/testing.md) |
Mark Cogan | 0abda965 | 2020-04-15 11:22:07 | [diff] [blame] | 322 | * [Working With Project Files in iOS](ios/working_with_files.md) - How |
| 323 | to add, remove, and rename files in the iOS Chromium project. |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 324 | |
Daniel Erat | ace8d362 | 2017-12-20 23:27:24 | [diff] [blame] | 325 | ### Misc Chrome-OS-Specific Docs |
Jacob Dufault | 4260b148 | 2019-04-29 23:17:24 | [diff] [blame] | 326 | * [Setting up captive portals and other restrictive networks](login/restrictive_networks.md) |
Denis Kuznetsov | 885b185 | 2019-05-15 19:07:48 | [diff] [blame] | 327 | * [Enterprise Enrollment](enterprise/enrollment.md) |
| 328 | * [Kiosk mode and public sessions](enterprise/kiosk_public_session.md) |
Jacob Dufault | 4260b148 | 2019-04-29 23:17:24 | [diff] [blame] | 329 | * [Debugging UI in OOBE/login/lock](login/ui_debugging.md) |
Daniel Erat | ace8d362 | 2017-12-20 23:27:24 | [diff] [blame] | 330 | * [Chrome Logging on Chrome OS](chrome_os_logging.md) |
Laurent Chavey | 19a8d16 | 2021-02-11 00:36:42 | [diff] [blame] | 331 | * [Debugging tips](testing/chromeos_debugging_tips.md) |
Daniel Erat | ace8d362 | 2017-12-20 23:27:24 | [diff] [blame] | 332 | |
Dan Beam | 1981221 | 2018-11-29 08:16:56 | [diff] [blame] | 333 | ### Misc WebUI-Specific Docs |
| 334 | * [Creating WebUI Interfaces in components/](webui_in_components.md) How to |
| 335 | create a new WebUI component in the `components/` directory. |
Jun Kokatsu | 6edbfd8 | 2021-01-13 22:01:58 | [diff] [blame] | 336 | * [Trusted Types on WebUI](trusted_types_on_webui.md) Tips for coding in WebUI |
| 337 | with Trusted Types in mind. |
Dan Beam | 1981221 | 2018-11-29 08:16:56 | [diff] [blame] | 338 | |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 339 | ### Media |
| 340 | * [Audio Focus Handling](media/audio_focus.md) - How multiple MediaSession |
| 341 | audio streams interact |
| 342 | * [Autoplay of HTMLMediaElements](media/autoplay.md) - How HTMLMediaElements |
| 343 | are autoplayed. |
| 344 | * [Piranha Plant](piranha_plant.md) - Future architecture of MediaStreams |
David Staessens | 4f491087 | 2019-10-28 03:18:51 | [diff] [blame] | 345 | * [Video Encode Accelerator Tests](media/gpu/veatest_usage.md) - How to |
| 346 | use the accelerated video encoder test program. |
David Staessens | f3404c1 | 2019-04-16 00:12:05 | [diff] [blame] | 347 | * [Video Decoder Tests](media/gpu/video_decoder_test_usage.md) - Running the |
David Staessens | 4f491087 | 2019-10-28 03:18:51 | [diff] [blame] | 348 | video decoder tests. |
David Staessens | 80711e8 | 2019-04-16 00:23:14 | [diff] [blame] | 349 | * [Video Decoder Performance Tests](media/gpu/video_decoder_perf_test_usage.md) - |
David Staessens | 4f491087 | 2019-10-28 03:18:51 | [diff] [blame] | 350 | Running the video decoder performance tests. |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 351 | |
| 352 | ### Accessibility |
| 353 | * [Accessibility Overview](accessibility/overview.md) - Overview of |
| 354 | accessibility concerns and approaches in Chromium. |
Josiah Krutz | ac2b287 | 2022-01-13 18:32:49 | [diff] [blame] | 355 | * [Accessibility Tests](accessibility/browser/tests.md) - Where to find |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 356 | accessibility-related tests in the codebase. |
Josiah Krutz | ac2b287 | 2022-01-13 18:32:49 | [diff] [blame] | 357 | * [ChromeVox on Chrome OS](accessibility/os/chromevox.md) - Enabling spoken |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 358 | feedback (ChromeVox) on Chrome OS. |
Josiah Krutz | ac2b287 | 2022-01-13 18:32:49 | [diff] [blame] | 359 | * [ChromeVox on Desktop Linux](accessibility/os/chromevox_on_desktop_linux.md) - |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 360 | Enabling spoken feedback (ChromeVox) on desktop Linux. |
Josiah Krutz | ac2b287 | 2022-01-13 18:32:49 | [diff] [blame] | 361 | * [Offscreen, Invisible and Size](accessibility/browser/offscreen.md) - How Chrome |
Katie D | ed1a997 | 2018-04-17 16:22:18 | [diff] [blame] | 362 | defines offscreen, invisible and size in the accessibility tree. |
Josiah Krutz | ac2b287 | 2022-01-13 18:32:49 | [diff] [blame] | 363 | * [Text to Speech](accessibility/browser/tts.md) - Overview of text to speech in |
Katie D | ed1a997 | 2018-04-17 16:22:18 | [diff] [blame] | 364 | Chrome and Chrome OS. |
Josiah Krutz | ac2b287 | 2022-01-13 18:32:49 | [diff] [blame] | 365 | * [BRLTTY in Chrome OS](accessibility/os/brltty.md) - Chrome OS integration with |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 366 | BRLTTY to support refreshable braille displays |
Josiah Krutz | ac2b287 | 2022-01-13 18:32:49 | [diff] [blame] | 367 | * [PATTS on Chrome OS](accessibility/os/patts.md) - Notes on the PATTS speech |
Quinten Yearsley | 317532d | 2021-10-20 17:10:31 | [diff] [blame] | 368 | synthesis engine used on Chrome OS |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 369 | * [VoiceOver](ios/voiceover.md) - Using Apple's VoiceOver feature with |
| 370 | Chromium on iOS. |
| 371 | |
Erik Chen | cd19c16 | 2018-04-21 00:27:24 | [diff] [blame] | 372 | ### Memory |
| 373 | * [Memory Overview](memory/README.md) |
| 374 | |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 375 | ### Memory Infrastructure Timeline Profiling (MemoryInfra) |
| 376 | * [Overview](memory-infra/README.md) |
| 377 | * [GPU Profiling](memory-infra/probe-gpu.md) |
| 378 | * [Adding Tracing to a Component](memory-infra/adding_memory_infra_tracing.md) |
| 379 | * [Enabling Startup Tracing](memory-infra/memory_infra_startup_tracing.md) |
| 380 | * [Memory Usage in CC](memory-infra/probe-cc.md) |
| 381 | * [Memory Benchmarks](memory-infra/memory_benchmarks.md) |
| 382 | * [Heap Profiling](memory-infra/heap_profiler.md) |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 383 | |
Ilya Sherman | 3cb2087e | 2020-09-17 17:30:56 | [diff] [blame] | 384 | ### Metrics |
| 385 | * [Histograms](/tools/metrics/histograms/README.md) |
| 386 | * [User Actions](/tools/metrics/actions/README.md) |
| 387 | * [Code review guidelines](/tools/metrics/histograms/review_guidelines.md) |
| 388 | |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 389 | ### Misc |
| 390 | * [Useful URLs](useful_urls.md) - A collection of links to various tools and |
| 391 | dashboards |
| 392 | * [ERC IRC](erc_irc.md) - Using ERC in EMACS to access IRC |
| 393 | * [Kiosk Mode](kiosk_mode.md) - Simulating kiosk mode. |
| 394 | * [User Handle Mapping](user_handle_mapping.md) - Names of developers across |
| 395 | Chromium/IRC/Google |
| 396 | * [Documentation Best Practices](documentation_best_practices.md) |
| 397 | * [Documentation Guidelines](documentation_guidelines.md) |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 398 | * [Chromium Browser vs Google Chrome](chromium_browser_vs_google_chrome.md) - |
| 399 | What's the difference between _Chromium Browser_ and _Google Chrome_? |
Jochen Eisinger | 3199b01 | 2019-04-04 15:37:29 | [diff] [blame] | 400 | * [Google Chrome branded builds](google_chrome_branded_builds.md) |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 401 | * [Proxy Auto Config using WPAD](proxy_auto_config.md) - How WPAD servers are |
| 402 | used to automatically set proxy settings. |
| 403 | * [Installing Chromium OS on VMWare](installation_at_vmware.md) - How to |
| 404 | install Chromium OS on VMWare. |
Steve Kobes | 22fb19c | 2017-07-05 21:49:08 | [diff] [blame] | 405 | * [User Data Directory](user_data_dir.md) - How the user data and cache |
| 406 | directories are determined on all platforms. |
Greg Thompson | 47bdc67 | 2020-01-06 14:25:31 | [diff] [blame] | 407 | * [User Data Storage](user_data_storage.md) - Policy documentation for files in User Data. |
Ken Rockot | ab03512 | 2019-02-06 00:35:24 | [diff] [blame] | 408 | |
| 409 | ### Mojo & Services |
| 410 | * [Intro to Mojo & Services](mojo_and_services.md) - Quick introduction |
| 411 | to Mojo and services in Chromium, with examples |
| 412 | * [Mojo API Reference](/mojo/README.md) - Detailed reference documentation for |
| 413 | all things Mojo |
Ken Rockot | ab03512 | 2019-02-06 00:35:24 | [diff] [blame] | 414 | * [Service Development Guidelines](/services/README.md) - Guidelines for |
| 415 | service development in the Chromium tree |
| 416 | * [Servicifying Chromium Features](servicification.md) - General advice for |
| 417 | integrating new and existing subsystems into Chromium as services |
| 418 | * [Converting Legacy IPC to Mojo](mojo_ipc_conversion.md) - Tips and common |
| 419 | patterns for practical IPC conversion work |
Oksana Zhuravlova | 437d8a8 | 2019-02-26 00:25:50 | [diff] [blame] | 420 | * [Mojo “Style” Guide](security/mojo.md) - Recommendations for best practices |
| 421 | from Mojo and IPC reviewers |
Harvey Yang | 01729de | 2021-03-01 11:02:24 | [diff] [blame] | 422 | * [D-Bus Mojo Connection Service](dbus_mojo_connection_service.md) - A service |
| 423 | in Chrome to bootstrap CrOS services' Mojo connection. |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 424 | |
Nicolás Peña Moreno | c7391bb | 2020-04-30 22:17:12 | [diff] [blame] | 425 | ### Speed |
| 426 | * [Chrome Speed](speed/README.md) - Documentation for performance measurements and regressions in Chrome. |
Manuel Lagana | 1821fff8 | 2022-05-12 18:30:35 | [diff] [blame] | 427 | * [Chrome Speed Metrics](speed_metrics/README.md) - Documentation about user experience metrics on the web and their JavaScript APIs. |
Nicolás Peña Moreno | c7391bb | 2020-04-30 22:17:12 | [diff] [blame] | 428 | |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 429 | ### Probably Obsolete |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 430 | * [TPM Quick Reference](tpm_quick_ref.md) - Trusted Platform Module notes. |
| 431 | * [System Hardening Features](system_hardening_features.md) - A list of |
| 432 | current and planned Chrome OS security features. |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 433 | * [WebView Policies](webview_policies.md) |
Tom Anderson | 93e49e49 | 2019-12-23 19:55:37 | [diff] [blame] | 434 | * [Linux Profiling](linux/profiling.md) - How to profile Chromium on Linux |
| 435 | * [Linux Graphics Pipeline](linux/graphics_pipeline.md) |
| 436 | * [Linux `SUID` Sandbox](linux/suid_sandbox.md) - Sandboxing renderers using a |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 437 | SUID binary on Linux |
Tom Anderson | 93e49e49 | 2019-12-23 19:55:37 | [diff] [blame] | 438 | * [Linux `SUID` Sandbox Development](linux/suid_sandbox_development.md) - |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 439 | Development on the above system. |
Tom Anderson | 93e49e49 | 2019-12-23 19:55:37 | [diff] [blame] | 440 | * [Linux PID Namespace Support](linux/pid_namespace_support.md) |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 441 | * [Vanilla msysgit workflow](vanilla_msysgit_workflow.md) - A workflow for |
| 442 | using mostly vanilla git on Windows. |
justincarlson | 90a1c8c | 2017-04-14 00:34:25 | [diff] [blame] | 443 | * [Old Options](chrome_settings.md) - Pre-Material Design chrome://settings |
| 444 | notes. |