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 11class Profile; 12 13namespace net { 14class CookieMonsterDelegate; 15} // namespace net 16 17namespace chrome_browser_net { 18 19// Returns true if cookie-like storage systems should enter record mode for 20// debugging. 21bool IsCookieRecordMode(); 22 23// Returns true if command line flags indicate that cookie-like storage systems 24// should be forced to be in memory only. 25bool 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. 30net::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. 35content::CookieCryptoDelegate* GetCookieCryptoDelegate(); 36 37} // namespace chrome_browser_net 38 39#endif // CHROME_BROWSER_NET_COOKIE_STORE_UTIL_H_ 40