Index: chrome/browser/profiles/profile_impl.cc |
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc |
index 1ad2bcf368d790d0430d21bc04b7d9cffe7ed72f..b5f2b11368e85f3590ebc02daa103a3813e220b6 100644 |
--- a/chrome/browser/profiles/profile_impl.cc |
+++ b/chrome/browser/profiles/profile_impl.cc |
@@ -48,6 +48,7 @@ |
#include "chrome/browser/media/chrome_midi_permission_context_factory.h" |
#include "chrome/browser/metrics/metrics_service.h" |
#include "chrome/browser/net/chrome_url_request_context.h" |
+#include "chrome/browser/net/cookie_store_util.h" |
#include "chrome/browser/net/net_pref_observer.h" |
#include "chrome/browser/net/predictor.h" |
#include "chrome/browser/net/pref_proxy_config_tracker.h" |
@@ -86,6 +87,7 @@ |
#include "components/user_prefs/pref_registry_syncable.h" |
#include "components/user_prefs/user_prefs.h" |
#include "content/public/browser/browser_thread.h" |
+#include "content/public/browser/cookie_store_factory.h" |
#include "content/public/browser/dom_storage_context.h" |
#include "content/public/browser/host_zoom_map.h" |
#include "content/public/browser/notification_service.h" |
@@ -497,8 +499,6 @@ void ProfileImpl::DoFinalInit() { |
g_browser_process->background_mode_manager()->RegisterProfile(this); |
} |
- base::FilePath cookie_path = GetPath(); |
- cookie_path = cookie_path.Append(chrome::kCookieFilename); |
base::FilePath server_bound_cert_path = GetPath(); |
server_bound_cert_path = |
server_bound_cert_path.Append(chrome::kOBCertFilename); |
@@ -520,28 +520,14 @@ void ProfileImpl::DoFinalInit() { |
infinite_cache_path = |
infinite_cache_path.Append(FILE_PATH_LITERAL("Infinite Cache")); |
-#if defined(OS_ANDROID) |
- SessionStartupPref::Type startup_pref_type = |
- SessionStartupPref::GetDefaultStartupType(); |
-#else |
- SessionStartupPref::Type startup_pref_type = |
- StartupBrowserCreator::GetSessionStartupPref( |
- *CommandLine::ForCurrentProcess(), this).type; |
-#endif |
- bool restore_old_session_cookies = |
- (GetLastSessionExitType() == Profile::EXIT_CRASHED || |
- startup_pref_type == SessionStartupPref::LAST); |
- |
InitHostZoomMap(); |
// Make sure we initialize the ProfileIOData after everything else has been |
// initialized that we might be reading from the IO thread. |
- io_data_.Init(cookie_path, server_bound_cert_path, cache_path, |
+ io_data_.Init(server_bound_cert_path, cache_path, |
cache_max_size, media_cache_path, media_cache_max_size, |
- extensions_cookie_path, GetPath(), infinite_cache_path, |
- predictor_, |
- restore_old_session_cookies, |
+ GetPath(), infinite_cache_path, predictor_, |
GetSpecialStoragePolicy()); |
#if defined(ENABLE_PLUGINS) |
@@ -559,7 +545,7 @@ void ProfileImpl::DoFinalInit() { |
if (!CommandLine::ForCurrentProcess()->HasSwitch( |
switches::kDisableRestoreSessionState)) { |
TRACE_EVENT0("browser", "ProfileImpl::SetSaveSessionStorageOnDisk") |
- content::BrowserContext::GetDefaultStoragePartition(this)-> |
+ GetDefaultStoragePartition(this)-> |
GetDOMStorageContext()->SetSaveSessionStorageOnDisk(); |
} |
@@ -673,8 +659,40 @@ scoped_refptr<base::SequencedTaskRunner> ProfileImpl::GetIOTaskRunner() { |
GetPath(), BrowserThread::GetBlockingPool()); |
} |
-bool ProfileImpl::IsOffTheRecord() const { |
- return false; |
+void ProfileImpl::OverrideCookieStoreConfigs( |
+ const base::FilePath& partition_path, |
+ bool in_memory_partition, |
+ bool is_default_partition, |
+ CookieSchemeMap* configs) { |
+ using content::CookieStoreConfig; |
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
+ |
+ // The delegate is stateless so it's silly to create more than one per |
+ // profile. |
+ if (!cookie_delegate_) { |
+ cookie_delegate_ = chrome_browser_net::CreateCookieDelegate(this); |
+ } |
+ |
+#if defined(OS_ANDROID) |
+ SessionStartupPref::Type startup_pref_type = |
+ SessionStartupPref::GetDefaultStartupType(); |
+#else |
+ SessionStartupPref::Type startup_pref_type = |
+ StartupBrowserCreator::GetSessionStartupPref( |
+ *CommandLine::ForCurrentProcess(), this).type; |
+#endif |
+ |
+ CookieStoreConfig::SessionCookieMode session_cookie_mode = |
+ CookieStoreConfig::PERSISTANT_SESSION_COOKIES; |
+ if (GetLastSessionExitType() == Profile::EXIT_CRASHED || |
+ startup_pref_type == SessionStartupPref::LAST) { |
+ session_cookie_mode = CookieStoreConfig::RESTORED_SESSION_COOKIES; |
+ } |
+ |
+ chrome_browser_net::SetCookieStoreConfigs( |
+ partition_path, in_memory_partition, is_default_partition, |
+ session_cookie_mode, GetSpecialStoragePolicy(), cookie_delegate_, |
+ configs); |
} |
Profile* ProfileImpl::GetOffTheRecordProfile() { |
@@ -884,10 +902,6 @@ content::ResourceContext* ProfileImpl::GetResourceContext() { |
return io_data_.GetResourceContext(); |
} |
-net::URLRequestContextGetter* ProfileImpl::GetRequestContextForExtensions() { |
- return io_data_.GetExtensionsRequestContextGetter().get(); |
-} |
- |
net::URLRequestContextGetter* |
ProfileImpl::CreateRequestContextForStoragePartition( |
const base::FilePath& partition_path, |