Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(529)

Side by Side Diff: net/docs/supported-projects.md

Issue 2700673002: [net] Add documentation for feature process & supported platforms (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« net/docs/life-of-a-feature.md ('K') | « net/docs/life-of-a-feature.md ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(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
OLDNEW
« net/docs/life-of-a-feature.md ('K') | « net/docs/life-of-a-feature.md ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698