Index: content/browser/resource_context_impl.cc |
=================================================================== |
--- content/browser/resource_context_impl.cc (revision 178359) |
+++ content/browser/resource_context_impl.cc (working copy) |
@@ -9,12 +9,14 @@ |
#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"; |
+static const char* kURLDataManagerKeyName = "url_data_manager"; |
using base::UserDataAdapter; |
@@ -60,6 +62,17 @@ |
context->GetUserData(kHostZoomMapKeyName))->host_zoom_map(); |
} |
+ChromeURLDataManagerBackend* GetURLDataManagerForResourceContext( |
+ ResourceContext* context) { |
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
+ if (!context->GetUserData(kURLDataManagerKeyName)) { |
+ context->SetUserData(kURLDataManagerKeyName, |
+ new ChromeURLDataManagerBackend()); |
+ } |
+ return static_cast<ChromeURLDataManagerBackend*>( |
+ context->GetUserData(kURLDataManagerKeyName)); |
+} |
+ |
void InitializeResourceContext(BrowserContext* browser_context) { |
ResourceContext* resource_context = browser_context->GetResourceContext(); |
DCHECK(!resource_context->GetUserData(kHostZoomMapKeyName)); |
@@ -75,6 +88,7 @@ |
kHostZoomMapKeyName, |
new NonOwningZoomData( |
HostZoomMap::GetForBrowserContext(browser_context))); |
+ |
resource_context->DetachUserDataThread(); |
} |