xref: /aosp_15_r20/external/cronet/net/docs/bug-triage-labels.md (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1# Chrome Network Bug Triage : Components and labels
2
3## Some network component caveats
4
5* **Internals>Network>SSL**
6
7    This includes issues that should be also tagged as **Security>UX**
8    (certificate error pages or other security interstitials, omnibox indicators
9    that a page is secure), and more general SSL issues.  If you see requests
10    that die in the SSL negotiation phase, in particular, this is often the
11    correct component.
12
13* **Internals>Network>Cache**
14
15    The cache is the layer that handles most range request logic (Though range
16    requests may also be issued by the PDF plugin, XHRs, or other components).
17
18* **Internals>Network>HTTP**
19
20    Typically not used.  Unclear what it covers, and there's no specific HTTP
21    owner.
22
23* **Internals>Network>Logging**
24
25    Covers **about:net-internals**, **about:net-export** as well as the what's
26    sent to the NetLog.
27
28* **Internals>Network>Connectivity**
29
30    Issues related to switching between networks, `ERR_NETWORK_CHANGED`, Chrome
31    thinking it's online when it's not / navigator.onLine inaccuracies, etc.
32
33* **Internals>Network>Filters**
34
35    Covers gzip, deflate and brotli issues.  `ERR_CONTENT_DECODING_FAILED`
36    indicates a problem at this layer, and bugs here can also cause response
37    body corruption.
38
39## Common non-network components
40
41Bugs in these areas often receive the **Internals>Network** component, though
42they fall largely outside the purview of the network stack team:
43
44* **UI>Browser>Downloads**
45
46    Despite the name, this covers all issues related to downloading a file
47    except saving entire pages (which is **Blink>SavePage**), not just UI
48    issues.  Most downloads bugs will have the word "download" or "save as" in
49    the description.  Issues with the HTTP server for the Chrome binaries are
50    not downloads bugs.
51
52* **Services>Safebrowsing**
53
54    Bugs that have to do with the process by which a URL or file is determined
55    to be dangerous based on our databases, or the resulting interstitials.
56    Determination of danger based purely on content-type or file extension
57    belongs in **UI>Browser>Downloads**, not SafeBrowsing.
58
59* **Blink>Forms**
60
61    Issues submitting forms, forms having weird data, forms sending the wrong
62    method, etc.
63
64* **Blink>Loader**
65
66    Cross origin issues are sometimes loader related.  Blink also has an
67    in-memory cache, and when it's used, requests don't appear in
68    about:net-internals.  Requests for the same URL are also often merged there
69    as well.  This does *not* cover issues with content/browser/loader/ files.
70
71* **Blink>ServiceWorker**
72
73* **Blink>Network>WebSockets**
74
75    Issues with the WebSockets.  Attach this component to any issue about the
76    WebSocket feature regardless of where the cause of the issue is (net/ or
77    Blink).
78
79* **Blink>Network>FetchAPI**
80
81    Generic issues with the Fetch API - missing request or response headers,
82    multiple headers, etc.  These will often run into issues in certain corner
83    cases (Cross origin / CORS, proxy, whatever).  Attach all components that
84    seem appropriate.
85
86* **Blink>Network>XHR**
87
88    Generic issues with sync/async XHR requests.
89
90* **Blink>WebRTC>Network**
91
92    Anything WebRTC-related does not use the net stack and should go here.
93
94* **Services>Sync**
95
96    Sharing data/tabs/history/passwords/etc between machines not working.
97
98* **Services>Chromoting**
99
100* **Platform>Extensions**
101
102    Issues extensions loading / not loading / hanging.
103
104* **Platform>Extensions>API**
105
106    Issues with network related extension APIs should have this component.
107    chrome.webRequest is the big one, I believe, but there are others.
108
109* **Internals>Plugins>Pepper[>SDK]**
110
111* **UI>Browser>Omnibox**
112
113    Basically any issue with the omnibox.  URLs being treated as search queries
114    rather than navigations, dropdown results being weird, not handling certain
115    Unicode characters, etc.  If the issue is new TLDs not being recognized by
116    the omnibox, that's due to Chrome's TLD list being out of date, and not an
117    omnibox issue.  Such TLD issues should be duped against
118    http://crbug.com/37436.
119
120* **Internals>Media>Network**
121
122    Issues related to media.  These often run into the 6 requests per hostname
123    issue, and also have fun interactions with the cache, particularly in the
124    range request case.
125
126* **Internals>Plugins>PDF**
127
128    Issues loading PDF files.  These are often related to range requests, which
129    also have some logic at the Internals>Network>Cache layer.
130
131* **UI>Browser>Navigation**
132
133    Despite the name, this covers all issues related to page navigation, not
134    just UI issues.
135
136* **UI>Browser>History**
137
138    Issues which only appear with forward/back navigation.
139
140* **OS>Systems>Network** / **OS>Systems>Mobile** / **OS>Systems>Bluetooth**
141
142    These should be used for issues with Chrome OS's platform network code, and
143    not net/ issues on Chrome OS.
144
145* **Blink>SecurityFeature**
146
147    CORS / Cross origin issues.  Main frame cross-origin navigation issues are
148    often actually **UI>Browser>Navigation** issues.
149
150* **Privacy**
151
152    Privacy related bug (History, cookies discoverable by an entity that
153    shouldn't be able to do so, incognito state being saved in memory or on disk
154    beyond the lifetime of incognito tabs, etc).  Generally used in conjunction
155    with other components.
156
157## Common labels
158
159* **Type-Bug-Security**
160
161    Security related bug (Allows for code execution from remote site, allows
162    crossing security boundaries, unchecked array bounds, etc) should be tagged
163    with this label.
164