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

Unified Diff: chrome/browser/chromeos/policy/configuration_policy_handler_chromeos.cc

Issue 1940153002: Use std::unique_ptr to express ownership of base::Value in PolicyMap::Entry (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: another-fix Created 4 years, 7 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: chrome/browser/chromeos/policy/configuration_policy_handler_chromeos.cc
diff --git a/chrome/browser/chromeos/policy/configuration_policy_handler_chromeos.cc b/chrome/browser/chromeos/policy/configuration_policy_handler_chromeos.cc
index 369db048545a19ceb4baef8f161f1c5b143abe3a..61374cf218dc5f67e9866afadb32914e4b08c12c 100644
--- a/chrome/browser/chromeos/policy/configuration_policy_handler_chromeos.cc
+++ b/chrome/browser/chromeos/policy/configuration_policy_handler_chromeos.cc
@@ -15,6 +15,7 @@
#include "base/json/json_reader.h"
#include "base/json/json_writer.h"
#include "base/logging.h"
+#include "base/memory/ptr_util.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
#include "base/values.h"
@@ -264,12 +265,13 @@ void NetworkConfigurationPolicyHandler::PrepareForDisplaying(
const PolicyMap::Entry* entry = policies->Get(policy_name());
if (!entry)
return;
- base::Value* sanitized_config = SanitizeNetworkConfig(entry->value);
+ std::unique_ptr<base::Value> sanitized_config =
+ SanitizeNetworkConfig(entry->value.get());
if (!sanitized_config)
- sanitized_config = base::Value::CreateNullValue().release();
+ sanitized_config = base::Value::CreateNullValue();
- policies->Set(policy_name(), entry->level, entry->scope,
- entry->source, sanitized_config, nullptr);
+ policies->Set(policy_name(), entry->level, entry->scope, entry->source,
+ std::move(sanitized_config), nullptr);
}
NetworkConfigurationPolicyHandler::NetworkConfigurationPolicyHandler(
@@ -282,7 +284,8 @@ NetworkConfigurationPolicyHandler::NetworkConfigurationPolicyHandler(
}
// static
-base::Value* NetworkConfigurationPolicyHandler::SanitizeNetworkConfig(
+std::unique_ptr<base::Value>
+NetworkConfigurationPolicyHandler::SanitizeNetworkConfig(
const base::Value* config) {
std::string json_string;
if (!config->GetAsString(&json_string))
@@ -303,7 +306,7 @@ base::Value* NetworkConfigurationPolicyHandler::SanitizeNetworkConfig(
base::JSONWriter::WriteWithOptions(
*toplevel_dict, base::JSONWriter::OPTIONS_PRETTY_PRINT, &json_string);
- return new base::StringValue(json_string);
+ return base::WrapUnique(new base::StringValue(json_string));
}
PinnedLauncherAppsPolicyHandler::PinnedLauncherAppsPolicyHandler()

Powered by Google App Engine
This is Rietveld 408576698