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 7bb27157d14da3bc1f3126d1b1e2eb1ed9c7751d..502807dc49c66cb77a02d4b749675805431ca5df 100644 |
--- a/chrome/browser/profiles/profile_io_data.cc |
+++ b/chrome/browser/profiles/profile_io_data.cc |
@@ -34,6 +34,7 @@ |
#include "chrome/browser/extensions/extension_resource_protocols.h" |
#include "chrome/browser/extensions/extension_system.h" |
#include "chrome/browser/io_thread.h" |
+#include "chrome/browser/media/media_device_id_salt.h" |
#include "chrome/browser/net/about_protocol_handler.h" |
#include "chrome/browser/net/chrome_cookie_notification_details.h" |
#include "chrome/browser/net/chrome_fraudulent_certificate_reporter.h" |
@@ -293,6 +294,7 @@ void ProfileIOData::InitializeOnUIThread(Profile* profile) { |
printing_enabled_.Init(prefs::kPrintingEnabled, pref_service); |
printing_enabled_.MoveToThread(io_message_loop_proxy); |
#endif |
+ |
chrome_http_user_agent_settings_.reset( |
new ChromeHttpUserAgentSettings(pref_service)); |
@@ -324,6 +326,9 @@ void ProfileIOData::InitializeOnUIThread(Profile* profile) { |
signin_allowed_.MoveToThread(io_message_loop_proxy); |
} |
+ media_device_id_salt_.reset(new MediaDeviceIDSalt(pref_service, |
+ is_incognito())); |
+ |
#if defined(OS_CHROMEOS) |
cert_verifier_ = policy::PolicyCertServiceFactory::CreateForProfile(profile); |
#endif |
@@ -613,6 +618,10 @@ HostContentSettingsMap* ProfileIOData::GetHostContentSettingsMap() const { |
return host_content_settings_map_.get(); |
} |
+std::string ProfileIOData::GetMediaDeviceIDSalt() const { |
+ return media_device_id_salt_->GetSalt(); |
+} |
+ |
void ProfileIOData::InitializeMetricsEnabledStateOnUIThread() { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
#if defined(OS_CHROMEOS) |
@@ -715,6 +724,10 @@ bool ProfileIOData::ResourceContext::AllowContentAccess( |
return setting == CONTENT_SETTING_ALLOW; |
} |
+std::string ProfileIOData::ResourceContext::GetMediaDeviceIDSalt() { |
+ return io_data_->GetMediaDeviceIDSalt(); |
+} |
+ |
// static |
std::string ProfileIOData::GetSSLSessionCacheShard() { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
@@ -923,6 +936,8 @@ void ProfileIOData::ShutdownOnUIThread() { |
printing_enabled_.Destroy(); |
sync_disabled_.Destroy(); |
signin_allowed_.Destroy(); |
+ if (media_device_id_salt_) |
+ media_device_id_salt_->ShutdownOnUIThread(); |
session_startup_pref_.Destroy(); |
#if defined(ENABLE_CONFIGURATION_POLICY) |
if (url_blacklist_manager_) |