1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_NET_COOKIE_STORE_UTIL_H_ 6 #define CHROME_BROWSER_NET_COOKIE_STORE_UTIL_H_ 7 8 #include "content/public/browser/browser_context.h" 9 #include "content/public/browser/cookie_store_factory.h" 10 11 class Profile; 12 13 namespace net { 14 class CookieMonsterDelegate; 15 } // namespace net 16 17 namespace chrome_browser_net { 18 19 // Returns true if cookie-like storage systems should enter record mode for 20 // debugging. 21 bool IsCookieRecordMode(); 22 23 // Returns true if command line flags indicate that cookie-like storage systems 24 // should be forced to be in memory only. 25 bool ShouldUseInMemoryCookiesAndCache(); 26 27 // Factory method for creating a CookieStore delegate that sends 28 // chrome::NOTIFICATION_COOKIE_CHANGED for the given profile. This 29 // delegate is stateless so only one is necessary per profile. 30 net::CookieMonsterDelegate* CreateCookieDelegate(Profile* profile); 31 32 // Factory method for returning a CookieCryptoDelegate if one is appropriate for 33 // this platform. The object returned is a LazyInstance. Ownership is not 34 // transferred. 35 content::CookieCryptoDelegate* GetCookieCryptoDelegate(); 36 37 } // namespace chrome_browser_net 38 39 #endif // CHROME_BROWSER_NET_COOKIE_STORE_UTIL_H_ 40