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 Workerint 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