Index: components/user_prefs/tracked/registry_hash_store_contents_win.cc |
diff --git a/components/user_prefs/tracked/registry_hash_store_contents_win.cc b/components/user_prefs/tracked/registry_hash_store_contents_win.cc |
index cdeb794cb7cac24a2ace7eed6b809439efa781e5..03d789839c5ed10b991eeda91a8565499245b7a0 100644 |
--- a/components/user_prefs/tracked/registry_hash_store_contents_win.cc |
+++ b/components/user_prefs/tracked/registry_hash_store_contents_win.cc |
@@ -7,6 +7,7 @@ |
#include <windows.h> |
#include "base/logging.h" |
+#include "base/memory/ptr_util.h" |
#include "base/numerics/safe_conversions.h" |
#include "base/strings/string_split.h" |
#include "base/strings/stringprintf.h" |
@@ -19,7 +20,7 @@ using base::win::RegistryValueIterator; |
namespace { |
-constexpr size_t kMacSize = 32; |
+constexpr size_t kMacSize = 64; |
base::string16 GetSplitPrefKeyName(const base::string16& reg_key_name, |
const std::string& split_key_name) { |
@@ -72,6 +73,18 @@ RegistryHashStoreContentsWin::RegistryHashStoreContentsWin( |
const base::string16& store_key) |
: preference_key_name_(registry_path + L"\\PreferenceMACs\\" + store_key) {} |
+RegistryHashStoreContentsWin::RegistryHashStoreContentsWin( |
+ const RegistryHashStoreContentsWin& other) = default; |
+ |
+bool RegistryHashStoreContentsWin::IsCopyable() const { |
+ return true; |
+} |
+ |
+std::unique_ptr<HashStoreContents> RegistryHashStoreContentsWin::MakeCopy() |
+ const { |
+ return base::WrapUnique(new RegistryHashStoreContentsWin(*this)); |
+} |
+ |
base::StringPiece RegistryHashStoreContentsWin::GetUMASuffix() const { |
return user_prefs::tracked::kTrackedPrefRegistryValidationSuffix; |
} |
@@ -141,7 +154,6 @@ void RegistryHashStoreContentsWin::SetSplitMac(const std::string& path, |
} |
bool RegistryHashStoreContentsWin::RemoveEntry(const std::string& path) { |
- // ClearSplitMac is first to avoid short-circuit issues. |
return ClearAtomicMac(preference_key_name_, path) || |
ClearSplitMac(preference_key_name_, path); |
} |
@@ -149,22 +161,22 @@ bool RegistryHashStoreContentsWin::RemoveEntry(const std::string& path) { |
void RegistryHashStoreContentsWin::ImportEntry(const std::string& path, |
const base::Value* in_value) { |
NOTREACHED() |
- << "RegistryHashStore does not support the ImportEntry operation"; |
+ << "RegistryHashStoreContents does not support the ImportEntry operation"; |
} |
const base::DictionaryValue* RegistryHashStoreContentsWin::GetContents() const { |
NOTREACHED() |
- << "RegistryHashStore does not support the GetContents operation"; |
+ << "RegistryHashStoreContents does not support the GetContents operation"; |
return NULL; |
} |
std::string RegistryHashStoreContentsWin::GetSuperMac() const { |
NOTREACHED() |
- << "RegistryHashStore does not support the GetSuperMac operation"; |
+ << "RegistryHashStoreContents does not support the GetSuperMac operation"; |
return NULL; |
} |
void RegistryHashStoreContentsWin::SetSuperMac(const std::string& super_mac) { |
NOTREACHED() |
- << "RegistryHashStore does not support the SetSuperMac operation"; |
+ << "RegistryHashStoreContents does not support the SetSuperMac operation"; |
} |