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

Unified Diff: content/browser/resource_context_impl.cc

Issue 12049052: Move core url data manager classes to content. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: review comments Created 7 years, 11 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
« no previous file with comments | « content/browser/resource_context_impl.h ('k') | content/browser/storage_partition_impl_map.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/resource_context_impl.cc
===================================================================
--- content/browser/resource_context_impl.cc (revision 178598)
+++ content/browser/resource_context_impl.cc (working copy)
@@ -9,19 +9,21 @@
#include "content/browser/host_zoom_map_impl.h"
#include "content/browser/loader/resource_dispatcher_host_impl.h"
#include "content/browser/loader/resource_request_info_impl.h"
+#include "content/browser/webui/url_data_manager_backend.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_thread.h"
-// Key names on ResourceContext.
-static const char* kBlobStorageContextKeyName = "content_blob_storage_context";
-static const char* kHostZoomMapKeyName = "content_host_zoom_map";
-
using base::UserDataAdapter;
namespace content {
namespace {
+// Key names on ResourceContext.
+const char kBlobStorageContextKeyName[] = "content_blob_storage_context";
+const char kHostZoomMapKeyName[] = "content_host_zoom_map";
+const char kURLDataManagerBackendKeyName[] = "url_data_manager_backend";
+
class NonOwningZoomData : public base::SupportsUserData::Data {
public:
explicit NonOwningZoomData(HostZoomMap* hzm) : host_zoom_map_(hzm) {}
@@ -45,6 +47,9 @@
rdhi->CancelRequestsForContext(this);
rdhi->RemoveResourceContext(this);
}
+
+ // In some tests this object is destructed on UI thread.
+ DetachUserDataThread();
}
ChromeBlobStorageContext* GetChromeBlobStorageContextForResourceContext(
@@ -60,6 +65,17 @@
context->GetUserData(kHostZoomMapKeyName))->host_zoom_map();
}
+ChromeURLDataManagerBackend* GetURLDataManagerForResourceContext(
+ ResourceContext* context) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
+ if (!context->GetUserData(kURLDataManagerBackendKeyName)) {
+ context->SetUserData(kURLDataManagerBackendKeyName,
+ new ChromeURLDataManagerBackend());
+ }
+ return static_cast<ChromeURLDataManagerBackend*>(
+ context->GetUserData(kURLDataManagerBackendKeyName));
+}
+
void InitializeResourceContext(BrowserContext* browser_context) {
ResourceContext* resource_context = browser_context->GetResourceContext();
DCHECK(!resource_context->GetUserData(kHostZoomMapKeyName));
@@ -75,6 +91,7 @@
kHostZoomMapKeyName,
new NonOwningZoomData(
HostZoomMap::GetForBrowserContext(browser_context)));
+
resource_context->DetachUserDataThread();
}
« no previous file with comments | « content/browser/resource_context_impl.h ('k') | content/browser/storage_partition_impl_map.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698