| Index: content/browser/resource_context_impl.cc
|
| ===================================================================
|
| --- content/browser/resource_context_impl.cc (revision 122827)
|
| +++ content/browser/resource_context_impl.cc (working copy)
|
| @@ -8,6 +8,7 @@
|
| #include "content/browser/chrome_blob_storage_context.h"
|
| #include "content/browser/file_system/browser_file_system_helper.h"
|
| #include "content/browser/in_process_webkit/webkit_context.h"
|
| +#include "content/browser/host_zoom_map_impl.h"
|
| #include "content/public/browser/browser_context.h"
|
| #include "content/public/browser/browser_thread.h"
|
| #include "webkit/database/database_tracker.h"
|
| @@ -17,6 +18,7 @@
|
| static const char* kBlobStorageContextKeyName = "content_blob_storage_context";
|
| static const char* kDatabaseTrackerKeyName = "content_database_tracker";
|
| static const char* kFileSystemContextKeyName = "content_file_system_context";
|
| +static const char* kHostZoomMapKeyName = "content_host_zoom_map";
|
| static const char* kWebKitContextKeyName = "content_webkit_context";
|
|
|
| using appcache::AppCacheService;
|
| @@ -28,6 +30,15 @@
|
|
|
| namespace content {
|
|
|
| +class NonOwningZoomData : public base::SupportsUserData::Data {
|
| + public:
|
| + explicit NonOwningZoomData(HostZoomMap* hzm) : host_zoom_map_(hzm) {}
|
| + HostZoomMap* host_zoom_map() { return host_zoom_map_; }
|
| +
|
| + private:
|
| + HostZoomMap* host_zoom_map_;
|
| +};
|
| +
|
| AppCacheService* ResourceContext::GetAppCacheService(ResourceContext* context) {
|
| return UserDataAdapter<ChromeAppCacheService>::Get(
|
| context, kAppCacheServicKeyName);
|
| @@ -63,6 +74,11 @@
|
| resource_context, kBlobStorageContextKeyName);
|
| }
|
|
|
| +HostZoomMap* GetHostZoomMapForResourceContext(ResourceContext* context) {
|
| + return static_cast<NonOwningZoomData*>(
|
| + context->GetUserData(kHostZoomMapKeyName))->host_zoom_map();
|
| +}
|
| +
|
| void InitializeResourceContext(BrowserContext* browser_context) {
|
| ResourceContext* resource_context = browser_context->GetResourceContext();
|
| DCHECK(!resource_context->GetUserData(kWebKitContextKeyName));
|
| @@ -87,6 +103,13 @@
|
| kBlobStorageContextKeyName,
|
| new UserDataAdapter<ChromeBlobStorageContext>(
|
| ChromeBlobStorageContext::GetFor(browser_context)));
|
| +
|
| + // This object is owned by the BrowserContext and not ResourceContext, so
|
| + // store a non-owning pointer here.
|
| + resource_context->SetUserData(
|
| + kHostZoomMapKeyName,
|
| + new NonOwningZoomData(
|
| + HostZoomMap::GetForBrowserContext(browser_context)));
|
| }
|
|
|
| } // namespace content
|
|
|