Commit 6cedd273 authored by Vladislav Kuzkokov's avatar Vladislav Kuzkokov Committed by Commit Bot

Cleanup |PrintPreviewHandler::SendPrinterSetup|

Replace |std::unique_ptr<base::Value>| with |base::Value| wherever
possible.

Change-Id: Id11c694a6d997118a96f6330b5ed23c8a1740289
Reviewed-on: https://chromium-review.googlesource.com/1228375
Commit-Queue: Vladislav Kuzkokov <vkuzkokov@chromium.org>
Reviewed-by: default avatarRebekah Potter <rbpotter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592370}
parent e58d4344
...@@ -1143,32 +1143,29 @@ void PrintPreviewHandler::SendPrinterSetup( ...@@ -1143,32 +1143,29 @@ void PrintPreviewHandler::SendPrinterSetup(
const std::string& callback_id, const std::string& callback_id,
const std::string& printer_name, const std::string& printer_name,
std::unique_ptr<base::DictionaryValue> destination_info) { std::unique_ptr<base::DictionaryValue> destination_info) {
auto response = std::make_unique<base::DictionaryValue>(); base::DictionaryValue response;
bool success = true; base::Value* caps_value =
auto caps_value = std::make_unique<base::Value>(); destination_info
auto caps = std::make_unique<base::DictionaryValue>(); ? destination_info->FindKeyOfType(printing::kSettingCapabilities,
if (destination_info && base::Value::Type::DICTIONARY)
destination_info->Remove(printing::kSettingCapabilities, &caps_value) && : nullptr;
caps_value->is_dict()) { response.SetString("printerId", printer_name);
caps = base::DictionaryValue::From(std::move(caps_value)); response.SetBoolean("success", !!caps_value);
response.SetKey("capabilities", caps_value ? std::move(*caps_value)
: base::DictionaryValue());
if (caps_value) {
base::Value* printer = destination_info->FindKeyOfType( base::Value* printer = destination_info->FindKeyOfType(
printing::kPrinter, base::Value::Type::DICTIONARY); printing::kPrinter, base::Value::Type::DICTIONARY);
if (printer) { if (printer) {
base::Value* policies_value = printer->FindKeyOfType( base::Value* policies_value = printer->FindKeyOfType(
printing::kSettingPolicies, base::Value::Type::DICTIONARY); printing::kSettingPolicies, base::Value::Type::DICTIONARY);
if (policies_value) if (policies_value)
response->SetKey("policies", std::move(*policies_value)); response.SetKey("policies", std::move(*policies_value));
} }
} else { } else {
LOG(WARNING) << "Printer setup failed"; LOG(WARNING) << "Printer setup failed";
success = false;
} }
ResolveJavascriptCallback(base::Value(callback_id), response);
response->SetString("printerId", printer_name);
response->SetBoolean("success", success);
response->Set("capabilities", std::move(caps));
ResolveJavascriptCallback(base::Value(callback_id), *response);
} }
void PrintPreviewHandler::SendCloudPrintEnabled() { void PrintPreviewHandler::SendCloudPrintEnabled() {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment