xref: /aosp_15_r20/external/cronet/net/cookies/cookie_constants.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker // Copyright 2013 The Chromium Authors
2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker 
5*6777b538SAndroid Build Coastguard Worker #include "net/cookies/cookie_constants.h"
6*6777b538SAndroid Build Coastguard Worker 
7*6777b538SAndroid Build Coastguard Worker #include "base/metrics/histogram_functions.h"
8*6777b538SAndroid Build Coastguard Worker #include "base/metrics/histogram_macros.h"
9*6777b538SAndroid Build Coastguard Worker #include "base/notreached.h"
10*6777b538SAndroid Build Coastguard Worker #include "base/strings/string_util.h"
11*6777b538SAndroid Build Coastguard Worker #include "url/url_constants.h"
12*6777b538SAndroid Build Coastguard Worker 
13*6777b538SAndroid Build Coastguard Worker namespace net {
14*6777b538SAndroid Build Coastguard Worker 
15*6777b538SAndroid Build Coastguard Worker const base::TimeDelta kLaxAllowUnsafeMaxAge = base::Minutes(2);
16*6777b538SAndroid Build Coastguard Worker const base::TimeDelta kShortLaxAllowUnsafeMaxAge = base::Seconds(10);
17*6777b538SAndroid Build Coastguard Worker 
18*6777b538SAndroid Build Coastguard Worker namespace {
19*6777b538SAndroid Build Coastguard Worker 
20*6777b538SAndroid Build Coastguard Worker const char kPriorityLow[] = "low";
21*6777b538SAndroid Build Coastguard Worker const char kPriorityMedium[] = "medium";
22*6777b538SAndroid Build Coastguard Worker const char kPriorityHigh[] = "high";
23*6777b538SAndroid Build Coastguard Worker 
24*6777b538SAndroid Build Coastguard Worker const char kSameSiteLax[] = "lax";
25*6777b538SAndroid Build Coastguard Worker const char kSameSiteStrict[] = "strict";
26*6777b538SAndroid Build Coastguard Worker const char kSameSiteNone[] = "none";
27*6777b538SAndroid Build Coastguard Worker const char kSameSiteExtended[] = "extended";
28*6777b538SAndroid Build Coastguard Worker const char kSameSiteUnspecified[] = "unspecified";
29*6777b538SAndroid Build Coastguard Worker 
30*6777b538SAndroid Build Coastguard Worker }  // namespace
31*6777b538SAndroid Build Coastguard Worker 
CookiePriorityToString(CookiePriority priority)32*6777b538SAndroid Build Coastguard Worker std::string CookiePriorityToString(CookiePriority priority) {
33*6777b538SAndroid Build Coastguard Worker   switch(priority) {
34*6777b538SAndroid Build Coastguard Worker     case COOKIE_PRIORITY_HIGH:
35*6777b538SAndroid Build Coastguard Worker       return kPriorityHigh;
36*6777b538SAndroid Build Coastguard Worker     case COOKIE_PRIORITY_MEDIUM:
37*6777b538SAndroid Build Coastguard Worker       return kPriorityMedium;
38*6777b538SAndroid Build Coastguard Worker     case COOKIE_PRIORITY_LOW:
39*6777b538SAndroid Build Coastguard Worker       return kPriorityLow;
40*6777b538SAndroid Build Coastguard Worker     default:
41*6777b538SAndroid Build Coastguard Worker       NOTREACHED();
42*6777b538SAndroid Build Coastguard Worker   }
43*6777b538SAndroid Build Coastguard Worker   return std::string();
44*6777b538SAndroid Build Coastguard Worker }
45*6777b538SAndroid Build Coastguard Worker 
StringToCookiePriority(const std::string & priority)46*6777b538SAndroid Build Coastguard Worker CookiePriority StringToCookiePriority(const std::string& priority) {
47*6777b538SAndroid Build Coastguard Worker   std::string priority_comp = base::ToLowerASCII(priority);
48*6777b538SAndroid Build Coastguard Worker 
49*6777b538SAndroid Build Coastguard Worker   if (priority_comp == kPriorityHigh)
50*6777b538SAndroid Build Coastguard Worker     return COOKIE_PRIORITY_HIGH;
51*6777b538SAndroid Build Coastguard Worker   if (priority_comp == kPriorityMedium)
52*6777b538SAndroid Build Coastguard Worker     return COOKIE_PRIORITY_MEDIUM;
53*6777b538SAndroid Build Coastguard Worker   if (priority_comp == kPriorityLow)
54*6777b538SAndroid Build Coastguard Worker     return COOKIE_PRIORITY_LOW;
55*6777b538SAndroid Build Coastguard Worker 
56*6777b538SAndroid Build Coastguard Worker   return COOKIE_PRIORITY_DEFAULT;
57*6777b538SAndroid Build Coastguard Worker }
58*6777b538SAndroid Build Coastguard Worker 
CookieSameSiteToString(CookieSameSite same_site)59*6777b538SAndroid Build Coastguard Worker std::string CookieSameSiteToString(CookieSameSite same_site) {
60*6777b538SAndroid Build Coastguard Worker   switch (same_site) {
61*6777b538SAndroid Build Coastguard Worker     case CookieSameSite::LAX_MODE:
62*6777b538SAndroid Build Coastguard Worker       return kSameSiteLax;
63*6777b538SAndroid Build Coastguard Worker     case CookieSameSite::STRICT_MODE:
64*6777b538SAndroid Build Coastguard Worker       return kSameSiteStrict;
65*6777b538SAndroid Build Coastguard Worker     case CookieSameSite::NO_RESTRICTION:
66*6777b538SAndroid Build Coastguard Worker       return kSameSiteNone;
67*6777b538SAndroid Build Coastguard Worker     case CookieSameSite::UNSPECIFIED:
68*6777b538SAndroid Build Coastguard Worker       return kSameSiteUnspecified;
69*6777b538SAndroid Build Coastguard Worker   }
70*6777b538SAndroid Build Coastguard Worker }
71*6777b538SAndroid Build Coastguard Worker 
StringToCookieSameSite(const std::string & same_site,CookieSameSiteString * samesite_string)72*6777b538SAndroid Build Coastguard Worker CookieSameSite StringToCookieSameSite(const std::string& same_site,
73*6777b538SAndroid Build Coastguard Worker                                       CookieSameSiteString* samesite_string) {
74*6777b538SAndroid Build Coastguard Worker   // Put a value on the stack so that we can assign to |*samesite_string|
75*6777b538SAndroid Build Coastguard Worker   // instead of having to null-check it all the time.
76*6777b538SAndroid Build Coastguard Worker   CookieSameSiteString ignored = CookieSameSiteString::kUnspecified;
77*6777b538SAndroid Build Coastguard Worker   if (!samesite_string)
78*6777b538SAndroid Build Coastguard Worker     samesite_string = &ignored;
79*6777b538SAndroid Build Coastguard Worker 
80*6777b538SAndroid Build Coastguard Worker   *samesite_string = CookieSameSiteString::kUnrecognized;
81*6777b538SAndroid Build Coastguard Worker   CookieSameSite samesite = CookieSameSite::UNSPECIFIED;
82*6777b538SAndroid Build Coastguard Worker 
83*6777b538SAndroid Build Coastguard Worker   if (base::EqualsCaseInsensitiveASCII(same_site, kSameSiteNone)) {
84*6777b538SAndroid Build Coastguard Worker     samesite = CookieSameSite::NO_RESTRICTION;
85*6777b538SAndroid Build Coastguard Worker     *samesite_string = CookieSameSiteString::kNone;
86*6777b538SAndroid Build Coastguard Worker   } else if (base::EqualsCaseInsensitiveASCII(same_site, kSameSiteLax)) {
87*6777b538SAndroid Build Coastguard Worker     samesite = CookieSameSite::LAX_MODE;
88*6777b538SAndroid Build Coastguard Worker     *samesite_string = CookieSameSiteString::kLax;
89*6777b538SAndroid Build Coastguard Worker   } else if (base::EqualsCaseInsensitiveASCII(same_site, kSameSiteStrict)) {
90*6777b538SAndroid Build Coastguard Worker     samesite = CookieSameSite::STRICT_MODE;
91*6777b538SAndroid Build Coastguard Worker     *samesite_string = CookieSameSiteString::kStrict;
92*6777b538SAndroid Build Coastguard Worker   } else if (base::EqualsCaseInsensitiveASCII(same_site, kSameSiteExtended)) {
93*6777b538SAndroid Build Coastguard Worker     // Extended isn't supported anymore -- we just parse it for UMA stats.
94*6777b538SAndroid Build Coastguard Worker     *samesite_string = CookieSameSiteString::kExtended;
95*6777b538SAndroid Build Coastguard Worker   } else if (same_site == "") {
96*6777b538SAndroid Build Coastguard Worker     *samesite_string = CookieSameSiteString::kEmptyString;
97*6777b538SAndroid Build Coastguard Worker   }
98*6777b538SAndroid Build Coastguard Worker   return samesite;
99*6777b538SAndroid Build Coastguard Worker }
100*6777b538SAndroid Build Coastguard Worker 
RecordCookieSameSiteAttributeValueHistogram(CookieSameSiteString value)101*6777b538SAndroid Build Coastguard Worker void RecordCookieSameSiteAttributeValueHistogram(CookieSameSiteString value) {
102*6777b538SAndroid Build Coastguard Worker   UMA_HISTOGRAM_ENUMERATION("Cookie.SameSiteAttributeValue", value);
103*6777b538SAndroid Build Coastguard Worker }
104*6777b538SAndroid Build Coastguard Worker 
ReducePortRangeForCookieHistogram(const int port)105*6777b538SAndroid Build Coastguard Worker CookiePort ReducePortRangeForCookieHistogram(const int port) {
106*6777b538SAndroid Build Coastguard Worker   switch (port) {
107*6777b538SAndroid Build Coastguard Worker     case 80:
108*6777b538SAndroid Build Coastguard Worker       return CookiePort::k80;
109*6777b538SAndroid Build Coastguard Worker     case 81:
110*6777b538SAndroid Build Coastguard Worker       return CookiePort::k81;
111*6777b538SAndroid Build Coastguard Worker     case 82:
112*6777b538SAndroid Build Coastguard Worker       return CookiePort::k82;
113*6777b538SAndroid Build Coastguard Worker     case 83:
114*6777b538SAndroid Build Coastguard Worker       return CookiePort::k83;
115*6777b538SAndroid Build Coastguard Worker     case 84:
116*6777b538SAndroid Build Coastguard Worker       return CookiePort::k84;
117*6777b538SAndroid Build Coastguard Worker     case 85:
118*6777b538SAndroid Build Coastguard Worker       return CookiePort::k85;
119*6777b538SAndroid Build Coastguard Worker     case 443:
120*6777b538SAndroid Build Coastguard Worker       return CookiePort::k443;
121*6777b538SAndroid Build Coastguard Worker     case 444:
122*6777b538SAndroid Build Coastguard Worker       return CookiePort::k444;
123*6777b538SAndroid Build Coastguard Worker     case 445:
124*6777b538SAndroid Build Coastguard Worker       return CookiePort::k445;
125*6777b538SAndroid Build Coastguard Worker     case 446:
126*6777b538SAndroid Build Coastguard Worker       return CookiePort::k446;
127*6777b538SAndroid Build Coastguard Worker     case 447:
128*6777b538SAndroid Build Coastguard Worker       return CookiePort::k447;
129*6777b538SAndroid Build Coastguard Worker     case 448:
130*6777b538SAndroid Build Coastguard Worker       return CookiePort::k448;
131*6777b538SAndroid Build Coastguard Worker     case 3000:
132*6777b538SAndroid Build Coastguard Worker       return CookiePort::k3000;
133*6777b538SAndroid Build Coastguard Worker     case 3001:
134*6777b538SAndroid Build Coastguard Worker       return CookiePort::k3001;
135*6777b538SAndroid Build Coastguard Worker     case 3002:
136*6777b538SAndroid Build Coastguard Worker       return CookiePort::k3002;
137*6777b538SAndroid Build Coastguard Worker     case 3003:
138*6777b538SAndroid Build Coastguard Worker       return CookiePort::k3003;
139*6777b538SAndroid Build Coastguard Worker     case 3004:
140*6777b538SAndroid Build Coastguard Worker       return CookiePort::k3004;
141*6777b538SAndroid Build Coastguard Worker     case 3005:
142*6777b538SAndroid Build Coastguard Worker       return CookiePort::k3005;
143*6777b538SAndroid Build Coastguard Worker     case 4200:
144*6777b538SAndroid Build Coastguard Worker       return CookiePort::k4200;
145*6777b538SAndroid Build Coastguard Worker     case 4201:
146*6777b538SAndroid Build Coastguard Worker       return CookiePort::k4201;
147*6777b538SAndroid Build Coastguard Worker     case 4202:
148*6777b538SAndroid Build Coastguard Worker       return CookiePort::k4202;
149*6777b538SAndroid Build Coastguard Worker     case 4203:
150*6777b538SAndroid Build Coastguard Worker       return CookiePort::k4203;
151*6777b538SAndroid Build Coastguard Worker     case 4204:
152*6777b538SAndroid Build Coastguard Worker       return CookiePort::k4204;
153*6777b538SAndroid Build Coastguard Worker     case 4205:
154*6777b538SAndroid Build Coastguard Worker       return CookiePort::k4205;
155*6777b538SAndroid Build Coastguard Worker     case 5000:
156*6777b538SAndroid Build Coastguard Worker       return CookiePort::k5000;
157*6777b538SAndroid Build Coastguard Worker     case 5001:
158*6777b538SAndroid Build Coastguard Worker       return CookiePort::k5001;
159*6777b538SAndroid Build Coastguard Worker     case 5002:
160*6777b538SAndroid Build Coastguard Worker       return CookiePort::k5002;
161*6777b538SAndroid Build Coastguard Worker     case 5003:
162*6777b538SAndroid Build Coastguard Worker       return CookiePort::k5003;
163*6777b538SAndroid Build Coastguard Worker     case 5004:
164*6777b538SAndroid Build Coastguard Worker       return CookiePort::k5004;
165*6777b538SAndroid Build Coastguard Worker     case 5005:
166*6777b538SAndroid Build Coastguard Worker       return CookiePort::k5005;
167*6777b538SAndroid Build Coastguard Worker     case 7000:
168*6777b538SAndroid Build Coastguard Worker       return CookiePort::k7000;
169*6777b538SAndroid Build Coastguard Worker     case 7001:
170*6777b538SAndroid Build Coastguard Worker       return CookiePort::k7001;
171*6777b538SAndroid Build Coastguard Worker     case 7002:
172*6777b538SAndroid Build Coastguard Worker       return CookiePort::k7002;
173*6777b538SAndroid Build Coastguard Worker     case 7003:
174*6777b538SAndroid Build Coastguard Worker       return CookiePort::k7003;
175*6777b538SAndroid Build Coastguard Worker     case 7004:
176*6777b538SAndroid Build Coastguard Worker       return CookiePort::k7004;
177*6777b538SAndroid Build Coastguard Worker     case 7005:
178*6777b538SAndroid Build Coastguard Worker       return CookiePort::k7005;
179*6777b538SAndroid Build Coastguard Worker     case 8000:
180*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8000;
181*6777b538SAndroid Build Coastguard Worker     case 8001:
182*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8001;
183*6777b538SAndroid Build Coastguard Worker     case 8002:
184*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8002;
185*6777b538SAndroid Build Coastguard Worker     case 8003:
186*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8003;
187*6777b538SAndroid Build Coastguard Worker     case 8004:
188*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8004;
189*6777b538SAndroid Build Coastguard Worker     case 8005:
190*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8005;
191*6777b538SAndroid Build Coastguard Worker     case 8080:
192*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8080;
193*6777b538SAndroid Build Coastguard Worker     case 8081:
194*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8081;
195*6777b538SAndroid Build Coastguard Worker     case 8082:
196*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8082;
197*6777b538SAndroid Build Coastguard Worker     case 8083:
198*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8083;
199*6777b538SAndroid Build Coastguard Worker     case 8084:
200*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8084;
201*6777b538SAndroid Build Coastguard Worker     case 8085:
202*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8085;
203*6777b538SAndroid Build Coastguard Worker     case 8090:
204*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8090;
205*6777b538SAndroid Build Coastguard Worker     case 8091:
206*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8091;
207*6777b538SAndroid Build Coastguard Worker     case 8092:
208*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8092;
209*6777b538SAndroid Build Coastguard Worker     case 8093:
210*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8093;
211*6777b538SAndroid Build Coastguard Worker     case 8094:
212*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8094;
213*6777b538SAndroid Build Coastguard Worker     case 8095:
214*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8095;
215*6777b538SAndroid Build Coastguard Worker     case 8100:
216*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8100;
217*6777b538SAndroid Build Coastguard Worker     case 8101:
218*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8101;
219*6777b538SAndroid Build Coastguard Worker     case 8102:
220*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8102;
221*6777b538SAndroid Build Coastguard Worker     case 8103:
222*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8103;
223*6777b538SAndroid Build Coastguard Worker     case 8104:
224*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8104;
225*6777b538SAndroid Build Coastguard Worker     case 8105:
226*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8105;
227*6777b538SAndroid Build Coastguard Worker     case 8200:
228*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8200;
229*6777b538SAndroid Build Coastguard Worker     case 8201:
230*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8201;
231*6777b538SAndroid Build Coastguard Worker     case 8202:
232*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8202;
233*6777b538SAndroid Build Coastguard Worker     case 8203:
234*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8203;
235*6777b538SAndroid Build Coastguard Worker     case 8204:
236*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8204;
237*6777b538SAndroid Build Coastguard Worker     case 8205:
238*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8205;
239*6777b538SAndroid Build Coastguard Worker     case 8443:
240*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8443;
241*6777b538SAndroid Build Coastguard Worker     case 8444:
242*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8444;
243*6777b538SAndroid Build Coastguard Worker     case 8445:
244*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8445;
245*6777b538SAndroid Build Coastguard Worker     case 8446:
246*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8446;
247*6777b538SAndroid Build Coastguard Worker     case 8447:
248*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8447;
249*6777b538SAndroid Build Coastguard Worker     case 8448:
250*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8448;
251*6777b538SAndroid Build Coastguard Worker     case 8888:
252*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8888;
253*6777b538SAndroid Build Coastguard Worker     case 8889:
254*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8889;
255*6777b538SAndroid Build Coastguard Worker     case 8890:
256*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8890;
257*6777b538SAndroid Build Coastguard Worker     case 8891:
258*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8891;
259*6777b538SAndroid Build Coastguard Worker     case 8892:
260*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8892;
261*6777b538SAndroid Build Coastguard Worker     case 8893:
262*6777b538SAndroid Build Coastguard Worker       return CookiePort::k8893;
263*6777b538SAndroid Build Coastguard Worker     case 9000:
264*6777b538SAndroid Build Coastguard Worker       return CookiePort::k9000;
265*6777b538SAndroid Build Coastguard Worker     case 9001:
266*6777b538SAndroid Build Coastguard Worker       return CookiePort::k9001;
267*6777b538SAndroid Build Coastguard Worker     case 9002:
268*6777b538SAndroid Build Coastguard Worker       return CookiePort::k9002;
269*6777b538SAndroid Build Coastguard Worker     case 9003:
270*6777b538SAndroid Build Coastguard Worker       return CookiePort::k9003;
271*6777b538SAndroid Build Coastguard Worker     case 9004:
272*6777b538SAndroid Build Coastguard Worker       return CookiePort::k9004;
273*6777b538SAndroid Build Coastguard Worker     case 9005:
274*6777b538SAndroid Build Coastguard Worker       return CookiePort::k9005;
275*6777b538SAndroid Build Coastguard Worker     case 9090:
276*6777b538SAndroid Build Coastguard Worker       return CookiePort::k9090;
277*6777b538SAndroid Build Coastguard Worker     case 9091:
278*6777b538SAndroid Build Coastguard Worker       return CookiePort::k9091;
279*6777b538SAndroid Build Coastguard Worker     case 9092:
280*6777b538SAndroid Build Coastguard Worker       return CookiePort::k9092;
281*6777b538SAndroid Build Coastguard Worker     case 9093:
282*6777b538SAndroid Build Coastguard Worker       return CookiePort::k9093;
283*6777b538SAndroid Build Coastguard Worker     case 9094:
284*6777b538SAndroid Build Coastguard Worker       return CookiePort::k9094;
285*6777b538SAndroid Build Coastguard Worker     case 9095:
286*6777b538SAndroid Build Coastguard Worker       return CookiePort::k9095;
287*6777b538SAndroid Build Coastguard Worker     default:
288*6777b538SAndroid Build Coastguard Worker       return CookiePort::kOther;
289*6777b538SAndroid Build Coastguard Worker   }
290*6777b538SAndroid Build Coastguard Worker }
291*6777b538SAndroid Build Coastguard Worker 
GetSchemeNameEnum(const GURL & url)292*6777b538SAndroid Build Coastguard Worker CookieSourceSchemeName GetSchemeNameEnum(const GURL& url) {
293*6777b538SAndroid Build Coastguard Worker   // The most likely schemes are first, to improve performance.
294*6777b538SAndroid Build Coastguard Worker   if (url.SchemeIs(url::kHttpsScheme)) {
295*6777b538SAndroid Build Coastguard Worker     return CookieSourceSchemeName::kHttpsScheme;
296*6777b538SAndroid Build Coastguard Worker   } else if (url.SchemeIs(url::kHttpScheme)) {
297*6777b538SAndroid Build Coastguard Worker     return CookieSourceSchemeName::kHttpScheme;
298*6777b538SAndroid Build Coastguard Worker   } else if (url.SchemeIs(url::kWssScheme)) {
299*6777b538SAndroid Build Coastguard Worker     return CookieSourceSchemeName::kWssScheme;
300*6777b538SAndroid Build Coastguard Worker   } else if (url.SchemeIs(url::kWsScheme)) {
301*6777b538SAndroid Build Coastguard Worker     return CookieSourceSchemeName::kWsScheme;
302*6777b538SAndroid Build Coastguard Worker   } else if (url.SchemeIs("chrome-extension")) {
303*6777b538SAndroid Build Coastguard Worker     return CookieSourceSchemeName::kChromeExtensionScheme;
304*6777b538SAndroid Build Coastguard Worker   } else if (url.SchemeIs(url::kFileScheme)) {
305*6777b538SAndroid Build Coastguard Worker     return CookieSourceSchemeName::kFileScheme;
306*6777b538SAndroid Build Coastguard Worker   }
307*6777b538SAndroid Build Coastguard Worker   // These all aren't marked as cookieable and so are much less likely to
308*6777b538SAndroid Build Coastguard Worker   // occur.
309*6777b538SAndroid Build Coastguard Worker   else if (url.SchemeIs(url::kAboutBlankURL)) {
310*6777b538SAndroid Build Coastguard Worker     return CookieSourceSchemeName::kAboutBlankURL;
311*6777b538SAndroid Build Coastguard Worker   } else if (url.SchemeIs(url::kAboutSrcdocURL)) {
312*6777b538SAndroid Build Coastguard Worker     return CookieSourceSchemeName::kAboutSrcdocURL;
313*6777b538SAndroid Build Coastguard Worker   } else if (url.SchemeIs(url::kAboutBlankPath)) {
314*6777b538SAndroid Build Coastguard Worker     return CookieSourceSchemeName::kAboutBlankPath;
315*6777b538SAndroid Build Coastguard Worker   } else if (url.SchemeIs(url::kAboutSrcdocPath)) {
316*6777b538SAndroid Build Coastguard Worker     return CookieSourceSchemeName::kAboutSrcdocPath;
317*6777b538SAndroid Build Coastguard Worker   } else if (url.SchemeIs(url::kAboutScheme)) {
318*6777b538SAndroid Build Coastguard Worker     return CookieSourceSchemeName::kAboutScheme;
319*6777b538SAndroid Build Coastguard Worker   } else if (url.SchemeIs(url::kBlobScheme)) {
320*6777b538SAndroid Build Coastguard Worker     return CookieSourceSchemeName::kBlobScheme;
321*6777b538SAndroid Build Coastguard Worker   } else if (url.SchemeIs(url::kContentScheme)) {
322*6777b538SAndroid Build Coastguard Worker     return CookieSourceSchemeName::kContentScheme;
323*6777b538SAndroid Build Coastguard Worker   } else if (url.SchemeIs(url::kContentIDScheme)) {
324*6777b538SAndroid Build Coastguard Worker     return CookieSourceSchemeName::kContentIDScheme;
325*6777b538SAndroid Build Coastguard Worker   } else if (url.SchemeIs(url::kDataScheme)) {
326*6777b538SAndroid Build Coastguard Worker     return CookieSourceSchemeName::kDataScheme;
327*6777b538SAndroid Build Coastguard Worker   } else if (url.SchemeIs(url::kFileSystemScheme)) {
328*6777b538SAndroid Build Coastguard Worker     return CookieSourceSchemeName::kFileSystemScheme;
329*6777b538SAndroid Build Coastguard Worker   } else if (url.SchemeIs(url::kFtpScheme)) {
330*6777b538SAndroid Build Coastguard Worker     return CookieSourceSchemeName::kFtpScheme;
331*6777b538SAndroid Build Coastguard Worker   } else if (url.SchemeIs(url::kJavaScriptScheme)) {
332*6777b538SAndroid Build Coastguard Worker     return CookieSourceSchemeName::kJavaScriptScheme;
333*6777b538SAndroid Build Coastguard Worker   } else if (url.SchemeIs(url::kMailToScheme)) {
334*6777b538SAndroid Build Coastguard Worker     return CookieSourceSchemeName::kMailToScheme;
335*6777b538SAndroid Build Coastguard Worker   } else if (url.SchemeIs(url::kTelScheme)) {
336*6777b538SAndroid Build Coastguard Worker     return CookieSourceSchemeName::kTelScheme;
337*6777b538SAndroid Build Coastguard Worker   } else if (url.SchemeIs(url::kUrnScheme)) {
338*6777b538SAndroid Build Coastguard Worker     return CookieSourceSchemeName::kUrnScheme;
339*6777b538SAndroid Build Coastguard Worker   }
340*6777b538SAndroid Build Coastguard Worker 
341*6777b538SAndroid Build Coastguard Worker   return CookieSourceSchemeName::kOther;
342*6777b538SAndroid Build Coastguard Worker }
343*6777b538SAndroid Build Coastguard Worker 
344*6777b538SAndroid Build Coastguard Worker const char kEmptyCookiePartitionKey[] = "";
345*6777b538SAndroid Build Coastguard Worker 
346*6777b538SAndroid Build Coastguard Worker }  // namespace net
347