Index: chrome/browser/profiles/profile_io_data.cc |
diff --git a/chrome/browser/profiles/profile_io_data.cc b/chrome/browser/profiles/profile_io_data.cc |
index 31a9e1aba971abb34018b75e15a06a566e786500..f9787d29c9596a8d023e886969dae730810484a7 100644 |
--- a/chrome/browser/profiles/profile_io_data.cc |
+++ b/chrome/browser/profiles/profile_io_data.cc |
@@ -53,9 +53,9 @@ |
#include "net/url_request/url_request.h" |
#include "webkit/blob/blob_data.h" |
#include "webkit/blob/blob_url_request_job_factory.h" |
+#include "webkit/database/database_tracker.h" |
#include "webkit/fileapi/file_system_context.h" |
#include "webkit/fileapi/file_system_url_request_job_factory.h" |
-#include "webkit/database/database_tracker.h" |
#include "webkit/quota/quota_manager.h" |
#if defined(OS_CHROMEOS) |
@@ -191,6 +191,8 @@ void ProfileIOData::InitializeProfileParams(Profile* profile) { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
PrefService* pref_service = profile->GetPrefs(); |
+ next_download_id_thunk_ = profile->GetDownloadManager()->GetNextIdThunk(); |
+ |
scoped_ptr<ProfileParams> params(new ProfileParams); |
params->is_incognito = profile->IsOffTheRecord(); |
params->clear_local_state_on_exit = |
@@ -485,6 +487,15 @@ void ProfileIOData::LazyInitialize() const { |
resource_context_.SetUserData(NULL, const_cast<ProfileIOData*>(this)); |
resource_context_.set_media_observer( |
io_thread_globals->media.media_internals.get()); |
+ // TODO(benjhayden) clean this up when we can include DownloadManager in |
+ // ResourceContext. |
+ resource_context_.SetUserData(reinterpret_cast<void*>(BASE_HASH_NAMESPACE:: |
+#if defined(COMPILER_GCC) |
+ hash<std::string>() |
+#elif defined(COMPILER_MSVC) |
+ hash_value |
+#endif |
+ ("next_download_id_thunk")), &next_download_id_thunk_); |
LazyInitializeInternal(profile_params_.get()); |