summaryrefslogtreecommitdiff
path: root/chromium/components/cloud_devices
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2021-09-03 13:32:17 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2021-10-01 14:31:55 +0200
commit21ba0c5d4bf8fba15dddd97cd693bad2358b77fd (patch)
tree91be119f694044dfc1ff9fdc054459e925de9df0 /chromium/components/cloud_devices
parent03c549e0392f92c02536d3f86d5e1d8dfa3435ac (diff)
downloadqtwebengine-chromium-21ba0c5d4bf8fba15dddd97cd693bad2358b77fd.tar.gz
BASELINE: Update Chromium to 92.0.4515.166
Change-Id: I42a050486714e9e54fc271f2a8939223a02ae364
Diffstat (limited to 'chromium/components/cloud_devices')
-rw-r--r--chromium/components/cloud_devices/common/cloud_device_description.cc2
-rw-r--r--chromium/components/cloud_devices/common/cloud_device_description_consts.h6
-rw-r--r--chromium/components/cloud_devices/common/cloud_devices_urls.cc1
-rw-r--r--chromium/components/cloud_devices/common/description_items.h4
-rw-r--r--chromium/components/cloud_devices/common/description_items_inl.h5
-rw-r--r--chromium/components/cloud_devices/common/printer_description.cc46
-rw-r--r--chromium/components/cloud_devices/common/printer_description.h4
-rw-r--r--chromium/components/cloud_devices/common/printer_description_unittest.cc107
8 files changed, 95 insertions, 80 deletions
diff --git a/chromium/components/cloud_devices/common/cloud_device_description.cc b/chromium/components/cloud_devices/common/cloud_device_description.cc
index dfa77cae632..f37889b2b2b 100644
--- a/chromium/components/cloud_devices/common/cloud_device_description.cc
+++ b/chromium/components/cloud_devices/common/cloud_device_description.cc
@@ -21,7 +21,7 @@ CloudDeviceDescription::CloudDeviceDescription()
CloudDeviceDescription::~CloudDeviceDescription() = default;
bool CloudDeviceDescription::InitFromString(const std::string& json) {
- base::Optional<base::Value> value = base::JSONReader::Read(json);
+ absl::optional<base::Value> value = base::JSONReader::Read(json);
if (!value)
return false;
diff --git a/chromium/components/cloud_devices/common/cloud_device_description_consts.h b/chromium/components/cloud_devices/common/cloud_device_description_consts.h
index 77443c9619b..ed01dbff458 100644
--- a/chromium/components/cloud_devices/common/cloud_device_description_consts.h
+++ b/chromium/components/cloud_devices/common/cloud_device_description_consts.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef COMPONENTS_CLOUD_DEVICESCLOUD_DEVICE_DESCRIPTION_CONSTS_H_
-#define COMPONENTS_CLOUD_DEVICESCLOUD_DEVICE_DESCRIPTION_CONSTS_H_
+#ifndef COMPONENTS_CLOUD_DEVICES_COMMON_CLOUD_DEVICE_DESCRIPTION_CONSTS_H_
+#define COMPONENTS_CLOUD_DEVICES_COMMON_CLOUD_DEVICE_DESCRIPTION_CONSTS_H_
// Constants for common parts of JSON representation of CDD/CJT.
@@ -22,4 +22,4 @@ extern const char kKeyOption[];
} // namespace cloud_devices
-#endif // COMPONENTS_CLOUD_DEVICESCLOUD_DEVICE_DESCRIPTION_CONSTS_H_
+#endif // COMPONENTS_CLOUD_DEVICES_COMMON_CLOUD_DEVICE_DESCRIPTION_CONSTS_H_
diff --git a/chromium/components/cloud_devices/common/cloud_devices_urls.cc b/chromium/components/cloud_devices/common/cloud_devices_urls.cc
index 1409d6fc2b8..b97e7cc3d0c 100644
--- a/chromium/components/cloud_devices/common/cloud_devices_urls.cc
+++ b/chromium/components/cloud_devices/common/cloud_devices_urls.cc
@@ -6,7 +6,6 @@
#include "base/command_line.h"
#include "base/strings/string_util.h"
-#include "base/strings/stringprintf.h"
#include "components/cloud_devices/common/cloud_devices_switches.h"
#include "google_apis/gaia/gaia_urls.h"
#include "net/base/url_util.h"
diff --git a/chromium/components/cloud_devices/common/description_items.h b/chromium/components/cloud_devices/common/description_items.h
index 08f119e2db5..a11251127e2 100644
--- a/chromium/components/cloud_devices/common/description_items.h
+++ b/chromium/components/cloud_devices/common/description_items.h
@@ -114,8 +114,8 @@ class SelectionCapability {
}
const Option& GetDefault() const {
- CHECK_GE(default_idx_, 0);
- return options_[default_idx_];
+ CHECK(!options_.empty());
+ return options_[std::max(default_idx_, 0)];
}
void AddOption(const Option& option) { AddDefaultOption(option, false); }
diff --git a/chromium/components/cloud_devices/common/description_items_inl.h b/chromium/components/cloud_devices/common/description_items_inl.h
index ede9d240982..834cc657343 100644
--- a/chromium/components/cloud_devices/common/description_items_inl.h
+++ b/chromium/components/cloud_devices/common/description_items_inl.h
@@ -100,12 +100,13 @@ bool SelectionCapability<Option, Traits>::operator==(
template <class Option, class Traits>
bool SelectionCapability<Option, Traits>::IsValid() const {
if (empty())
- return false; // This type of capabilities can't be empty
+ return false; // This type of capabilities can't be empty.
for (size_t i = 0; i < options_.size(); ++i) {
if (!Traits::IsValid(options_[i]))
return false;
}
- return default_idx_ >= 0 && default_idx_ < base::checked_cast<int>(size());
+ // This type of capability does not need a default value.
+ return default_idx_ >= -1 && default_idx_ < base::checked_cast<int>(size());
}
template <class Option, class Traits>
diff --git a/chromium/components/cloud_devices/common/printer_description.cc b/chromium/components/cloud_devices/common/printer_description.cc
index 6977e80e100..a589d8d217a 100644
--- a/chromium/components/cloud_devices/common/printer_description.cc
+++ b/chromium/components/cloud_devices/common/printer_description.cc
@@ -63,9 +63,9 @@ extern constexpr char kOptionRangeCapability[] = "range_cap";
extern constexpr char kOptionSelectCapability[] = "select_cap";
extern constexpr char kOptionTypedValueCapability[] = "typed_value_cap";
extern constexpr char kOptionVendorCapability[] = "vendor_capability";
-#if BUILDFLAG(IS_CHROMEOS_ASH)
+#if defined(OS_CHROMEOS)
extern constexpr char kOptionPin[] = "pin";
-#endif // BUILDFLAG(IS_CHROMEOS_ASH)
+#endif // defined(OS_CHROMEOS)
constexpr char kMarginBottom[] = "bottom_microns";
constexpr char kMarginLeft[] = "left_microns";
@@ -92,9 +92,9 @@ constexpr char kMinValue[] = "min";
constexpr char kMaxValue[] = "max";
constexpr char kDefaultValue[] = "default";
-#if BUILDFLAG(IS_CHROMEOS_ASH)
+#if defined(OS_CHROMEOS)
constexpr char kPinSupported[] = "supported";
-#endif // BUILDFLAG(IS_CHROMEOS_ASH)
+#endif // defined(OS_CHROMEOS)
constexpr char kTypeRangeVendorCapabilityFloat[] = "FLOAT";
constexpr char kTypeRangeVendorCapabilityInteger[] = "INTEGER";
@@ -1214,7 +1214,7 @@ class CopiesTicketItemTraits : public NoValueValidation,
public ItemsTraits<kOptionCopies> {
public:
static bool Load(const base::Value& dict, int32_t* option) {
- base::Optional<int> copies = dict.FindIntKey(kOptionCopies);
+ absl::optional<int> copies = dict.FindIntKey(kOptionCopies);
if (!copies)
return false;
@@ -1231,11 +1231,11 @@ class CopiesCapabilityTraits : public NoValueValidation,
public ItemsTraits<kOptionCopies> {
public:
static bool Load(const base::Value& dict, Copies* option) {
- base::Optional<int> default_copies = dict.FindIntKey(kDefaultValue);
+ absl::optional<int> default_copies = dict.FindIntKey(kDefaultValue);
if (!default_copies)
return false;
- base::Optional<int> max_copies = dict.FindIntKey(kMaxValue);
+ absl::optional<int> max_copies = dict.FindIntKey(kMaxValue);
if (!max_copies)
return false;
@@ -1257,10 +1257,10 @@ class MarginsTraits : public NoValueValidation,
const std::string* type = dict.FindStringKey(kKeyType);
if (!type || !TypeFromString(kMarginsNames, *type, &option->type))
return false;
- base::Optional<int> top_um = dict.FindIntKey(kMarginTop);
- base::Optional<int> right_um = dict.FindIntKey(kMarginRight);
- base::Optional<int> bottom_um = dict.FindIntKey(kMarginBottom);
- base::Optional<int> left_um = dict.FindIntKey(kMarginLeft);
+ absl::optional<int> top_um = dict.FindIntKey(kMarginTop);
+ absl::optional<int> right_um = dict.FindIntKey(kMarginRight);
+ absl::optional<int> bottom_um = dict.FindIntKey(kMarginBottom);
+ absl::optional<int> left_um = dict.FindIntKey(kMarginLeft);
if (!top_um || !right_um || !bottom_um || !left_um)
return false;
option->top_um = top_um.value();
@@ -1285,8 +1285,8 @@ class DpiTraits : public ItemsTraits<kOptionDpi> {
static bool IsValid(const Dpi& option) { return option.IsValid(); }
static bool Load(const base::Value& dict, Dpi* option) {
- base::Optional<int> horizontal = dict.FindIntKey(kDpiHorizontal);
- base::Optional<int> vertical = dict.FindIntKey(kDpiVertical);
+ absl::optional<int> horizontal = dict.FindIntKey(kDpiHorizontal);
+ absl::optional<int> vertical = dict.FindIntKey(kDpiVertical);
if (!horizontal || !vertical)
return false;
option->horizontal = horizontal.value();
@@ -1361,13 +1361,13 @@ class MediaTraits : public ItemsTraits<kOptionMediaSize> {
const std::string* type = dict.FindStringKey(kKeyName);
if (type && !TypeFromString(kMediaDefinitions, *type, &option->type))
return false;
- base::Optional<int> width_um = dict.FindIntKey(kMediaWidth);
+ absl::optional<int> width_um = dict.FindIntKey(kMediaWidth);
if (width_um)
option->width_um = width_um.value();
- base::Optional<int> height_um = dict.FindIntKey(kMediaHeight);
+ absl::optional<int> height_um = dict.FindIntKey(kMediaHeight);
if (height_um)
option->height_um = height_um.value();
- base::Optional<bool> is_continuous_feed =
+ absl::optional<bool> is_continuous_feed =
dict.FindBoolKey(kMediaIsContinuous);
if (is_continuous_feed)
option->is_continuous_feed = is_continuous_feed.value();
@@ -1408,7 +1408,7 @@ class CollateTraits : public NoValueValidation,
static const bool kDefault = true;
static bool Load(const base::Value& dict, bool* option) {
- base::Optional<bool> collate = dict.FindBoolKey(kOptionCollate);
+ absl::optional<bool> collate = dict.FindBoolKey(kOptionCollate);
if (!collate)
return false;
*option = collate.value();
@@ -1426,7 +1426,7 @@ class ReverseTraits : public NoValueValidation,
static const bool kDefault = false;
static bool Load(const base::Value& dict, bool* option) {
- base::Optional<bool> reverse = dict.FindBoolKey(kOptionReverse);
+ absl::optional<bool> reverse = dict.FindBoolKey(kOptionReverse);
if (!reverse)
return false;
*option = reverse.value();
@@ -1438,11 +1438,11 @@ class ReverseTraits : public NoValueValidation,
}
};
-#if BUILDFLAG(IS_CHROMEOS_ASH)
+#if defined(OS_CHROMEOS)
class PinTraits : public NoValueValidation, public ItemsTraits<kOptionPin> {
public:
static bool Load(const base::Value& dict, bool* option) {
- base::Optional<bool> supported = dict.FindBoolKey(kPinSupported);
+ absl::optional<bool> supported = dict.FindBoolKey(kPinSupported);
if (!supported)
return false;
*option = supported.value();
@@ -1453,7 +1453,7 @@ class PinTraits : public NoValueValidation, public ItemsTraits<kOptionPin> {
dict->SetKey(kPinSupported, base::Value(option));
}
};
-#endif // BUILDFLAG(IS_CHROMEOS_ASH)
+#endif // defined(OS_CHROMEOS)
} // namespace printer
@@ -1478,9 +1478,9 @@ template class ValueCapability<printer::Copies,
template class EmptyCapability<printer::PageRangeTraits>;
template class BooleanCapability<printer::CollateTraits>;
template class BooleanCapability<printer::ReverseTraits>;
-#if BUILDFLAG(IS_CHROMEOS_ASH)
+#if defined(OS_CHROMEOS)
template class ValueCapability<bool, printer::PinTraits>;
-#endif // BUILDFLAG(IS_CHROMEOS_ASH)
+#endif // defined(OS_CHROMEOS)
template class TicketItem<printer::PwgRasterConfig,
printer::PwgRasterConfigTraits>;
diff --git a/chromium/components/cloud_devices/common/printer_description.h b/chromium/components/cloud_devices/common/printer_description.h
index 0c392c7019f..33da6fda698 100644
--- a/chromium/components/cloud_devices/common/printer_description.h
+++ b/chromium/components/cloud_devices/common/printer_description.h
@@ -525,11 +525,11 @@ typedef ValueCapability<Copies, class CopiesCapabilityTraits> CopiesCapability;
typedef EmptyCapability<class PageRangeTraits> PageRangeCapability;
typedef BooleanCapability<class CollateTraits> CollateCapability;
typedef BooleanCapability<class ReverseTraits> ReverseCapability;
-#if BUILDFLAG(IS_CHROMEOS_ASH)
+#if defined(OS_CHROMEOS)
// This capability is not a part of standard CDD description. It's used for
// providing PIN printing opportunity in Chrome OS native printing.
typedef ValueCapability<bool, class PinTraits> PinCapability;
-#endif // BUILDFLAG(IS_CHROMEOS_ASH)
+#endif // defined(OS_CHROMEOS)
typedef TicketItem<PwgRasterConfig, PwgRasterConfigTraits>
PwgRasterConfigTicketItem;
diff --git a/chromium/components/cloud_devices/common/printer_description_unittest.cc b/chromium/components/cloud_devices/common/printer_description_unittest.cc
index e76c01bd862..217f8cdbd2e 100644
--- a/chromium/components/cloud_devices/common/printer_description_unittest.cc
+++ b/chromium/components/cloud_devices/common/printer_description_unittest.cc
@@ -41,7 +41,6 @@ const char kCdd[] = R"(
},
"color": {
"option": [ {
- "is_default": true,
"type": "STANDARD_COLOR"
}, {
"type": "STANDARD_MONOCHROME"
@@ -165,20 +164,6 @@ const char kBadVersionCdd[] = R"(
}
})";
-const char kNoDefaultCdd[] = R"(
- {
- "version": "1.0",
- "printer": {
- "color": {
- "option": [ {
- "type": "STANDARD_COLOR"
- }, {
- "type": "STANDARD_MONOCHROME"
- } ]
- }
- }
- })";
-
const char kMultyDefaultCdd[] = R"(
{
"version": "1.0",
@@ -351,8 +336,11 @@ const char kMissingDisplayNameSelectVendorCapabilityJson[] = R"(
const char kNoDefaultSelectVendorCapabilityJson[] = R"(
{
"option": [ {
- "value": "value",
- "display_name": "name"
+ "value": "value_1",
+ "display_name": "name_1"
+ }, {
+ "value": "value_2",
+ "display_name": "name_2"
} ]
})";
@@ -519,7 +507,7 @@ const char kSeveralInnerCapabilitiesVendorCapabilityCdd[] = R"(
}
})";
-#if BUILDFLAG(IS_CHROMEOS_ASH)
+#if defined(OS_CHROMEOS)
const char kPinOnlyCdd[] = R"(
{
"version": "1.0",
@@ -529,7 +517,7 @@ const char kPinOnlyCdd[] = R"(
}
}
})";
-#endif // BUILDFLAG(IS_CHROMEOS_ASH)
+#endif // defined(OS_CHROMEOS)
const char kCjt[] = R"(
{
@@ -671,9 +659,6 @@ TEST(PrinterDescriptionTest, CddInvalid) {
EXPECT_FALSE(description.InitFromString(kBadVersionCdd));
- EXPECT_TRUE(description.InitFromString(kNoDefaultCdd));
- EXPECT_FALSE(color.LoadFrom(description));
-
EXPECT_TRUE(description.InitFromString(kMultyDefaultCdd));
EXPECT_FALSE(color.LoadFrom(description));
}
@@ -704,7 +689,7 @@ TEST(PrinterDescriptionTest, CddSetAll) {
custom_raster.rotate_all_pages = false;
pwg_raster_config.set_value(custom_raster);
- color.AddDefaultOption(Color(ColorType::STANDARD_COLOR), true);
+ color.AddOption(Color(ColorType::STANDARD_COLOR));
color.AddOption(Color(ColorType::STANDARD_MONOCHROME));
Color custom(ColorType::CUSTOM_MONOCHROME);
custom.vendor_id = "123";
@@ -905,7 +890,7 @@ TEST(PrinterDescriptionTest, CddSetDocumentTypeSupported) {
TEST(PrinterDescriptionTest, CddGetRangeVendorCapability) {
for (const auto& capacity : kTestRangeCapabilities) {
- base::Optional<base::Value> value =
+ absl::optional<base::Value> value =
base::JSONReader::Read(capacity.json_name);
ASSERT_TRUE(value);
base::Value description = std::move(*value);
@@ -920,7 +905,7 @@ TEST(PrinterDescriptionTest, CddGetRangeVendorCapability) {
kInvalidBoundariesRangeVendorCapabilityJson,
kInvalidDefaultValueRangeVendorCapabilityJson};
for (const char* invalid_json_name : kInvalidJsonNames) {
- base::Optional<base::Value> value =
+ absl::optional<base::Value> value =
base::JSONReader::Read(invalid_json_name);
ASSERT_TRUE(value);
base::Value description = std::move(*value);
@@ -944,7 +929,7 @@ TEST(PrinterDescriptionTest, CddSetRangeVendorCapability) {
TEST(PrinterDescriptionTest, CddGetSelectVendorCapability) {
{
- base::Optional<base::Value> value =
+ absl::optional<base::Value> value =
base::JSONReader::Read(kSelectVendorCapabilityJson);
ASSERT_TRUE(value);
base::Value description = std::move(*value);
@@ -958,15 +943,28 @@ TEST(PrinterDescriptionTest, CddGetSelectVendorCapability) {
EXPECT_EQ(SelectVendorCapabilityOption("value_2", "name_2"),
select_capability.GetDefault());
}
-
+ {
+ absl::optional<base::Value> value =
+ base::JSONReader::Read(kNoDefaultSelectVendorCapabilityJson);
+ ASSERT_TRUE(value);
+ base::Value description = std::move(*value);
+ SelectVendorCapability select_capability;
+ EXPECT_TRUE(select_capability.LoadFrom(description));
+ EXPECT_EQ(2u, select_capability.size());
+ EXPECT_TRUE(select_capability.Contains(
+ SelectVendorCapabilityOption("value_1", "name_1")));
+ EXPECT_TRUE(select_capability.Contains(
+ SelectVendorCapabilityOption("value_2", "name_2")));
+ EXPECT_EQ(SelectVendorCapabilityOption("value_1", "name_1"),
+ select_capability.GetDefault());
+ }
const char* const kInvalidJsonNames[] = {
kNotListSelectVendorCapabilityJson,
kMissingValueSelectVendorCapabilityJson,
kMissingDisplayNameSelectVendorCapabilityJson,
- kNoDefaultSelectVendorCapabilityJson,
kSeveralDefaultsSelectVendorCapabilityJson};
for (const char* invalid_json_name : kInvalidJsonNames) {
- base::Optional<base::Value> value =
+ absl::optional<base::Value> value =
base::JSONReader::Read(invalid_json_name);
ASSERT_TRUE(value);
base::Value description = std::move(*value);
@@ -976,24 +974,41 @@ TEST(PrinterDescriptionTest, CddGetSelectVendorCapability) {
}
TEST(PrinterDescriptionTest, CddSetSelectVendorCapability) {
- SelectVendorCapability select_capability;
- select_capability.AddOption(
- SelectVendorCapabilityOption("value_1", "name_1"));
- select_capability.AddDefaultOption(
- SelectVendorCapabilityOption("value_2", "name_2"), true);
- base::Value select_capability_value(base::Value::Type::DICTIONARY);
- select_capability.SaveTo(&select_capability_value);
- std::string select_capability_str;
- EXPECT_TRUE(base::JSONWriter::WriteWithOptions(
- select_capability_value, base::JSONWriter::OPTIONS_PRETTY_PRINT,
- &select_capability_str));
- EXPECT_EQ(NormalizeJson(kSelectVendorCapabilityJson),
- NormalizeJson(select_capability_str));
+ {
+ SelectVendorCapability select_capability;
+ select_capability.AddOption(
+ SelectVendorCapabilityOption("value_1", "name_1"));
+ select_capability.AddDefaultOption(
+ SelectVendorCapabilityOption("value_2", "name_2"), true);
+ base::Value select_capability_value(base::Value::Type::DICTIONARY);
+ select_capability.SaveTo(&select_capability_value);
+ std::string select_capability_str;
+ EXPECT_TRUE(base::JSONWriter::WriteWithOptions(
+ select_capability_value, base::JSONWriter::OPTIONS_PRETTY_PRINT,
+ &select_capability_str));
+ EXPECT_EQ(NormalizeJson(kSelectVendorCapabilityJson),
+ NormalizeJson(select_capability_str));
+ }
+ {
+ SelectVendorCapability select_capability;
+ select_capability.AddOption(
+ SelectVendorCapabilityOption("value_1", "name_1"));
+ select_capability.AddOption(
+ SelectVendorCapabilityOption("value_2", "name_2"));
+ base::Value select_capability_value(base::Value::Type::DICTIONARY);
+ select_capability.SaveTo(&select_capability_value);
+ std::string select_capability_str;
+ EXPECT_TRUE(base::JSONWriter::WriteWithOptions(
+ select_capability_value, base::JSONWriter::OPTIONS_PRETTY_PRINT,
+ &select_capability_str));
+ EXPECT_EQ(NormalizeJson(kNoDefaultSelectVendorCapabilityJson),
+ NormalizeJson(select_capability_str));
+ }
}
TEST(PrinterDescriptionTest, CddGetTypedValueVendorCapability) {
for (const auto& capacity : kTestTypedValueCapabilities) {
- base::Optional<base::Value> value =
+ absl::optional<base::Value> value =
base::JSONReader::Read(capacity.json_name);
ASSERT_TRUE(value);
base::Value description = std::move(*value);
@@ -1008,7 +1023,7 @@ TEST(PrinterDescriptionTest, CddGetTypedValueVendorCapability) {
kInvalidFloatTypedValueVendorCapabilityJson,
kInvalidIntegerTypedValueVendorCapabilityJson};
for (const char* invalid_json_name : kInvalidJsonNames) {
- base::Optional<base::Value> value =
+ absl::optional<base::Value> value =
base::JSONReader::Read(invalid_json_name);
ASSERT_TRUE(value);
base::Value description = std::move(*value);
@@ -1088,7 +1103,7 @@ TEST(PrinterDescriptionTest, CddSetVendorCapability) {
NormalizeJson(description.ToString()));
}
-#if BUILDFLAG(IS_CHROMEOS_ASH)
+#if defined(OS_CHROMEOS)
TEST(PrinterDescriptionTest, CddGetPin) {
{
CloudDeviceDescription description;
@@ -1114,7 +1129,7 @@ TEST(PrinterDescriptionTest, CddSetPin) {
pin_capability.SaveTo(&description);
EXPECT_EQ(NormalizeJson(kPinOnlyCdd), NormalizeJson(description.ToString()));
}
-#endif // BUILDFLAG(IS_CHROMEOS_ASH)
+#endif // defined(OS_CHROMEOS)
TEST(PrinterDescriptionTest, CddGetAll) {
CloudDeviceDescription description;