xref: /aosp_15_r20/external/cronet/net/cookies/static_cookie_policy.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker // Copyright 2012 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/static_cookie_policy.h"
6*6777b538SAndroid Build Coastguard Worker 
7*6777b538SAndroid Build Coastguard Worker #include "base/notreached.h"
8*6777b538SAndroid Build Coastguard Worker #include "net/base/net_errors.h"
9*6777b538SAndroid Build Coastguard Worker #include "net/cookies/site_for_cookies.h"
10*6777b538SAndroid Build Coastguard Worker #include "url/gurl.h"
11*6777b538SAndroid Build Coastguard Worker 
12*6777b538SAndroid Build Coastguard Worker namespace net {
13*6777b538SAndroid Build Coastguard Worker 
CanAccessCookies(const GURL & url,const net::SiteForCookies & site_for_cookies) const14*6777b538SAndroid Build Coastguard Worker int StaticCookiePolicy::CanAccessCookies(
15*6777b538SAndroid Build Coastguard Worker     const GURL& url,
16*6777b538SAndroid Build Coastguard Worker     const net::SiteForCookies& site_for_cookies) const {
17*6777b538SAndroid Build Coastguard Worker   switch (type_) {
18*6777b538SAndroid Build Coastguard Worker     case StaticCookiePolicy::ALLOW_ALL_COOKIES:
19*6777b538SAndroid Build Coastguard Worker       return OK;
20*6777b538SAndroid Build Coastguard Worker     case StaticCookiePolicy::BLOCK_ALL_THIRD_PARTY_COOKIES:
21*6777b538SAndroid Build Coastguard Worker       return site_for_cookies.IsFirstParty(url) ? OK : ERR_ACCESS_DENIED;
22*6777b538SAndroid Build Coastguard Worker     case StaticCookiePolicy::BLOCK_ALL_COOKIES:
23*6777b538SAndroid Build Coastguard Worker       return ERR_ACCESS_DENIED;
24*6777b538SAndroid Build Coastguard Worker     default:
25*6777b538SAndroid Build Coastguard Worker       NOTREACHED();
26*6777b538SAndroid Build Coastguard Worker       return ERR_ACCESS_DENIED;
27*6777b538SAndroid Build Coastguard Worker   }
28*6777b538SAndroid Build Coastguard Worker }
29*6777b538SAndroid Build Coastguard Worker 
30*6777b538SAndroid Build Coastguard Worker }  // namespace net
31