Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 # Supported Projects | |
| 2 | |
| 3 The `//net` stack is used on a variety of platforms and in a variety of open | |
| 4 source projects. These different platforms and projects have differing | |
| 5 degrees of support from `//net` OWNERS as well as differing requirements for | |
| 6 designs and technical requirements. | |
| 7 | |
| 8 Note that this is a rough high-level overview of the major projects; as more | |
| 9 of `//net` is broken into consumable services/components as part of the Mojo | |
| 10 servicificaiton efforts, it's likely that there will be a larger number of | |
| 11 'variants' of these projects with different constraints and features. | |
| 12 | |
| 13 ## Google Chrome Browser | |
| 14 | |
| 15 The Google Chrome browser, which lives in `//chrome`, is the most important | |
| 16 `//net` consumer and shapes many of the core design decisions. In general, | |
| 17 features that are not intended with or not compatible with the needs of | |
| 18 the Google Chrome browser will have a very high bar for acceptance in `//net`. | |
| 19 | |
| 20 The feature matrix | |
| 21 | |
| 22 * **Supported Platforms**: Windows, macOS, Linux, Chromium OS, iOS, Android | |
| 23 * **Release Frequency**: ~6 weeks between releases | |
| 24 * **Automatic Updates**: Yes | |
| 25 * **Command-line Flags**: | |
| 26 * __Yes__: Windows, macOS, Linux, Chromium OS (Dev image), Android (rooted) | |
| 27 * __No__: Chromium OS (Release image), iOS, Android (Release) | |
| 28 * **Field Trials (Finch)**: Yes | |
| 29 * **Enterprise Policy**: Yes | |
| 30 * **User Metrics (UMA)**: Yes | |
| 31 * **Component Updater**: Yes | |
| 32 | |
| 33 ## Chromium Browser | |
| 34 | |
| 35 The Chromium browser refers to the practice of certain Linux distributions to | |
| 36 bundle the open-source components of Chrome Browser in `//chrome`, branded | |
| 37 as Chromium. This version is not distributed by Google, but by individual | |
| 38 Linux distributions (primarily). Other distributions based on building Chromium | |
| 39 for other platforms exist, although do not see as wide of usage. | |
| 40 | |
| 41 * **Supported Platforms**: Windows, macOS, Linux, Chromium OS, iOS, Android | |
| 42 * **Release Frequency**: Varies by distributor; some Linux distributions | |
| 43 treat versions of Chromium as "Long Term Stable" and support a single | |
| 44 version for a longer time than the Chromium projects do, others track | |
| 45 the Google Chrome release frequency. | |
| 46 * **Automatic Updates**: Varies by distributor | |
| 47 * **Command-line Flags**: | |
| 48 * __Yes__: Windows, macOS, Linux, Chromium OS (dev image), Android (rooted) | |
| 49 * __No__: Chromium OS (Release image), iOS, Android (Release) | |
| 50 * **Field Trials (Finch)**: No | |
| 51 * **Enterprise Policy**: Yes | |
| 52 * **User Metrics (UMA)**: Varies by distributor | |
| 53 * **Component Updater**: Varies by distributor | |
| 54 | |
| 55 ## Android WebView | |
| 56 | |
| 57 Distinct from the Chromium browser, the Android WebView is itself based on | |
| 58 the Chromium browser. On official Android devices running Android N or later, | |
| 59 WebView is automatically updated when Google Chrome is updated on the | |
| 60 device. For earlier devices, Android WebView is updated by the System WebView | |
| 61 component. | |
| 62 | |
| 63 Android WebView may also be used on non-official Android devices, such as | |
| 64 those based on the Android Open Source Project but do not go through the | |
| 65 Android [Compatability Test Suite](https://source.android.com/compatibility/cts/ ). | |
| 66 Such releases have limited to no interaction with the Chromium projects, and | |
| 67 so their capabilities cannot be conclusively documented. | |
| 68 | |
| 69 For official Android devices, WebView has the following capabilities. | |
| 70 | |
| 71 * **Supported Platforms**: Android | |
| 72 * **Release Frequency**: ~6 weeks between releases | |
| 73 * **Automatic Updates**: Varies. Updates are made available on the Android | |
| 74 App Store, but users must explicitly choose to update. As such, the | |
| 75 rate of update varies much more than for the Chromium browser. | |
| 76 * **Command-line Flags**: No | |
| 77 * **Field Trials (Finch)**: No | |
| 78 * **Enterprise Policy**: No | |
| 79 * **User Metrics (UMA)**: No | |
| 80 * **Component Updater**: No | |
| 81 | |
| 82 ## `//content` Embedders | |
| 83 | |
| 84 In addition to Chromium, there are a number of other of embedders of | |
| 85 `//content`, such as projects like [Chromium Embedded Framework](https://bitbuck et.org/chromiumembedded/cef) | |
| 86 or [Electron](http://electron.atom.io/). While `//net` does not directly | |
| 87 support these consumers, it does support the `//content` embedding API that | |
| 88 these projects use. Note that this excludes the | |
| 89 [content_shell](../../content/shell) test framework. | |
| 90 | |
| 91 * **Supported Platforms**: Windows, macOS, Linux, Chromium OS, iOS, Android | |
| 92 * **Release Frequency**: Varies by consumer; Officially ~6 weeks | |
| 93 * **Command-line Flags**: Varies by consumer | |
| 94 * **Field Trials (Finch)**: No | |
| 95 * **Enterprise Policy**: No | |
| 96 * **User Metrics (UMA)**: No | |
| 97 * **Component Updater**: No | |
| 98 | |
| 99 ## Cronet | |
|
Ryan Sleevi
2017/02/16 00:58:30
+mef: Could you review this for its capabilities a
mef
2017/02/16 18:00:00
Could you elaborate on 'capabilities'?
Ryan Sleevi
2017/02/16 18:03:55
The points below and making sure I got them right
mef
2017/02/16 18:11:13
Acknowledged.
| |
| 100 | |
| 101 [Cronet](../../components/cronet/README.md) is a version of the `//net` | |
| 102 network stack for use in mobile applications on iOS and Android. While | |
| 103 primarily targetting first-party Google applications, Cronet's status as an | |
| 104 open-source project, similar to the Chromium browser, means that it may | |
| 105 find itself embedded in a variety of other projects. | |
| 106 | |
| 107 Unlike some of the other `//net` consumers, Cronet does not necessarily | |
| 108 implement "The Web Platform" (as the holistic set of user agent-focused | |
| 109 features), and instead is more akin to an HTTP(s) client networking library. | |
| 110 | |
| 111 * **Supported Platforms**: iOS, Android | |
| 112 * **Release Frequency**: Varies | |
|
mef
2017/02/16 18:00:00
Builds follow Chrome release schedule with daily C
Ryan Sleevi
2017/02/16 18:03:55
Well, my understanding is that a build being avail
mef
2017/02/16 18:11:13
Correct. We generally make Dev channel builds avai
| |
| 113 * **Command-line Flags**: No | |
| 114 * **Field Trials (Finch)**: No | |
|
mef
2017/02/16 18:00:00
There are 'experimental options' that consumers ca
Ryan Sleevi
2017/02/16 18:03:55
Do those options use base::FieldTrial? My understa
mef
2017/02/16 18:11:13
That's correct, those don't use base::FieldTrial.
| |
| 115 * **Enterprise Policy**: No | |
| 116 * **User Metrics (UMA)**: | |
| 117 * __Yes__: First-party (Google) projects | |
|
mef
2017/02/16 18:00:00
Proto-serialized UMA data is exposed via getGlobal
Ryan Sleevi
2017/02/16 18:03:55
No, but it does preclude other consumers from send
mef
2017/02/16 18:11:13
I don't know, I was under impression that UMA is l
| |
| 118 * __No__: General consumers | |
| 119 * **Component Updater**: No | |
| OLD | NEW |