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

Unified Diff: content/browser/resource_context_impl.cc

Issue 1987643002: Make default media device ID salts random by default (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: change return type from const string to string as it makes no difference Created 4 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/resource_context_impl.cc
diff --git a/content/browser/resource_context_impl.cc b/content/browser/resource_context_impl.cc
index e7aa29b9570d5706018be8032db33507b15392f9..4a107dc9a45c9455caef31f445c4e48460d2476d 100644
--- a/content/browser/resource_context_impl.cc
+++ b/content/browser/resource_context_impl.cc
@@ -6,9 +6,11 @@
#include <stdint.h>
+#include "base/base64.h"
#include "base/bind.h"
#include "base/logging.h"
#include "base/memory/ptr_util.h"
+#include "base/rand_util.h"
#include "content/browser/blob_storage/chrome_blob_storage_context.h"
#include "content/browser/loader/resource_dispatcher_host_impl.h"
#include "content/browser/loader/resource_request_info_impl.h"
@@ -23,22 +25,13 @@ using base::UserDataAdapter;
namespace content {
-namespace {
-
// Key names on ResourceContext.
const char kBlobStorageContextKeyName[] = "content_blob_storage_context";
const char kStreamContextKeyName[] = "content_stream_context";
const char kURLDataManagerBackendKeyName[] = "url_data_manager_backend";
-// Used by the default implementation of GetMediaDeviceIDSalt, below.
-std::string ReturnEmptySalt() {
- return std::string();
-}
-
-} // namespace
-
-
-ResourceContext::ResourceContext() {
+ResourceContext::ResourceContext()
+ : media_device_id_salt_(CreateRandomMediaDeviceIDSalt()) {
ResourceDispatcherHostImpl* rdhi = ResourceDispatcherHostImpl::Get();
if (rdhi) {
BrowserThread::PostTask(
@@ -59,8 +52,8 @@ ResourceContext::~ResourceContext() {
DetachUserDataThread();
}
-ResourceContext::SaltCallback ResourceContext::GetMediaDeviceIDSalt() {
- return base::Bind(&ReturnEmptySalt);
+std::string ResourceContext::GetMediaDeviceIDSalt() {
+ return media_device_id_salt_;
}
std::unique_ptr<net::ClientCertStore> ResourceContext::CreateClientCertStore() {
@@ -76,6 +69,14 @@ void ResourceContext::CreateKeygenHandler(
new net::KeygenHandler(key_size_in_bits, challenge_string, url)));
}
+// static
+std::string ResourceContext::CreateRandomMediaDeviceIDSalt() {
+ std::string salt;
+ base::Base64Encode(base::RandBytesAsString(16), &salt);
+ DCHECK(!salt.empty());
+ return salt;
+}
+
ChromeBlobStorageContext* GetChromeBlobStorageContextForResourceContext(
const ResourceContext* resource_context) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
« no previous file with comments | « content/browser/renderer_host/media/media_stream_manager_unittest.cc ('k') | content/public/browser/media_device_id.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698