Commit dd936623 authored by Oksana Zhuravlova's avatar Oksana Zhuravlova Committed by Commit Bot

Convert cloud_print.mojom to use mojo/public/mojom/base/values.mojom

This change also converts the minimum necessary amount of C++ code to pass
objects of base::Value by value instead of std::unique_ptr.

Bug: 646113,799482

Change-Id: Ic8f6b1f4c120bfd7d57e045a68eb1921b8e6ab5d
Reviewed-on: https://chromium-review.googlesource.com/987238
Commit-Queue: Oksana Zhuravlova <oksamyt@chromium.org>
Reviewed-by: default avatarLei Zhang <thestig@chromium.org>
Reviewed-by: default avatarTom Sepez <tsepez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547966}
parent 94bad661
......@@ -200,7 +200,8 @@ void CloudPrintProxyService::EnableCloudPrintProxyWithRobot(
DCHECK(process_control->IsConnected());
GetCloudPrintProxy().EnableCloudPrintProxyWithRobot(
robot_auth_code, robot_email, user_email,
user_preferences->CreateDeepCopy());
std::move(*user_preferences->CreateDeepCopy()));
// Assume the IPC worked.
profile_->GetPrefs()->SetString(prefs::kCloudPrintEmail, user_email);
}
......
......@@ -129,11 +129,10 @@ class MockCloudPrintProxy : public cloud_print::mojom::CloudPrint {
void GetPrinters(GetPrintersCallback callback) override { NOTREACHED(); }
void DisableCloudPrintProxy() override { disabled_ = true; }
void EnableCloudPrintProxyWithRobot(
const std::string& robot_auth_code,
void EnableCloudPrintProxyWithRobot(const std::string& robot_auth_code,
const std::string& robot_email,
const std::string& user_email,
std::unique_ptr<base::DictionaryValue> user_settings) override {
base::Value user_settings) override {
enabled_ = true;
}
......
......@@ -194,7 +194,7 @@ IN_PROC_BROWSER_TEST_F(ServiceProcessControlBrowserTest, LaunchAndReconnect) {
ServiceProcessControl::GetInstance()->remote_interfaces().GetInterface(
&cloud_print_proxy);
cloud_print_proxy->EnableCloudPrintProxyWithRobot(
"", "", "", std::make_unique<base::DictionaryValue>());
"", "", "", base::Value(base::Value::Type::DICTIONARY));
ServiceProcessControl::GetInstance()->remote_interfaces().GetInterface(
&cloud_print_proxy);
......
......@@ -755,7 +755,7 @@ if (enable_print_preview && !is_chromeos) {
"service_process.mojom",
]
public_deps = [
"//mojo/common:common_custom_types",
"//mojo/public/mojom/base",
]
}
}
......
......@@ -4,7 +4,7 @@
module cloud_print.mojom;
import "mojo/common/values.mojom";
import "mojo/public/mojom/base/values.mojom";
// An interface for controlling cloud print running in a service process.
interface CloudPrint {
......@@ -14,7 +14,7 @@ interface CloudPrint {
string robot_auth_code,
string robot_email,
string user_email,
mojo.common.mojom.DictionaryValue user_settings);
mojo_base.mojom.DictionaryValue user_settings);
// Tell the service process to disable the cloud proxy.
DisableCloudPrintProxy();
......
......@@ -32,9 +32,12 @@ void CloudPrintMessageHandler::EnableCloudPrintProxyWithRobot(
const std::string& robot_auth_code,
const std::string& robot_email,
const std::string& user_email,
std::unique_ptr<base::DictionaryValue> user_settings) {
base::Value user_settings) {
std::unique_ptr<base::DictionaryValue> user_settings_dict =
base::DictionaryValue::From(
base::Value::ToUniquePtrValue(std::move(user_settings)));
proxy_provider_->GetCloudPrintProxy()->EnableForUserWithRobot(
robot_auth_code, robot_email, user_email, *user_settings);
robot_auth_code, robot_email, user_email, *user_settings_dict);
}
void CloudPrintMessageHandler::GetCloudPrintProxyInfo(
......
......@@ -11,10 +11,6 @@
#include "chrome/common/cloud_print.mojom.h"
#include "chrome/service/cloud_print/cloud_print_proxy.h"
namespace base {
class DictionaryValue;
}
namespace cloud_print {
// Handles IPC messages for Cloud Print. Lives on the main thread.
......@@ -28,11 +24,10 @@ class CloudPrintMessageHandler : public cloud_print::mojom::CloudPrint {
private:
// cloud_print::mojom::CloudPrintProxy.
void EnableCloudPrintProxyWithRobot(
const std::string& robot_auth_code,
void EnableCloudPrintProxyWithRobot(const std::string& robot_auth_code,
const std::string& robot_email,
const std::string& user_email,
std::unique_ptr<base::DictionaryValue> user_settings) override;
base::Value user_settings) override;
void GetCloudPrintProxyInfo(GetCloudPrintProxyInfoCallback callback) override;
void GetPrinters(GetPrintersCallback callback) override;
void DisableCloudPrintProxy() override;
......
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