| Index: chrome/browser/profiles/profile_impl.cc
 | 
| diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
 | 
| index 84c5eb8d6fe0343c214c767ea0479b131fbe3cc9..d3f065309aed028fdc81d7fb694b94bb35225f77 100644
 | 
| --- a/chrome/browser/profiles/profile_impl.cc
 | 
| +++ b/chrome/browser/profiles/profile_impl.cc
 | 
| @@ -44,6 +44,7 @@
 | 
|  #include "chrome/browser/download/chrome_download_manager_delegate.h"
 | 
|  #include "chrome/browser/download/download_service.h"
 | 
|  #include "chrome/browser/download/download_service_factory.h"
 | 
| +#include "chrome/browser/media/media_device_id_salt.h"
 | 
|  #include "chrome/browser/net/predictor.h"
 | 
|  #include "chrome/browser/net/proxy_service_factory.h"
 | 
|  #include "chrome/browser/permissions/permission_manager.h"
 | 
| @@ -562,6 +563,8 @@ void ProfileImpl::DoFinalInit() {
 | 
|        base::Bind(&ProfileImpl::UpdateIsEphemeralInStorage,
 | 
|                   base::Unretained(this)));
 | 
|  
 | 
| +  media_device_id_salt_ = new MediaDeviceIDSalt(prefs_.get());
 | 
| +
 | 
|    // It would be nice to use PathService for fetching this directory, but
 | 
|    // the cache directory depends on the profile directory, which isn't available
 | 
|    // to PathService.
 | 
| @@ -1093,6 +1096,10 @@ void ProfileImpl::RegisterInProcessServices(StaticServiceMap* services) {
 | 
|        std::make_pair(identity::mojom::kServiceName, identity_service_info));
 | 
|  }
 | 
|  
 | 
| +std::string ProfileImpl::GetMediaDeviceIDSalt() {
 | 
| +  return media_device_id_salt_->GetSalt();
 | 
| +}
 | 
| +
 | 
|  bool ProfileImpl::IsSameProfile(Profile* profile) {
 | 
|    if (profile == static_cast<Profile*>(this))
 | 
|      return true;
 | 
| 
 |