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

Side by Side Diff: content/browser/resource_context_impl.cc

Issue 9443033: Fail gracefully if InitializeResourceContext ends up calling itself recursively. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 years, 10 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/resource_context_impl.h" 5 #include "content/browser/resource_context_impl.h"
6 6
7 #include "content/browser/appcache/chrome_appcache_service.h" 7 #include "content/browser/appcache/chrome_appcache_service.h"
8 #include "content/browser/chrome_blob_storage_context.h" 8 #include "content/browser/chrome_blob_storage_context.h"
9 #include "content/browser/file_system/browser_file_system_helper.h" 9 #include "content/browser/file_system/browser_file_system_helper.h"
10 #include "content/browser/in_process_webkit/webkit_context.h" 10 #include "content/browser/in_process_webkit/webkit_context.h"
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 ResourceContext* resource_context) { 72 ResourceContext* resource_context) {
73 return UserDataAdapter<ChromeBlobStorageContext>::Get( 73 return UserDataAdapter<ChromeBlobStorageContext>::Get(
74 resource_context, kBlobStorageContextKeyName); 74 resource_context, kBlobStorageContextKeyName);
75 } 75 }
76 76
77 HostZoomMap* GetHostZoomMapForResourceContext(ResourceContext* context) { 77 HostZoomMap* GetHostZoomMapForResourceContext(ResourceContext* context) {
78 return static_cast<NonOwningZoomData*>( 78 return static_cast<NonOwningZoomData*>(
79 context->GetUserData(kHostZoomMapKeyName))->host_zoom_map(); 79 context->GetUserData(kHostZoomMapKeyName))->host_zoom_map();
80 } 80 }
81 81
82 void InitializeResourceContext(BrowserContext* browser_context) { 82 void InitializeResourceContext(BrowserContext* browser_context) {
jam 2012/02/23 23:11:36 nit: perhaps rename this to EnsureResourceContextI
83 ResourceContext* resource_context = browser_context->GetResourceContext(); 83 ResourceContext* resource_context = browser_context->GetResourceContext();
84 DCHECK(!resource_context->GetUserData(kWebKitContextKeyName)); 84
85 if (resource_context->GetUserData(kWebKitContextKeyName))
86 return;
87
85 resource_context->SetUserData( 88 resource_context->SetUserData(
86 kWebKitContextKeyName, 89 kWebKitContextKeyName,
87 new UserDataAdapter<WebKitContext>( 90 new UserDataAdapter<WebKitContext>(
88 BrowserContext::GetWebKitContext(browser_context))); 91 BrowserContext::GetWebKitContext(browser_context)));
89 resource_context->SetUserData( 92 resource_context->SetUserData(
90 kDatabaseTrackerKeyName, 93 kDatabaseTrackerKeyName,
91 new UserDataAdapter<webkit_database::DatabaseTracker>( 94 new UserDataAdapter<webkit_database::DatabaseTracker>(
92 BrowserContext::GetDatabaseTracker(browser_context))); 95 BrowserContext::GetDatabaseTracker(browser_context)));
93 resource_context->SetUserData( 96 resource_context->SetUserData(
94 kAppCacheServicKeyName, 97 kAppCacheServicKeyName,
(...skipping 11 matching lines...) Expand all
106 109
107 // This object is owned by the BrowserContext and not ResourceContext, so 110 // This object is owned by the BrowserContext and not ResourceContext, so
108 // store a non-owning pointer here. 111 // store a non-owning pointer here.
109 resource_context->SetUserData( 112 resource_context->SetUserData(
110 kHostZoomMapKeyName, 113 kHostZoomMapKeyName,
111 new NonOwningZoomData( 114 new NonOwningZoomData(
112 HostZoomMap::GetForBrowserContext(browser_context))); 115 HostZoomMap::GetForBrowserContext(browser_context)));
113 } 116 }
114 117
115 } // namespace content 118 } // namespace content
OLDNEW
« content/browser/browser_context.cc ('K') | « content/browser/browser_context.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698