Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3358)

Unified Diff: trunk/src/content/browser/storage_partition_impl_map.cc

Issue 23551005: Revert 219709 "Remove the Extensions URLRequestContext." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: trunk/src/content/browser/storage_partition_impl_map.cc
===================================================================
--- trunk/src/content/browser/storage_partition_impl_map.cc (revision 219785)
+++ trunk/src/content/browser/storage_partition_impl_map.cc (working copy)
@@ -18,7 +18,6 @@
#include "content/browser/fileapi/browser_file_system_helper.h"
#include "content/browser/fileapi/chrome_blob_storage_context.h"
#include "content/browser/loader/resource_request_info_impl.h"
-#include "content/browser/net/cookie_store_map.h"
#include "content/browser/resource_context_impl.h"
#include "content/browser/storage_partition_impl.h"
#include "content/browser/streams/stream.h"
@@ -29,12 +28,10 @@
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/content_browser_client.h"
-#include "content/public/browser/cookie_store_factory.h"
#include "content/public/browser/storage_partition.h"
#include "content/public/common/content_constants.h"
#include "content/public/common/url_constants.h"
#include "crypto/sha2.h"
-#include "net/cookies/cookie_monster.h"
#include "net/url_request/url_request_context.h"
#include "net/url_request/url_request_context_getter.h"
#include "webkit/browser/blob/blob_url_request_job_factory.h"
@@ -349,14 +346,6 @@
base::Bind(base::IgnoreResult(&base::DeleteFile), trash_directory, true));
}
-void AttachDefaultCookieStoreOnIOThread(
- const scoped_refptr<net::URLRequestContextGetter>& url_request_context,
- const scoped_refptr<net::CookieStore> cookie_store) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
- url_request_context->GetURLRequestContext()->set_cookie_store(
- cookie_store.get());
-}
-
} // namespace
// static
@@ -414,16 +403,9 @@
base::FilePath partition_path =
browser_context_->GetPath().Append(
GetStoragePartitionPath(partition_domain, partition_name));
-
- // Create the cookie stores.
- scoped_ptr<CookieStoreMap> cookie_store_map(
- CreateCookieStores(partition_path,
- in_memory,
- partition_domain.empty()));
-
StoragePartitionImpl* partition =
StoragePartitionImpl::Create(browser_context_, in_memory,
- partition_path, cookie_store_map.Pass());
+ partition_path);
partitions_[partition_config] = partition;
ChromeBlobStorageContext* blob_storage_context =
@@ -586,31 +568,10 @@
InitializeResourceContext(browser_context_);
}
- // In unittests, BrowserThread::IO may not be valid which would yield a
- // memory leak on a PostTask. Also, in content_unittests, the
- // URLRequestContext is NULL.
- //
- // TODO(ajwong): Should default ContentBrowserClient return a non-null
- // URLRequestContext?
- if (BrowserThread::IsMessageLoopValid(BrowserThread::IO) &&
- partition->GetURLRequestContext()) {
- // The main URLRequestContextGetter was first created just before
- // PostCreateInitialization() is called thus attaching the CookieStore here
- // is guaranteed to occur before anyone else can see the main request
- // context including the media request context.
- //
- // We pass the cookie store for chrome::kHttpScheme because we know this
- // will return the default cookie store.
+ // Check first to avoid memory leak in unittests.
+ if (BrowserThread::IsMessageLoopValid(BrowserThread::IO)) {
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
- base::Bind(&AttachDefaultCookieStoreOnIOThread,
- make_scoped_refptr(partition->GetURLRequestContext()),
- make_scoped_refptr(
- partition->GetCookieStoreMap().GetForScheme(
- chrome::kHttpScheme))));
-
- BrowserThread::PostTask(
- BrowserThread::IO, FROM_HERE,
base::Bind(&ChromeAppCacheService::InitializeOnIOThread,
partition->GetAppCacheService(),
in_memory ? base::FilePath() :
@@ -620,7 +581,7 @@
make_scoped_refptr(
browser_context_->GetSpecialStoragePolicy())));
- // We do not initialize the AppCacheService for media contexts because,
+ // We do not call InitializeURLRequestContext() for media contexts because,
// other than the HTTP cache, the media contexts share the same backing
// objects as their associated "normal" request context. Thus, the previous
// call serves to initialize the media request context for this storage
@@ -628,47 +589,4 @@
}
}
-scoped_ptr<CookieStoreMap> StoragePartitionImplMap::CreateCookieStores(
- const base::FilePath& partition_path,
- bool in_memory_partition,
- bool is_default_partition) {
- scoped_ptr<CookieStoreMap> cookie_store_map(new CookieStoreMap());
- std::map<std::string, CookieStoreConfig> cookie_store_configs;
- cookie_store_configs[BrowserContext::kDefaultCookieScheme] =
- CookieStoreConfig();
-
- browser_context_->OverrideCookieStoreConfigs(
- partition_path, in_memory_partition, is_default_partition,
- &cookie_store_configs);
-
- for (std::map<std::string, CookieStoreConfig>::const_iterator it =
- cookie_store_configs.begin();
- it != cookie_store_configs.end();
- ++it) {
- scoped_refptr<net::CookieStore> cookie_store =
- CreateCookieStore(it->second);
- if (it->first == BrowserContext::kDefaultCookieScheme) {
- cookie_store_map->SetForScheme(chrome::kHttpScheme, cookie_store);
- cookie_store_map->SetForScheme(content::kHttpsScheme, cookie_store);
-
- // If file scheme is enabled, share the same cookie store as http. This is
- // legacy behavior. A complete valid, alternate approach is to use a
- // different cookie database. See comments inside CookieMonster about
- // separating out file cookies into their own CookieMonster.
- if ((cookie_store_configs.find(chrome::kFileScheme) ==
- cookie_store_configs.end())
- && cookie_store->GetCookieMonster()->IsCookieableScheme(
- chrome::kFileScheme)) {
- cookie_store_map->SetForScheme(chrome::kFileScheme, cookie_store);
- }
- } else {
- const char* schemes[] = { it->first.c_str() };
- cookie_store->GetCookieMonster()->SetCookieableSchemes(schemes, 1);
- cookie_store_map->SetForScheme(it->first, cookie_store);
- }
- }
-
- return cookie_store_map.Pass();
-}
-
} // namespace content
« no previous file with comments | « trunk/src/content/browser/storage_partition_impl_map.h ('k') | trunk/src/content/browser/storage_partition_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698