printing: Move printing::DuplexMode to //printing/mojom/print.mojom
This CL introduces printing/mojom/print.mojom and moves
printing::DuplexMode to this mojom file to share the enum types
with other directories.
It removes WebDuplexMode from //third_party/blink.
Bug: 1008939
Change-Id: Ic73da8abc7241d99f0be35ba18946addf63f3e4d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2162388
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Julie Kim <jkim@igalia.com>
Cr-Commit-Position: refs/heads/master@{#764139}
diff --git a/chrome/browser/chromeos/BUILD.gn b/chrome/browser/chromeos/BUILD.gn
index b63e20f..b17ce42 100644
--- a/chrome/browser/chromeos/BUILD.gn
+++ b/chrome/browser/chromeos/BUILD.gn
@@ -284,6 +284,7 @@
# TODO: care about enable_basic_printing and enable_print_preview.
"//ash/keyboard/ui",
"//printing",
+ "//printing/mojom",
"//remoting/host/it2me:chrome_os_host",
"//services/audio/public/cpp",
"//services/data_decoder/public/cpp",
diff --git a/chrome/browser/chromeos/arc/print/arc_print_service.cc b/chrome/browser/chromeos/arc/print/arc_print_service.cc
index d9cefe3..3f917e6 100644
--- a/chrome/browser/chromeos/arc/print/arc_print_service.cc
+++ b/chrome/browser/chromeos/arc/print/arc_print_service.cc
@@ -47,6 +47,7 @@
#include "printing/backend/print_backend.h"
#include "printing/backend/print_backend_consts.h"
#include "printing/metafile_skia.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/print_job_constants.h"
#include "printing/printed_document.h"
#include "printing/units.h"
@@ -358,14 +359,14 @@
// Get requested duplex mode from Mojo type.
// |mode| is a bitfield but must have exactly one mode set here.
-printing::DuplexMode FromArcDuplexMode(mojom::PrintDuplexMode mode) {
+printing::mojom::DuplexMode FromArcDuplexMode(mojom::PrintDuplexMode mode) {
switch (mode) {
case mojom::PrintDuplexMode::NONE:
- return printing::SIMPLEX;
+ return printing::mojom::DuplexMode::kSimplex;
case mojom::PrintDuplexMode::LONG_EDGE:
- return printing::LONG_EDGE;
+ return printing::mojom::DuplexMode::kLongEdge;
case mojom::PrintDuplexMode::SHORT_EDGE:
- return printing::SHORT_EDGE;
+ return printing::mojom::DuplexMode::kShortEdge;
}
NOTREACHED();
}
diff --git a/chrome/browser/chromeos/arc/print/print_mojom_traits.cc b/chrome/browser/chromeos/arc/print/print_mojom_traits.cc
index d5c93e2..920c91c 100644
--- a/chrome/browser/chromeos/arc/print/print_mojom_traits.cc
+++ b/chrome/browser/chromeos/arc/print/print_mojom_traits.cc
@@ -5,6 +5,7 @@
#include "chrome/browser/chromeos/arc/print/print_mojom_traits.h"
#include "base/strings/stringprintf.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/units.h"
namespace mojo {
@@ -20,13 +21,13 @@
size_mil.width(), size_mil.height());
}
-arc::mojom::PrintDuplexMode ToArcDuplexMode(printing::DuplexMode mode) {
+arc::mojom::PrintDuplexMode ToArcDuplexMode(printing::mojom::DuplexMode mode) {
switch (mode) {
- case printing::LONG_EDGE:
+ case printing::mojom::DuplexMode::kLongEdge:
return arc::mojom::PrintDuplexMode::LONG_EDGE;
- case printing::SHORT_EDGE:
+ case printing::mojom::DuplexMode::kShortEdge:
return arc::mojom::PrintDuplexMode::SHORT_EDGE;
- case printing::SIMPLEX:
+ case printing::mojom::DuplexMode::kSimplex:
return arc::mojom::PrintDuplexMode::NONE;
default:
NOTREACHED();
@@ -83,7 +84,7 @@
printing::PrinterSemanticCapsAndDefaults>::
duplex_modes(const printing::PrinterSemanticCapsAndDefaults& caps) {
uint32_t duplex_modes = 0;
- for (printing::DuplexMode mode : caps.duplex_modes) {
+ for (printing::mojom::DuplexMode mode : caps.duplex_modes) {
duplex_modes |= static_cast<uint32_t>(ToArcDuplexMode(mode));
}
return static_cast<arc::mojom::PrintDuplexMode>(duplex_modes);
diff --git a/chrome/browser/chromeos/arc/print_spooler/print_session_impl.cc b/chrome/browser/chromeos/arc/print_spooler/print_session_impl.cc
index b2a3240..b3edcbc2 100644
--- a/chrome/browser/chromeos/arc/print_spooler/print_session_impl.cc
+++ b/chrome/browser/chromeos/arc/print_spooler/print_session_impl.cc
@@ -30,6 +30,7 @@
#include "content/public/browser/web_contents.h"
#include "mojo/public/c/system/types.h"
#include "net/base/filename_util.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/page_range.h"
#include "printing/print_job_constants.h"
#include "printing/print_settings.h"
@@ -53,10 +54,12 @@
// Converts a duplex mode to its Mojo type.
mojom::PrintDuplexMode ToArcDuplexMode(int duplex_mode) {
- switch (duplex_mode) {
- case printing::LONG_EDGE:
+ printing::mojom::DuplexMode mode =
+ static_cast<printing::mojom::DuplexMode>(duplex_mode);
+ switch (mode) {
+ case printing::mojom::DuplexMode::kLongEdge:
return mojom::PrintDuplexMode::LONG_EDGE;
- case printing::SHORT_EDGE:
+ case printing::mojom::DuplexMode::kShortEdge:
return mojom::PrintDuplexMode::SHORT_EDGE;
default:
return mojom::PrintDuplexMode::NONE;
diff --git a/chrome/browser/chromeos/extensions/printing/printing_api_handler_unittest.cc b/chrome/browser/chromeos/extensions/printing/printing_api_handler_unittest.cc
index 38735fd..cd77466e 100644
--- a/chrome/browser/chromeos/extensions/printing/printing_api_handler_unittest.cc
+++ b/chrome/browser/chromeos/extensions/printing/printing_api_handler_unittest.cc
@@ -36,6 +36,7 @@
#include "extensions/common/extension_builder.h"
#include "printing/backend/print_backend.h"
#include "printing/backend/test_print_backend.h"
+#include "printing/mojom/print.mojom.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -197,7 +198,7 @@
auto capabilities =
std::make_unique<printing::PrinterSemanticCapsAndDefaults>();
capabilities->color_model = printing::COLOR;
- capabilities->duplex_modes.push_back(printing::SIMPLEX);
+ capabilities->duplex_modes.push_back(printing::mojom::DuplexMode::kSimplex);
capabilities->copies_max = 2;
capabilities->dpis.push_back(gfx::Size(kHorizontalDpi, kVerticalDpi));
printing::PrinterSemanticCapsAndDefaults::Paper paper;
diff --git a/chrome/browser/chromeos/extensions/printing/printing_api_utils.cc b/chrome/browser/chromeos/extensions/printing/printing_api_utils.cc
index e535e56..2925b7a 100644
--- a/chrome/browser/chromeos/extensions/printing/printing_api_utils.cc
+++ b/chrome/browser/chromeos/extensions/printing/printing_api_utils.cc
@@ -15,6 +15,7 @@
#include "components/cloud_devices/common/cloud_device_description.h"
#include "components/cloud_devices/common/printer_description.h"
#include "printing/backend/print_backend.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/print_settings.h"
#include "third_party/re2/src/re2/re2.h"
@@ -158,13 +159,13 @@
return nullptr;
switch (duplex.value()) {
case cloud_devices::printer::DuplexType::NO_DUPLEX:
- settings->set_duplex_mode(printing::SIMPLEX);
+ settings->set_duplex_mode(printing::mojom::DuplexMode::kSimplex);
break;
case cloud_devices::printer::DuplexType::LONG_EDGE:
- settings->set_duplex_mode(printing::LONG_EDGE);
+ settings->set_duplex_mode(printing::mojom::DuplexMode::kLongEdge);
break;
case cloud_devices::printer::DuplexType::SHORT_EDGE:
- settings->set_duplex_mode(printing::SHORT_EDGE);
+ settings->set_duplex_mode(printing::mojom::DuplexMode::kShortEdge);
break;
default:
NOTREACHED();
diff --git a/chrome/browser/chromeos/extensions/printing/printing_api_utils_unittest.cc b/chrome/browser/chromeos/extensions/printing/printing_api_utils_unittest.cc
index 19a111b4..15c756a 100644
--- a/chrome/browser/chromeos/extensions/printing/printing_api_utils_unittest.cc
+++ b/chrome/browser/chromeos/extensions/printing/printing_api_utils_unittest.cc
@@ -7,6 +7,7 @@
#include "base/json/json_reader.h"
#include "chromeos/printing/printer_configuration.h"
#include "printing/backend/print_backend.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/print_settings.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -83,7 +84,7 @@
std::unique_ptr<printing::PrintSettings> ConstructPrintSettings() {
auto settings = std::make_unique<printing::PrintSettings>();
settings->set_color(printing::COLOR);
- settings->set_duplex_mode(printing::LONG_EDGE);
+ settings->set_duplex_mode(printing::mojom::DuplexMode::kLongEdge);
settings->SetOrientation(/*landscape=*/true);
settings->set_copies(kCopies);
settings->set_dpi_xy(kHorizontalDpi, kVerticalDpi);
@@ -98,7 +99,7 @@
printing::PrinterSemanticCapsAndDefaults ConstructPrinterCapabilities() {
printing::PrinterSemanticCapsAndDefaults capabilities;
capabilities.color_model = printing::COLOR;
- capabilities.duplex_modes.push_back(printing::LONG_EDGE);
+ capabilities.duplex_modes.push_back(printing::mojom::DuplexMode::kLongEdge);
capabilities.copies_max = 2;
capabilities.dpis.push_back(gfx::Size(kHorizontalDpi, kVerticalDpi));
printing::PrinterSemanticCapsAndDefaults::Paper paper;
@@ -163,7 +164,7 @@
ASSERT_TRUE(settings);
EXPECT_EQ(printing::GRAY, settings->color());
- EXPECT_EQ(printing::SIMPLEX, settings->duplex_mode());
+ EXPECT_EQ(printing::mojom::DuplexMode::kSimplex, settings->duplex_mode());
EXPECT_TRUE(settings->landscape());
EXPECT_EQ(5, settings->copies());
EXPECT_EQ(gfx::Size(kHorizontalDpi, kVerticalDpi), settings->dpi_size());
@@ -201,7 +202,7 @@
std::unique_ptr<printing::PrintSettings> settings = ConstructPrintSettings();
printing::PrinterSemanticCapsAndDefaults capabilities =
ConstructPrinterCapabilities();
- capabilities.duplex_modes = {printing::SIMPLEX};
+ capabilities.duplex_modes = {printing::mojom::DuplexMode::kSimplex};
EXPECT_FALSE(
CheckSettingsAndCapabilitiesCompatibility(*settings, capabilities));
}
diff --git a/chrome/browser/chromeos/extensions/printing/printing_apitest.cc b/chrome/browser/chromeos/extensions/printing/printing_apitest.cc
index 346a005..04dcee1b 100644
--- a/chrome/browser/chromeos/extensions/printing/printing_apitest.cc
+++ b/chrome/browser/chromeos/extensions/printing/printing_apitest.cc
@@ -21,6 +21,7 @@
#include "extensions/test/result_catcher.h"
#include "printing/backend/print_backend.h"
#include "printing/backend/test_print_backend.h"
+#include "printing/mojom/print.mojom.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace extensions {
@@ -51,7 +52,7 @@
auto capabilities =
std::make_unique<printing::PrinterSemanticCapsAndDefaults>();
capabilities->color_model = printing::COLOR;
- capabilities->duplex_modes.push_back(printing::SIMPLEX);
+ capabilities->duplex_modes.push_back(printing::mojom::DuplexMode::kSimplex);
capabilities->copies_max = 2;
capabilities->dpis.push_back(gfx::Size(kHorizontalDpi, kVerticalDpi));
printing::PrinterSemanticCapsAndDefaults::Paper paper;
diff --git a/chrome/browser/chromeos/printing/history/print_job_info_proto_conversions.cc b/chrome/browser/chromeos/printing/history/print_job_info_proto_conversions.cc
index cd39c41..dac7d79 100644
--- a/chrome/browser/chromeos/printing/history/print_job_info_proto_conversions.cc
+++ b/chrome/browser/chromeos/printing/history/print_job_info_proto_conversions.cc
@@ -5,6 +5,7 @@
#include "chrome/browser/chromeos/printing/history/print_job_info_proto_conversions.h"
#include "base/optional.h"
+#include "printing/mojom/print.mojom.h"
namespace chromeos {
@@ -19,13 +20,13 @@
}
proto::PrintSettings_DuplexMode DuplexModeToProto(
- ::printing::DuplexMode duplex) {
+ ::printing::mojom::DuplexMode duplex) {
switch (duplex) {
- case ::printing::DuplexMode::SIMPLEX:
+ case ::printing::mojom::DuplexMode::kSimplex:
return proto::PrintSettings_DuplexMode_ONE_SIDED;
- case ::printing::DuplexMode::LONG_EDGE:
+ case ::printing::mojom::DuplexMode::kLongEdge:
return proto::PrintSettings_DuplexMode_TWO_SIDED_LONG_EDGE;
- case ::printing::DuplexMode::SHORT_EDGE:
+ case ::printing::mojom::DuplexMode::kShortEdge:
return proto::PrintSettings_DuplexMode_TWO_SIDED_SHORT_EDGE;
default:
NOTREACHED();
diff --git a/chrome/browser/chromeos/printing/history/print_job_info_proto_conversions_unittest.cc b/chrome/browser/chromeos/printing/history/print_job_info_proto_conversions_unittest.cc
index 5f789f86..c93212a 100644
--- a/chrome/browser/chromeos/printing/history/print_job_info_proto_conversions_unittest.cc
+++ b/chrome/browser/chromeos/printing/history/print_job_info_proto_conversions_unittest.cc
@@ -5,6 +5,7 @@
#include "chrome/browser/chromeos/printing/history/print_job_info_proto_conversions.h"
#include "base/time/time_override.h"
+#include "printing/mojom/print.mojom.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace chromeos {
@@ -32,7 +33,7 @@
TEST(PrintJobInfoProtoConversionsTest, PrintSettingsToProto) {
::printing::PrintSettings settings;
settings.set_color(::printing::ColorModel::COLOR);
- settings.set_duplex_mode(::printing::DuplexMode::LONG_EDGE);
+ settings.set_duplex_mode(::printing::mojom::DuplexMode::kLongEdge);
::printing::PrintSettings::RequestedMedia media;
media.size_microns = gfx::Size(kWidth, kHeight);
media.vendor_id = kVendorId;
diff --git a/chrome/browser/printing/cloud_print/privet_http_unittest.cc b/chrome/browser/printing/cloud_print/privet_http_unittest.cc
index b15d7c3..c56d0a2 100644
--- a/chrome/browser/printing/cloud_print/privet_http_unittest.cc
+++ b/chrome/browser/printing/cloud_print/privet_http_unittest.cc
@@ -33,6 +33,7 @@
#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
#include "chrome/browser/printing/pwg_raster_converter.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/pwg_raster_settings.h"
#endif
@@ -754,7 +755,7 @@
EXPECT_TRUE(SuccessfulResponse(kSubmitDocURL, kSampleLocalPrintResponse));
EXPECT_EQ("foobar", GetUploadData(kSubmitDocURL));
- EXPECT_EQ(printing::DuplexMode::SIMPLEX,
+ EXPECT_EQ(printing::mojom::DuplexMode::kSimplex,
pwg_converter_->bitmap_settings().duplex_mode);
EXPECT_EQ(printing::TRANSFORM_NORMAL,
pwg_converter_->bitmap_settings().odd_page_transform);
@@ -790,7 +791,7 @@
SuccessfulResponse(kSubmitDocWithJobIDURL, kSampleLocalPrintResponse));
EXPECT_EQ("foobar", GetUploadData(kSubmitDocWithJobIDURL));
- EXPECT_EQ(printing::DuplexMode::SHORT_EDGE,
+ EXPECT_EQ(printing::mojom::DuplexMode::kShortEdge,
pwg_converter_->bitmap_settings().duplex_mode);
EXPECT_EQ(printing::TRANSFORM_ROTATE_180,
pwg_converter_->bitmap_settings().odd_page_transform);
diff --git a/chrome/browser/printing/print_test_utils.cc b/chrome/browser/printing/print_test_utils.cc
index 3fd8cc1..7d1c13d4 100644
--- a/chrome/browser/printing/print_test_utils.cc
+++ b/chrome/browser/printing/print_test_utils.cc
@@ -10,6 +10,7 @@
#include "base/json/json_writer.h"
#include "base/values.h"
#include "chrome/browser/ui/webui/print_preview/print_preview_handler.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/print_job_constants.h"
namespace printing {
@@ -31,7 +32,8 @@
ticket.SetIntKey(kSettingColor, 2); // color printing
ticket.SetBoolKey(kSettingHeaderFooterEnabled, false);
ticket.SetIntKey(kSettingMarginsType, 0); // default margins
- ticket.SetIntKey(kSettingDuplexMode, LONG_EDGE);
+ ticket.SetIntKey(kSettingDuplexMode,
+ static_cast<int>(mojom::DuplexMode::kLongEdge));
ticket.SetIntKey(kSettingCopies, 1);
ticket.SetBoolKey(kSettingCollate, true);
ticket.SetBoolKey(kSettingShouldPrintBackgrounds, false);
diff --git a/chrome/browser/printing/pwg_raster_converter.cc b/chrome/browser/printing/pwg_raster_converter.cc
index 405a9f1..22ceb058 100644
--- a/chrome/browser/printing/pwg_raster_converter.cc
+++ b/chrome/browser/printing/pwg_raster_converter.cc
@@ -23,6 +23,7 @@
#include "content/public/browser/child_process_data.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "mojo/public/cpp/system/platform_handle.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/pdf_render_settings.h"
#include "printing/pwg_raster_settings.h"
#include "printing/units.h"
@@ -244,7 +245,7 @@
PwgRasterSettings result;
switch (duplex_value) {
case cloud_devices::printer::DuplexType::NO_DUPLEX:
- result.duplex_mode = DuplexMode::SIMPLEX;
+ result.duplex_mode = mojom::DuplexMode::kSimplex;
result.odd_page_transform = TRANSFORM_NORMAL;
break;
case cloud_devices::printer::DuplexType::LONG_EDGE:
@@ -257,7 +258,7 @@
}
break;
case cloud_devices::printer::DuplexType::SHORT_EDGE:
- result.duplex_mode = DuplexMode::SHORT_EDGE;
+ result.duplex_mode = mojom::DuplexMode::kShortEdge;
if (document_sheet_back ==
cloud_devices::printer::DocumentSheetBack::MANUAL_TUMBLE) {
result.odd_page_transform = TRANSFORM_ROTATE_180;
diff --git a/chrome/browser/printing/pwg_raster_converter_browsertest.cc b/chrome/browser/printing/pwg_raster_converter_browsertest.cc
index 3f20e6a..3452331 100644
--- a/chrome/browser/printing/pwg_raster_converter_browsertest.cc
+++ b/chrome/browser/printing/pwg_raster_converter_browsertest.cc
@@ -15,6 +15,7 @@
#include "build/build_config.h"
#include "chrome/browser/printing/pwg_raster_converter.h"
#include "chrome/common/chrome_paths.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/pdf_render_settings.h"
#include "printing/pwg_raster_settings.h"
@@ -127,7 +128,7 @@
/*use_color=*/true,
PdfRenderSettings::Mode::NORMAL);
PwgRasterSettings pwg_settings;
- pwg_settings.duplex_mode = DuplexMode::SIMPLEX;
+ pwg_settings.duplex_mode = mojom::DuplexMode::kSimplex;
pwg_settings.odd_page_transform = PwgRasterTransformType::TRANSFORM_NORMAL;
pwg_settings.rotate_all_pages = false;
pwg_settings.reverse_page_order = false;
@@ -155,7 +156,7 @@
/*use_color=*/false,
PdfRenderSettings::Mode::NORMAL);
PwgRasterSettings pwg_settings;
- pwg_settings.duplex_mode = DuplexMode::SIMPLEX;
+ pwg_settings.duplex_mode = mojom::DuplexMode::kSimplex;
pwg_settings.odd_page_transform = PwgRasterTransformType::TRANSFORM_NORMAL;
pwg_settings.rotate_all_pages = false;
pwg_settings.reverse_page_order = false;
@@ -183,7 +184,7 @@
/*use_color=*/false,
PdfRenderSettings::Mode::NORMAL);
PwgRasterSettings pwg_settings;
- pwg_settings.duplex_mode = DuplexMode::LONG_EDGE;
+ pwg_settings.duplex_mode = mojom::DuplexMode::kLongEdge;
pwg_settings.odd_page_transform = PwgRasterTransformType::TRANSFORM_NORMAL;
pwg_settings.rotate_all_pages = false;
pwg_settings.reverse_page_order = false;
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
index 2754ceb..2470d8334 100644
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -4254,6 +4254,7 @@
]
deps += [
"//components/printing/common:mojo_interfaces",
+ "//printing/mojom",
"//services/device/public/cpp/usb",
"//services/device/public/mojom:usb",
]
diff --git a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc
index 3f29c22..4abd07a 100644
--- a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc
+++ b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc
@@ -1371,13 +1371,13 @@
void PrintPreviewHandler::SendPrintPresetOptions(bool disable_scaling,
int copies,
- int duplex,
+ mojom::DuplexMode duplex,
int request_id) {
if (!ShouldReceiveRendererMessage(request_id))
return;
FireWebUIListener("print-preset-options", base::Value(disable_scaling),
- base::Value(copies), base::Value(duplex));
+ base::Value(copies), base::Value(static_cast<int>(duplex)));
}
void PrintPreviewHandler::SendPageCountReady(int page_count,
diff --git a/chrome/browser/ui/webui/print_preview/print_preview_handler.h b/chrome/browser/ui/webui/print_preview/print_preview_handler.h
index a1ae9e0e..0250e8b 100644
--- a/chrome/browser/ui/webui/print_preview/print_preview_handler.h
+++ b/chrome/browser/ui/webui/print_preview/print_preview_handler.h
@@ -24,6 +24,7 @@
#include "mojo/public/cpp/bindings/associated_remote.h"
#include "printing/backend/print_backend.h"
#include "printing/buildflags/buildflags.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/print_job_constants.h"
namespace base {
@@ -79,7 +80,7 @@
// Send the print preset options from the document.
void SendPrintPresetOptions(bool disable_scaling,
int copies,
- int duplex,
+ mojom::DuplexMode duplex,
int request_id);
// Send the print preview page count and fit to page scaling
diff --git a/chrome/services/printing/BUILD.gn b/chrome/services/printing/BUILD.gn
index be5209ef..c02d4583 100644
--- a/chrome/services/printing/BUILD.gn
+++ b/chrome/services/printing/BUILD.gn
@@ -15,6 +15,7 @@
deps = [
"//components/crash/core/common:crash_key",
"//components/pwg_encoder",
+ "//printing/mojom",
]
public_deps = [
diff --git a/chrome/services/printing/pdf_to_pwg_raster_converter.cc b/chrome/services/printing/pdf_to_pwg_raster_converter.cc
index 471d47d..e8f07fa 100644
--- a/chrome/services/printing/pdf_to_pwg_raster_converter.cc
+++ b/chrome/services/printing/pdf_to_pwg_raster_converter.cc
@@ -14,6 +14,7 @@
#include "components/pwg_encoder/pwg_encoder.h"
#include "mojo/public/cpp/bindings/strong_binding.h"
#include "pdf/pdf.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/pdf_render_settings.h"
namespace printing {
@@ -69,16 +70,16 @@
: pwg_encoder::PwgHeaderInfo::SGRAY;
switch (bitmap_settings.duplex_mode) {
- case DuplexMode::UNKNOWN_DUPLEX_MODE:
+ case mojom::DuplexMode::kUnknownDuplexMode:
NOTREACHED();
break;
- case DuplexMode::SIMPLEX:
+ case mojom::DuplexMode::kSimplex:
// Already defaults to false/false.
break;
- case DuplexMode::LONG_EDGE:
+ case mojom::DuplexMode::kLongEdge:
header_info.duplex = true;
break;
- case DuplexMode::SHORT_EDGE:
+ case mojom::DuplexMode::kShortEdge:
header_info.duplex = true;
header_info.tumble = true;
break;
diff --git a/chrome/services/printing/public/mojom/BUILD.gn b/chrome/services/printing/public/mojom/BUILD.gn
index 498906e..c7cfd36 100644
--- a/chrome/services/printing/public/mojom/BUILD.gn
+++ b/chrome/services/printing/public/mojom/BUILD.gn
@@ -12,7 +12,10 @@
"printing_service.mojom",
]
- deps = [ "//ui/gfx/geometry/mojom" ]
+ deps = [
+ "//printing/mojom",
+ "//ui/gfx/geometry/mojom",
+ ]
public_deps = [
"//mojo/public/mojom/base",
diff --git a/chrome/services/printing/public/mojom/pdf_to_pwg_raster_converter_mojom_traits.h b/chrome/services/printing/public/mojom/pdf_to_pwg_raster_converter_mojom_traits.h
index 5eb87a8..c409da3 100644
--- a/chrome/services/printing/public/mojom/pdf_to_pwg_raster_converter_mojom_traits.h
+++ b/chrome/services/printing/public/mojom/pdf_to_pwg_raster_converter_mojom_traits.h
@@ -7,6 +7,7 @@
#include "build/build_config.h"
#include "chrome/services/printing/public/mojom/pdf_to_pwg_raster_converter.mojom.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/pwg_raster_settings.h"
namespace mojo {
@@ -61,17 +62,17 @@
template <>
struct EnumTraits<printing::mojom::PwgRasterSettings::DuplexMode,
- printing::DuplexMode> {
+ printing::mojom::DuplexMode> {
static printing::mojom::PwgRasterSettings::DuplexMode ToMojom(
- printing::DuplexMode duplex_mode) {
+ printing::mojom::DuplexMode duplex_mode) {
switch (duplex_mode) {
- case printing::DuplexMode::UNKNOWN_DUPLEX_MODE:
+ case printing::mojom::DuplexMode::kUnknownDuplexMode:
break;
- case printing::DuplexMode::SIMPLEX:
+ case printing::mojom::DuplexMode::kSimplex:
return printing::mojom::PwgRasterSettings::DuplexMode::SIMPLEX;
- case printing::DuplexMode::LONG_EDGE:
+ case printing::mojom::DuplexMode::kLongEdge:
return printing::mojom::PwgRasterSettings::DuplexMode::LONG_EDGE;
- case printing::DuplexMode::SHORT_EDGE:
+ case printing::mojom::DuplexMode::kShortEdge:
return printing::mojom::PwgRasterSettings::DuplexMode::SHORT_EDGE;
}
NOTREACHED() << "Unknown duplex mode " << static_cast<int>(duplex_mode);
@@ -79,16 +80,16 @@
}
static bool FromMojom(printing::mojom::PwgRasterSettings::DuplexMode input,
- printing::DuplexMode* output) {
+ printing::mojom::DuplexMode* output) {
switch (input) {
case printing::mojom::PwgRasterSettings::DuplexMode::SIMPLEX:
- *output = printing::DuplexMode::SIMPLEX;
+ *output = printing::mojom::DuplexMode::kSimplex;
return true;
case printing::mojom::PwgRasterSettings::DuplexMode::LONG_EDGE:
- *output = printing::DuplexMode::LONG_EDGE;
+ *output = printing::mojom::DuplexMode::kLongEdge;
return true;
case printing::mojom::PwgRasterSettings::DuplexMode::SHORT_EDGE:
- *output = printing::DuplexMode::SHORT_EDGE;
+ *output = printing::mojom::DuplexMode::kShortEdge;
return true;
}
NOTREACHED() << "Unknown duplex mode " << static_cast<int>(input);
@@ -113,7 +114,7 @@
const printing::PwgRasterSettings& settings) {
return settings.odd_page_transform;
}
- static printing::DuplexMode duplex_mode(
+ static printing::mojom::DuplexMode duplex_mode(
const printing::PwgRasterSettings& settings) {
return settings.duplex_mode;
}
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index 24c7b95..16e51ba 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -5084,6 +5084,7 @@
deps += [
"//printing",
"//printing:test_support",
+ "//printing/mojom",
]
if (enable_print_preview) {
diff --git a/components/arc/mojom/BUILD.gn b/components/arc/mojom/BUILD.gn
index c2545f1..d7cff60 100644
--- a/components/arc/mojom/BUILD.gn
+++ b/components/arc/mojom/BUILD.gn
@@ -73,6 +73,7 @@
"//components/chromeos_camera/common:camera_app_helper",
"//media/capture/video/chromeos/mojom:cros_camera",
"//mojo/public/mojom/base",
+ "//printing/mojom",
"//services/device/public/mojom:usb",
"//services/media_session/public/mojom",
"//services/resource_coordinator/public/mojom",
diff --git a/components/printing/common/BUILD.gn b/components/printing/common/BUILD.gn
index 952b299e..8b5fc72 100644
--- a/components/printing/common/BUILD.gn
+++ b/components/printing/common/BUILD.gn
@@ -20,6 +20,7 @@
"//ipc",
"//printing",
"//printing/common:common",
+ "//printing/mojom",
"//third_party/blink/public:blink_headers",
"//ui/accessibility",
"//ui/gfx/geometry",
diff --git a/components/printing/common/cloud_print_cdd_conversion.cc b/components/printing/common/cloud_print_cdd_conversion.cc
index 550efee..6129a11 100644
--- a/components/printing/common/cloud_print_cdd_conversion.cc
+++ b/components/printing/common/cloud_print_cdd_conversion.cc
@@ -15,6 +15,7 @@
#include "base/strings/string_number_conversions.h"
#include "components/cloud_devices/common/printer_description.h"
#include "printing/backend/print_backend.h"
+#include "printing/mojom/print.mojom.h"
#if defined(OS_CHROMEOS)
#include "base/feature_list.h"
@@ -27,13 +28,13 @@
namespace {
-printer::DuplexType ToCloudDuplexType(printing::DuplexMode mode) {
+printer::DuplexType ToCloudDuplexType(printing::mojom::DuplexMode mode) {
switch (mode) {
- case printing::SIMPLEX:
+ case printing::mojom::DuplexMode::kSimplex:
return printer::DuplexType::NO_DUPLEX;
- case printing::LONG_EDGE:
+ case printing::mojom::DuplexMode::kLongEdge:
return printer::DuplexType::LONG_EDGE;
- case printing::SHORT_EDGE:
+ case printing::mojom::DuplexMode::kShortEdge:
return printer::DuplexType::SHORT_EDGE;
default:
NOTREACHED();
@@ -194,7 +195,7 @@
if (semantic_info.duplex_modes.size() > 1) {
printer::DuplexCapability duplex;
- for (printing::DuplexMode mode : semantic_info.duplex_modes) {
+ for (printing::mojom::DuplexMode mode : semantic_info.duplex_modes) {
duplex.AddDefaultOption(ToCloudDuplexType(mode),
semantic_info.duplex_default == mode);
}
diff --git a/components/printing/common/print_messages.cc b/components/printing/common/print_messages.cc
index 2b03a80..876505d 100644
--- a/components/printing/common/print_messages.cc
+++ b/components/printing/common/print_messages.cc
@@ -152,8 +152,7 @@
PrintHostMsg_SetOptionsFromDocument_Params()
: is_scaling_disabled(false),
copies(0),
- duplex(printing::UNKNOWN_DUPLEX_MODE) {
-}
+ duplex(printing::mojom::DuplexMode::kUnknownDuplexMode) {}
PrintHostMsg_SetOptionsFromDocument_Params::
~PrintHostMsg_SetOptionsFromDocument_Params() {
diff --git a/components/printing/common/print_messages.h b/components/printing/common/print_messages.h
index eaf36df..5b190dbd 100644
--- a/components/printing/common/print_messages.h
+++ b/components/printing/common/print_messages.h
@@ -18,6 +18,7 @@
#include "ipc/ipc_message_macros.h"
#include "printing/buildflags/buildflags.h"
#include "printing/common/metafile_utils.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/page_range.h"
#include "printing/page_size_margins.h"
#include "printing/print_job_constants.h"
@@ -104,7 +105,7 @@
bool is_scaling_disabled;
int copies;
- printing::DuplexMode duplex;
+ printing::mojom::DuplexMode duplex;
printing::PageRanges page_ranges;
};
#endif // BUILDFLAG(ENABLE_PRINT_PREVIEW)
diff --git a/components/printing/common/printing_param_traits_macros.h b/components/printing/common/printing_param_traits_macros.h
index 3ce6d9cb..90afb03 100644
--- a/components/printing/common/printing_param_traits_macros.h
+++ b/components/printing/common/printing_param_traits_macros.h
@@ -9,6 +9,7 @@
#define COMPONENTS_PRINTING_COMMON_PRINTING_PARAM_TRAITS_MACROS_H_
#include "ipc/ipc_message_macros.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/print_job_constants.h"
// TODO(dgn) move all those macros back to
@@ -16,8 +17,8 @@
// single generator. (main tracking bug: crbug.com/450822)
IPC_ENUM_TRAITS_MAX_VALUE(printing::MarginType,
printing::MARGIN_TYPE_LAST)
-IPC_ENUM_TRAITS_MIN_MAX_VALUE(printing::DuplexMode,
- printing::UNKNOWN_DUPLEX_MODE,
- printing::SHORT_EDGE)
+IPC_ENUM_TRAITS_MIN_MAX_VALUE(printing::mojom::DuplexMode,
+ printing::mojom::DuplexMode::kUnknownDuplexMode,
+ printing::mojom::DuplexMode::kShortEdge)
#endif // COMPONENTS_PRINTING_COMMON_PRINTING_PARAM_TRAITS_MACROS_H_
diff --git a/components/printing/renderer/print_render_frame_helper.cc b/components/printing/renderer/print_render_frame_helper.cc
index 7a2cce2..38390c1 100644
--- a/components/printing/renderer/print_render_frame_helper.cc
+++ b/components/printing/renderer/print_render_frame_helper.cc
@@ -85,12 +85,6 @@
"mismatching enums: " #a)
#endif
-// Check blink and printing enums are kept in sync.
-STATIC_ASSERT_ENUM(blink::kWebUnknownDuplexMode, UNKNOWN_DUPLEX_MODE);
-STATIC_ASSERT_ENUM(blink::kWebSimplex, SIMPLEX);
-STATIC_ASSERT_ENUM(blink::kWebLongEdge, LONG_EDGE);
-STATIC_ASSERT_ENUM(blink::kWebShortEdge, SHORT_EDGE);
-
enum PrintPreviewHelperEvents {
PREVIEW_EVENT_REQUESTED, // Received a request for a preview document.
PREVIEW_EVENT_CACHE_HIT, // Unused.
@@ -2088,7 +2082,7 @@
options->is_scaling_disabled = PDFShouldDisableScalingBasedOnPreset(
preset_options, print_pages_params_->params, false);
options->copies = preset_options.copies;
- options->duplex = static_cast<DuplexMode>(preset_options.duplex_mode);
+ options->duplex = preset_options.duplex_mode;
return true;
}
diff --git a/components/printing/test/BUILD.gn b/components/printing/test/BUILD.gn
index 65e63db..0e30276 100644
--- a/components/printing/test/BUILD.gn
+++ b/components/printing/test/BUILD.gn
@@ -24,6 +24,7 @@
"//ipc",
"//printing",
"//printing:test_support",
+ "//printing/mojom",
"//skia",
"//testing/gtest",
"//ui/gfx/geometry",
diff --git a/components/printing/test/print_render_frame_helper_browsertest.cc b/components/printing/test/print_render_frame_helper_browsertest.cc
index 1c1abf7..9952933 100644
--- a/components/printing/test/print_render_frame_helper_browsertest.cc
+++ b/components/printing/test/print_render_frame_helper_browsertest.cc
@@ -26,6 +26,7 @@
#include "content/public/test/render_view_test.h"
#include "ipc/ipc_listener.h"
#include "printing/buildflags/buildflags.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/print_job_constants.h"
#include "printing/units.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -119,7 +120,8 @@
dict->SetBoolean(kSettingCollate, false);
dict->SetInteger(kSettingColor, GRAY);
dict->SetInteger(kSettingPrinterType, static_cast<int>(PrinterType::kPdf));
- dict->SetInteger(kSettingDuplexMode, SIMPLEX);
+ dict->SetInteger(kSettingDuplexMode,
+ static_cast<int>(mojom::DuplexMode::kSimplex));
dict->SetInteger(kSettingCopies, 1);
dict->SetString(kSettingDeviceName, "dummy");
dict->SetInteger(kPreviewUIID, 4);
diff --git a/content/renderer/BUILD.gn b/content/renderer/BUILD.gn
index 2a6417d..122f348 100644
--- a/content/renderer/BUILD.gn
+++ b/content/renderer/BUILD.gn
@@ -640,6 +640,7 @@
"//ppapi/host",
"//ppapi/proxy",
"//ppapi/shared_impl",
+ "//printing/mojom",
"//third_party/libvpx",
"//third_party/opus",
"//ui/base/cursor",
diff --git a/content/renderer/pepper/pepper_plugin_instance_impl.cc b/content/renderer/pepper/pepper_plugin_instance_impl.cc
index 0d1c9f6c..c35ab64 100644
--- a/content/renderer/pepper/pepper_plugin_instance_impl.cc
+++ b/content/renderer/pepper/pepper_plugin_instance_impl.cc
@@ -91,6 +91,7 @@
#include "ppapi/thunk/enter.h"
#include "ppapi/thunk/ppb_buffer_api.h"
#include "printing/buildflags/buildflags.h"
+#include "printing/mojom/print.mojom.h"
#include "skia/ext/platform_canvas.h"
#include "third_party/blink/public/common/input/web_input_event.h"
#include "third_party/blink/public/common/input/web_keyboard_event.h"
@@ -2013,16 +2014,17 @@
preset_options->is_scaling_disabled = PP_ToBool(options.is_scaling_disabled);
switch (options.duplex) {
case PP_PRIVATEDUPLEXMODE_SIMPLEX:
- preset_options->duplex_mode = blink::kWebSimplex;
+ preset_options->duplex_mode = printing::mojom::DuplexMode::kSimplex;
break;
case PP_PRIVATEDUPLEXMODE_SHORT_EDGE:
- preset_options->duplex_mode = blink::kWebShortEdge;
+ preset_options->duplex_mode = printing::mojom::DuplexMode::kShortEdge;
break;
case PP_PRIVATEDUPLEXMODE_LONG_EDGE:
- preset_options->duplex_mode = blink::kWebLongEdge;
+ preset_options->duplex_mode = printing::mojom::DuplexMode::kLongEdge;
break;
default:
- preset_options->duplex_mode = blink::kWebUnknownDuplexMode;
+ preset_options->duplex_mode =
+ printing::mojom::DuplexMode::kUnknownDuplexMode;
break;
}
preset_options->copies = options.copies;
diff --git a/printing/BUILD.gn b/printing/BUILD.gn
index 7904e071..14a62f05 100644
--- a/printing/BUILD.gn
+++ b/printing/BUILD.gn
@@ -109,6 +109,7 @@
"//base/third_party/dynamic_annotations",
"//cc/paint",
"//printing/common",
+ "//printing/mojom",
"//skia",
"//third_party/icu",
"//ui/accessibility",
@@ -343,6 +344,7 @@
"//base/test:run_all_unittests",
"//base/test:test_support",
"//printing/common",
+ "//printing/mojom",
"//testing/gmock",
"//testing/gtest",
"//ui/base",
diff --git a/printing/backend/cups_helper.cc b/printing/backend/cups_helper.cc
index c28261d6..7c9cd9b 100644
--- a/printing/backend/cups_helper.cc
+++ b/printing/backend/cups_helper.cc
@@ -21,6 +21,7 @@
#include "base/values.h"
#include "printing/backend/print_backend.h"
#include "printing/backend/print_backend_consts.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/printing_utils.h"
#include "printing/units.h"
#include "url/gurl.h"
@@ -173,8 +174,8 @@
}
void GetDuplexSettings(ppd_file_t* ppd,
- std::vector<DuplexMode>* duplex_modes,
- DuplexMode* duplex_default) {
+ std::vector<mojom::DuplexMode>* duplex_modes,
+ mojom::DuplexMode* duplex_default) {
ppd_choice_t* duplex_choice = ppdFindMarkedChoice(ppd, kDuplex);
ppd_option_t* option = ppdFindOption(ppd, kDuplex);
if (!option)
@@ -187,24 +188,24 @@
duplex_choice = ppdFindChoice(option, option->defchoice);
if (ppdFindChoice(option, kDuplexNone))
- duplex_modes->push_back(SIMPLEX);
+ duplex_modes->push_back(mojom::DuplexMode::kSimplex);
if (ppdFindChoice(option, kDuplexNoTumble))
- duplex_modes->push_back(LONG_EDGE);
+ duplex_modes->push_back(mojom::DuplexMode::kLongEdge);
if (ppdFindChoice(option, kDuplexTumble))
- duplex_modes->push_back(SHORT_EDGE);
+ duplex_modes->push_back(mojom::DuplexMode::kShortEdge);
if (!duplex_choice)
return;
const char* choice = duplex_choice->choice;
if (EqualsCaseInsensitiveASCII(choice, kDuplexNone)) {
- *duplex_default = SIMPLEX;
+ *duplex_default = mojom::DuplexMode::kSimplex;
} else if (EqualsCaseInsensitiveASCII(choice, kDuplexTumble)) {
- *duplex_default = SHORT_EDGE;
+ *duplex_default = mojom::DuplexMode::kShortEdge;
} else {
- *duplex_default = LONG_EDGE;
+ *duplex_default = mojom::DuplexMode::kLongEdge;
}
}
diff --git a/printing/backend/cups_helper_unittest.cc b/printing/backend/cups_helper_unittest.cc
index 459f00c..53dc4602 100644
--- a/printing/backend/cups_helper_unittest.cc
+++ b/printing/backend/cups_helper_unittest.cc
@@ -5,6 +5,7 @@
#include "printing/backend/cups_helper.h"
#include "printing/backend/print_backend.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/print_settings.h"
#include "printing/printing_utils.h"
#include "testing/gmock/include/gmock/gmock.h"
@@ -60,8 +61,10 @@
EXPECT_TRUE(caps.collate_default);
EXPECT_EQ(caps.copies_max, 9999);
EXPECT_THAT(caps.duplex_modes,
- testing::UnorderedElementsAre(SIMPLEX, LONG_EDGE, SHORT_EDGE));
- EXPECT_EQ(SHORT_EDGE, caps.duplex_default);
+ testing::UnorderedElementsAre(mojom::DuplexMode::kSimplex,
+ mojom::DuplexMode::kLongEdge,
+ mojom::DuplexMode::kShortEdge));
+ EXPECT_EQ(mojom::DuplexMode::kShortEdge, caps.duplex_default);
EXPECT_FALSE(caps.color_changeable);
EXPECT_FALSE(caps.color_default);
}
@@ -88,8 +91,10 @@
EXPECT_TRUE(caps.collate_default);
EXPECT_EQ(caps.copies_max, 9999);
EXPECT_THAT(caps.duplex_modes,
- testing::UnorderedElementsAre(SIMPLEX, LONG_EDGE, SHORT_EDGE));
- EXPECT_EQ(SIMPLEX, caps.duplex_default);
+ testing::UnorderedElementsAre(mojom::DuplexMode::kSimplex,
+ mojom::DuplexMode::kLongEdge,
+ mojom::DuplexMode::kShortEdge));
+ EXPECT_EQ(mojom::DuplexMode::kSimplex, caps.duplex_default);
EXPECT_FALSE(caps.color_changeable);
EXPECT_FALSE(caps.color_default);
}
@@ -113,7 +118,7 @@
EXPECT_TRUE(caps.collate_default);
EXPECT_EQ(caps.copies_max, 9999);
EXPECT_THAT(caps.duplex_modes, testing::UnorderedElementsAre());
- EXPECT_EQ(UNKNOWN_DUPLEX_MODE, caps.duplex_default);
+ EXPECT_EQ(mojom::DuplexMode::kUnknownDuplexMode, caps.duplex_default);
EXPECT_FALSE(caps.color_changeable);
EXPECT_FALSE(caps.color_default);
}
@@ -146,8 +151,10 @@
EXPECT_TRUE(caps.collate_default);
EXPECT_EQ(caps.copies_max, 9999);
EXPECT_THAT(caps.duplex_modes,
- testing::UnorderedElementsAre(SIMPLEX, LONG_EDGE, SHORT_EDGE));
- EXPECT_EQ(SHORT_EDGE, caps.duplex_default);
+ testing::UnorderedElementsAre(mojom::DuplexMode::kSimplex,
+ mojom::DuplexMode::kLongEdge,
+ mojom::DuplexMode::kShortEdge));
+ EXPECT_EQ(mojom::DuplexMode::kShortEdge, caps.duplex_default);
EXPECT_TRUE(caps.color_changeable);
EXPECT_TRUE(caps.color_default);
}
@@ -186,8 +193,10 @@
EXPECT_TRUE(caps.collate_default);
EXPECT_EQ(caps.copies_max, 9999);
EXPECT_THAT(caps.duplex_modes,
- testing::UnorderedElementsAre(SIMPLEX, LONG_EDGE, SHORT_EDGE));
- EXPECT_EQ(LONG_EDGE, caps.duplex_default);
+ testing::UnorderedElementsAre(mojom::DuplexMode::kSimplex,
+ mojom::DuplexMode::kLongEdge,
+ mojom::DuplexMode::kShortEdge));
+ EXPECT_EQ(mojom::DuplexMode::kLongEdge, caps.duplex_default);
EXPECT_TRUE(caps.color_changeable);
EXPECT_FALSE(caps.color_default);
}
@@ -325,8 +334,10 @@
PrinterSemanticCapsAndDefaults caps;
EXPECT_TRUE(ParsePpdCapabilities("test", "", kTestPpdData, &caps));
EXPECT_THAT(caps.duplex_modes,
- testing::UnorderedElementsAre(SIMPLEX, LONG_EDGE, SHORT_EDGE));
- EXPECT_EQ(SHORT_EDGE, caps.duplex_default);
+ testing::UnorderedElementsAre(mojom::DuplexMode::kSimplex,
+ mojom::DuplexMode::kLongEdge,
+ mojom::DuplexMode::kShortEdge));
+ EXPECT_EQ(mojom::DuplexMode::kShortEdge, caps.duplex_default);
}
}
diff --git a/printing/backend/cups_ipp_helper.cc b/printing/backend/cups_ipp_helper.cc
index 4645ad9..02ea155 100644
--- a/printing/backend/cups_ipp_helper.cc
+++ b/printing/backend/cups_ipp_helper.cc
@@ -19,6 +19,7 @@
#include "printing/backend/cups_ipp_constants.h"
#include "printing/backend/cups_printer.h"
#include "printing/backend/print_backend_consts.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/printing_utils.h"
#include "printing/units.h"
@@ -48,7 +49,7 @@
struct DuplexMap {
const char* name;
- DuplexMode mode;
+ mojom::DuplexMode mode;
};
const ColorMap kColorList[]{
@@ -57,9 +58,9 @@
};
const DuplexMap kDuplexList[]{
- {CUPS_SIDES_ONE_SIDED, SIMPLEX},
- {CUPS_SIDES_TWO_SIDED_PORTRAIT, LONG_EDGE},
- {CUPS_SIDES_TWO_SIDED_LANDSCAPE, SHORT_EDGE},
+ {CUPS_SIDES_ONE_SIDED, mojom::DuplexMode::kSimplex},
+ {CUPS_SIDES_TWO_SIDED_PORTRAIT, mojom::DuplexMode::kLongEdge},
+ {CUPS_SIDES_TWO_SIDED_LANDSCAPE, mojom::DuplexMode::kShortEdge},
};
ColorModel ColorModelFromIppColor(base::StringPiece ippColor) {
@@ -72,12 +73,12 @@
return UNKNOWN_COLOR_MODEL;
}
-DuplexMode DuplexModeFromIpp(base::StringPiece ipp_duplex) {
+mojom::DuplexMode DuplexModeFromIpp(base::StringPiece ipp_duplex) {
for (const DuplexMap& entry : kDuplexList) {
if (base::EqualsCaseInsensitiveASCII(ipp_duplex, entry.name))
return entry.mode;
}
- return UNKNOWN_DUPLEX_MODE;
+ return mojom::DuplexMode::kUnknownDuplexMode;
}
ColorModel DefaultColorModel(const CupsOptionProvider& printer) {
@@ -140,14 +141,14 @@
std::vector<base::StringPiece> duplex_modes =
printer.GetSupportedOptionValueStrings(kIppDuplex);
for (base::StringPiece duplex : duplex_modes) {
- DuplexMode duplex_mode = DuplexModeFromIpp(duplex);
- if (duplex_mode != UNKNOWN_DUPLEX_MODE)
+ mojom::DuplexMode duplex_mode = DuplexModeFromIpp(duplex);
+ if (duplex_mode != mojom::DuplexMode::kUnknownDuplexMode)
printer_info->duplex_modes.push_back(duplex_mode);
}
ipp_attribute_t* attr = printer.GetDefaultOptionValue(kIppDuplex);
printer_info->duplex_default =
attr ? DuplexModeFromIpp(ippGetString(attr, 0, nullptr))
- : UNKNOWN_DUPLEX_MODE;
+ : mojom::DuplexMode::kUnknownDuplexMode;
}
void CopiesRange(const CupsOptionProvider& printer,
diff --git a/printing/backend/cups_ipp_helper_unittest.cc b/printing/backend/cups_ipp_helper_unittest.cc
index 05ce5f6f..104f1f6 100644
--- a/printing/backend/cups_ipp_helper_unittest.cc
+++ b/printing/backend/cups_ipp_helper_unittest.cc
@@ -14,6 +14,7 @@
#include "base/test/scoped_feature_list.h"
#include "build/build_config.h"
#include "printing/backend/cups_printer.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/printing_features.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -164,8 +165,9 @@
CapsAndDefaultsFromPrinter(*printer_, &caps);
EXPECT_THAT(caps.duplex_modes,
- testing::UnorderedElementsAre(SIMPLEX, LONG_EDGE));
- EXPECT_EQ(SIMPLEX, caps.duplex_default);
+ testing::UnorderedElementsAre(mojom::DuplexMode::kSimplex,
+ mojom::DuplexMode::kLongEdge));
+ EXPECT_EQ(mojom::DuplexMode::kSimplex, caps.duplex_default);
}
TEST_F(PrintBackendCupsIppHelperTest, DuplexNotSupported) {
@@ -176,8 +178,9 @@
PrinterSemanticCapsAndDefaults caps;
CapsAndDefaultsFromPrinter(*printer_, &caps);
- EXPECT_THAT(caps.duplex_modes, testing::UnorderedElementsAre(SIMPLEX));
- EXPECT_EQ(SIMPLEX, caps.duplex_default);
+ EXPECT_THAT(caps.duplex_modes,
+ testing::UnorderedElementsAre(mojom::DuplexMode::kSimplex));
+ EXPECT_EQ(mojom::DuplexMode::kSimplex, caps.duplex_default);
}
TEST_F(PrintBackendCupsIppHelperTest, A4PaperSupported) {
diff --git a/printing/backend/print_backend.h b/printing/backend/print_backend.h
index 2c3848a..dac33e0 100644
--- a/printing/backend/print_backend.h
+++ b/printing/backend/print_backend.h
@@ -11,6 +11,7 @@
#include "base/memory/ref_counted.h"
#include "build/build_config.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/print_job_constants.h"
#include "printing/printing_export.h"
#include "ui/gfx/geometry/size.h"
@@ -98,8 +99,8 @@
// |copies_max| should never be < 1.
int32_t copies_max = 1;
- std::vector<DuplexMode> duplex_modes;
- DuplexMode duplex_default = UNKNOWN_DUPLEX_MODE;
+ std::vector<mojom::DuplexMode> duplex_modes;
+ mojom::DuplexMode duplex_default = mojom::DuplexMode::kUnknownDuplexMode;
bool color_changeable = false;
bool color_default = false;
diff --git a/printing/backend/print_backend_win.cc b/printing/backend/print_backend_win.cc
index 2d37fdd..728894f 100644
--- a/printing/backend/print_backend_win.cc
+++ b/printing/backend/print_backend_win.cc
@@ -22,6 +22,7 @@
#include "printing/backend/print_backend_consts.h"
#include "printing/backend/printing_info_win.h"
#include "printing/backend/win_helper.h"
+#include "printing/mojom/print.mojom.h"
namespace printing {
@@ -270,13 +271,13 @@
if (user_settings->dmFields & DM_DUPLEX) {
switch (user_settings->dmDuplex) {
case DMDUP_SIMPLEX:
- caps.duplex_default = SIMPLEX;
+ caps.duplex_default = mojom::DuplexMode::kSimplex;
break;
case DMDUP_VERTICAL:
- caps.duplex_default = LONG_EDGE;
+ caps.duplex_default = mojom::DuplexMode::kLongEdge;
break;
case DMDUP_HORIZONTAL:
- caps.duplex_default = SHORT_EDGE;
+ caps.duplex_default = mojom::DuplexMode::kShortEdge;
break;
default:
NOTREACHED();
@@ -288,7 +289,7 @@
} else {
LOG(WARNING) << "Fallback to color/simplex mode.";
caps.color_default = caps.color_changeable;
- caps.duplex_default = SIMPLEX;
+ caps.duplex_default = mojom::DuplexMode::kSimplex;
}
// Get printer capabilities. For more info see here:
@@ -298,10 +299,10 @@
caps.color_model = printing::COLOR;
caps.bw_model = printing::GRAY;
- caps.duplex_modes.push_back(SIMPLEX);
+ caps.duplex_modes.push_back(mojom::DuplexMode::kSimplex);
if (DeviceCapabilities(name, port, DC_DUPLEX, nullptr, nullptr) == 1) {
- caps.duplex_modes.push_back(LONG_EDGE);
- caps.duplex_modes.push_back(SHORT_EDGE);
+ caps.duplex_modes.push_back(mojom::DuplexMode::kLongEdge);
+ caps.duplex_modes.push_back(mojom::DuplexMode::kShortEdge);
}
caps.collate_capable =
diff --git a/printing/mojom/BUILD.gn b/printing/mojom/BUILD.gn
new file mode 100644
index 0000000..09a14ce
--- /dev/null
+++ b/printing/mojom/BUILD.gn
@@ -0,0 +1,9 @@
+# Copyright 2020 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//mojo/public/tools/bindings/mojom.gni")
+
+mojom("mojom") {
+ sources = [ "print.mojom" ]
+}
diff --git a/printing/mojom/OWNERS b/printing/mojom/OWNERS
new file mode 100644
index 0000000..08850f4
--- /dev/null
+++ b/printing/mojom/OWNERS
@@ -0,0 +1,2 @@
+per-file *.mojom=set noparent
+per-file *.mojom=file://ipc/SECURITY_OWNERS
diff --git a/printing/mojom/print.mojom b/printing/mojom/print.mojom
new file mode 100644
index 0000000..6b92411
--- /dev/null
+++ b/printing/mojom/print.mojom
@@ -0,0 +1,13 @@
+// Copyright 2020 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+module printing.mojom;
+
+// Print job duplex mode values.
+enum DuplexMode {
+ kUnknownDuplexMode = -1,
+ kSimplex,
+ kLongEdge,
+ kShortEdge,
+};
diff --git a/printing/print_job_constants.h b/printing/print_job_constants.h
index d86e2df..4d36a42 100644
--- a/printing/print_job_constants.h
+++ b/printing/print_job_constants.h
@@ -105,14 +105,6 @@
PRINTING_EXPORT extern const char kXeroxBW[];
#endif
-// Print job duplex mode values.
-enum DuplexMode {
- UNKNOWN_DUPLEX_MODE = -1,
- SIMPLEX,
- LONG_EDGE,
- SHORT_EDGE,
-};
-
// Specifies the horizontal alignment of the headers and footers.
enum HorizontalHeaderFooterPosition { LEFT, CENTER, RIGHT };
diff --git a/printing/print_settings.cc b/printing/print_settings.cc
index d5c47abb..4f6df32e 100644
--- a/printing/print_settings.cc
+++ b/printing/print_settings.cc
@@ -253,7 +253,7 @@
collate_ = false;
color_ = UNKNOWN_COLOR_MODEL;
copies_ = 0;
- duplex_mode_ = UNKNOWN_DUPLEX_MODE;
+ duplex_mode_ = mojom::DuplexMode::kUnknownDuplexMode;
device_name_.clear();
requested_media_ = RequestedMedia();
page_setup_device_units_.Clear();
diff --git a/printing/print_settings.h b/printing/print_settings.h
index 43b9b46..6eac8b32 100644
--- a/printing/print_settings.h
+++ b/printing/print_settings.h
@@ -11,6 +11,7 @@
#include "base/macros.h"
#include "base/optional.h"
#include "base/strings/string16.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/page_range.h"
#include "printing/page_setup.h"
#include "printing/print_job_constants.h"
@@ -174,8 +175,10 @@
void set_copies(int copies) { copies_ = copies; }
int copies() const { return copies_; }
- void set_duplex_mode(DuplexMode duplex_mode) { duplex_mode_ = duplex_mode; }
- DuplexMode duplex_mode() const { return duplex_mode_; }
+ void set_duplex_mode(mojom::DuplexMode duplex_mode) {
+ duplex_mode_ = duplex_mode;
+ }
+ mojom::DuplexMode duplex_mode() const { return duplex_mode_; }
#if defined(OS_WIN)
void set_print_text_with_gdi(bool use_gdi) { print_text_with_gdi_ = use_gdi; }
@@ -256,7 +259,7 @@
int copies_;
// Duplex type user wants to use.
- DuplexMode duplex_mode_;
+ mojom::DuplexMode duplex_mode_;
// Printer device name as opened by the OS.
base::string16 device_name_;
diff --git a/printing/print_settings_conversion.cc b/printing/print_settings_conversion.cc
index e01d1952..1f90d32 100644
--- a/printing/print_settings_conversion.cc
+++ b/printing/print_settings_conversion.cc
@@ -17,6 +17,7 @@
#include "base/time/time.h"
#include "base/values.h"
#include "build/build_config.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/print_job_constants.h"
#include "printing/print_settings.h"
#include "printing/units.h"
@@ -192,7 +193,8 @@
settings->SetOrientation(landscape.value());
settings->set_device_name(
base::UTF8ToUTF16(*job_settings.FindStringKey(kSettingDeviceName)));
- settings->set_duplex_mode(static_cast<DuplexMode>(duplex_mode.value()));
+ settings->set_duplex_mode(
+ static_cast<mojom::DuplexMode>(duplex_mode.value()));
settings->set_color(static_cast<ColorModel>(color.value()));
settings->set_scale_factor(static_cast<double>(scale_factor.value()) / 100.0);
settings->set_rasterize_pdf(rasterize_pdf.value());
@@ -256,7 +258,8 @@
job_settings->SetBoolean(kSettingCollate, settings.collate());
job_settings->SetInteger(kSettingCopies, settings.copies());
job_settings->SetInteger(kSettingColor, settings.color());
- job_settings->SetInteger(kSettingDuplexMode, settings.duplex_mode());
+ job_settings->SetInteger(kSettingDuplexMode,
+ static_cast<int>(settings.duplex_mode()));
job_settings->SetBoolean(kSettingLandscape, settings.landscape());
job_settings->SetString(kSettingDeviceName, settings.device_name());
job_settings->SetInteger(kSettingPagesPerSheet, settings.pages_per_sheet());
diff --git a/printing/printing_context.cc b/printing/printing_context.cc
index a85f6812..69ac356 100644
--- a/printing/printing_context.cc
+++ b/printing/printing_context.cc
@@ -8,6 +8,7 @@
#include "base/check.h"
#include "base/notreached.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/page_setup.h"
#include "printing/page_size_margins.h"
#include "printing/print_job_constants.h"
@@ -79,7 +80,9 @@
pdf_settings.SetIntKey(kSettingColor, printing::COLOR);
pdf_settings.SetIntKey(kSettingDpiHorizontal, kPointsPerInch);
pdf_settings.SetIntKey(kSettingDpiVertical, kPointsPerInch);
- pdf_settings.SetIntKey(kSettingDuplexMode, printing::SIMPLEX);
+ pdf_settings.SetIntKey(
+ kSettingDuplexMode,
+ static_cast<int>(printing::mojom::DuplexMode::kSimplex));
pdf_settings.SetBoolKey(kSettingLandscape, false);
pdf_settings.SetStringKey(kSettingDeviceName, "");
pdf_settings.SetIntKey(kSettingPrinterType,
diff --git a/printing/printing_context_chromeos.cc b/printing/printing_context_chromeos.cc
index a1241e9b5..3d52830 100644
--- a/printing/printing_context_chromeos.cc
+++ b/printing/printing_context_chromeos.cc
@@ -26,6 +26,7 @@
#include "printing/backend/cups_ipp_helper.h"
#include "printing/backend/cups_printer.h"
#include "printing/metafile.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/print_job_constants.h"
#include "printing/print_settings.h"
#include "printing/printing_features.h"
@@ -121,13 +122,13 @@
const PrintSettings& settings) {
const char* sides = nullptr;
switch (settings.duplex_mode()) {
- case SIMPLEX:
+ case mojom::DuplexMode::kSimplex:
sides = CUPS_SIDES_ONE_SIDED;
break;
- case LONG_EDGE:
+ case mojom::DuplexMode::kLongEdge:
sides = CUPS_SIDES_TWO_SIDED_PORTRAIT;
break;
- case SHORT_EDGE:
+ case mojom::DuplexMode::kShortEdge:
sides = CUPS_SIDES_TWO_SIDED_LANDSCAPE;
break;
default:
diff --git a/printing/printing_context_mac.h b/printing/printing_context_mac.h
index 4bd88bdd..06cdc0e 100644
--- a/printing/printing_context_mac.h
+++ b/printing/printing_context_mac.h
@@ -10,6 +10,7 @@
#include "base/mac/scoped_nsobject.h"
#include "base/macros.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/print_job_constants.h"
#include "printing/printing_context.h"
@@ -82,7 +83,7 @@
// Sets duplex mode in PMPrintSettings.
// Returns true if duplex mode is set.
- bool SetDuplexModeInPrintSettings(DuplexMode mode);
+ bool SetDuplexModeInPrintSettings(mojom::DuplexMode mode);
// Sets output color mode in PMPrintSettings.
// Returns true if color mode is set.
diff --git a/printing/printing_context_mac.mm b/printing/printing_context_mac.mm
index 45e0bbbdd..1fd80b1 100644
--- a/printing/printing_context_mac.mm
+++ b/printing/printing_context_mac.mm
@@ -363,19 +363,19 @@
return true;
}
-bool PrintingContextMac::SetDuplexModeInPrintSettings(DuplexMode mode) {
+bool PrintingContextMac::SetDuplexModeInPrintSettings(mojom::DuplexMode mode) {
PMDuplexMode duplexSetting;
switch (mode) {
- case LONG_EDGE:
+ case mojom::DuplexMode::kLongEdge:
duplexSetting = kPMDuplexNoTumble;
break;
- case SHORT_EDGE:
+ case mojom::DuplexMode::kShortEdge:
duplexSetting = kPMDuplexTumble;
break;
- case SIMPLEX:
+ case mojom::DuplexMode::kSimplex:
duplexSetting = kPMDuplexNone;
break;
- default: // UNKNOWN_DUPLEX_MODE
+ default: // kUnknownDuplexMode
return true;
}
diff --git a/printing/printing_context_win.cc b/printing/printing_context_win.cc
index 9ab4d30..414cacf 100644
--- a/printing/printing_context_win.cc
+++ b/printing/printing_context_win.cc
@@ -21,6 +21,7 @@
#include "printing/backend/win_helper.h"
#include "printing/buildflags/buildflags.h"
#include "printing/metafile_skia.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/print_settings_initializer_win.h"
#include "printing/printed_document.h"
#include "printing/printing_context_system_dialog_win.h"
@@ -183,19 +184,19 @@
}
switch (settings_->duplex_mode()) {
- case LONG_EDGE:
+ case mojom::DuplexMode::kLongEdge:
dev_mode->dmFields |= DM_DUPLEX;
dev_mode->dmDuplex = DMDUP_VERTICAL;
break;
- case SHORT_EDGE:
+ case mojom::DuplexMode::kShortEdge:
dev_mode->dmFields |= DM_DUPLEX;
dev_mode->dmDuplex = DMDUP_HORIZONTAL;
break;
- case SIMPLEX:
+ case mojom::DuplexMode::kSimplex:
dev_mode->dmFields |= DM_DUPLEX;
dev_mode->dmDuplex = DMDUP_SIMPLEX;
break;
- default: // UNKNOWN_DUPLEX_MODE
+ default: // kUnknownDuplexMode
break;
}
diff --git a/printing/pwg_raster_settings.h b/printing/pwg_raster_settings.h
index b1c3709..11c65b3 100644
--- a/printing/pwg_raster_settings.h
+++ b/printing/pwg_raster_settings.h
@@ -5,6 +5,7 @@
#ifndef PRINTING_PWG_RASTER_SETTINGS_H_
#define PRINTING_PWG_RASTER_SETTINGS_H_
+#include "printing/mojom/print.mojom.h"
#include "printing/print_job_constants.h"
namespace printing {
@@ -18,7 +19,7 @@
};
struct PwgRasterSettings {
- DuplexMode duplex_mode;
+ mojom::DuplexMode duplex_mode;
// How to transform odd-numbered pages.
PwgRasterTransformType odd_page_transform;
// Rotate all pages (on top of odd-numbered page transform).
diff --git a/third_party/blink/public/BUILD.gn b/third_party/blink/public/BUILD.gn
index 9e5eb38..5e148e6 100644
--- a/third_party/blink/public/BUILD.gn
+++ b/third_party/blink/public/BUILD.gn
@@ -444,6 +444,7 @@
"//media/webrtc:webrtc",
"//mojo/public/cpp/bindings:bindings",
"//mojo/public/cpp/system:system",
+ "//printing/mojom",
"//services/device/public/mojom:mojom_shared_cpp_sources",
"//services/network/public/cpp:cpp",
"//services/network/public/mojom",
diff --git a/third_party/blink/public/web/DEPS b/third_party/blink/public/web/DEPS
index d4943b4..f7bd2da 100644
--- a/third_party/blink/public/web/DEPS
+++ b/third_party/blink/public/web/DEPS
@@ -26,6 +26,7 @@
"+components/viz/common/surfaces/frame_sink_id.h",
"+mojo/public",
"+net/cookies/site_for_cookies.h",
+ "+printing/mojom/print.mojom-shared.h",
"+services/metrics/public/cpp/ukm_source_id.h",
"+services/network/public/cpp/web_sandbox_flags.h",
"+services/network/public/mojom/web_sandbox_flags.mojom-shared.h",
diff --git a/third_party/blink/public/web/web_print_preset_options.h b/third_party/blink/public/web/web_print_preset_options.h
index f81d7b06..90f4ef6 100644
--- a/third_party/blink/public/web/web_print_preset_options.h
+++ b/third_party/blink/public/web/web_print_preset_options.h
@@ -7,18 +7,13 @@
#include <vector>
+#include "printing/mojom/print.mojom-shared.h"
+
namespace blink {
struct WebPageRange;
typedef std::vector<WebPageRange> WebPageRanges;
-enum WebDuplexMode {
- kWebUnknownDuplexMode = -1,
- kWebSimplex,
- kWebLongEdge,
- kWebShortEdge
-};
-
struct WebPageRange {
int from;
int to;
@@ -28,7 +23,7 @@
WebPrintPresetOptions()
: is_scaling_disabled(false),
copies(0),
- duplex_mode(kWebUnknownDuplexMode) {}
+ duplex_mode(printing::mojom::DuplexMode::kUnknownDuplexMode) {}
// Specifies whether scaling is disabled.
bool is_scaling_disabled;
@@ -37,7 +32,7 @@
int copies;
// Specifies duplex mode to be used for printing.
- WebDuplexMode duplex_mode;
+ printing::mojom::DuplexMode duplex_mode;
// Specifies page range to be used for printing.
WebPageRanges page_ranges;
diff --git a/ui/gtk/BUILD.gn b/ui/gtk/BUILD.gn
index 8ae1710..e1377a5 100644
--- a/ui/gtk/BUILD.gn
+++ b/ui/gtk/BUILD.gn
@@ -92,6 +92,11 @@
"//ui/strings",
"//ui/views",
]
+
+ if (use_cups) {
+ deps += [ "//printing/mojom" ]
+ }
+
public_deps = [ ":gtk_ui_delegate" ]
if (use_x11 || ozone_platform_x11) {
diff --git a/ui/gtk/print_dialog_gtk.cc b/ui/gtk/print_dialog_gtk.cc
index 2450103d..7368b29 100644
--- a/ui/gtk/print_dialog_gtk.cc
+++ b/ui/gtk/print_dialog_gtk.cc
@@ -33,6 +33,10 @@
#include "ui/gtk/gtk_util.h"
#include "ui/gtk/printing_gtk_util.h"
+#if defined(USE_CUPS)
+#include "printing/mojom/print.mojom.h"
+#endif
+
using printing::PageRanges;
using printing::PrintSettings;
@@ -244,19 +248,20 @@
gtk_print_settings_set(gtk_settings_, color_setting_name.c_str(),
color_value.c_str());
- if (settings->duplex_mode() != printing::UNKNOWN_DUPLEX_MODE) {
+ if (settings->duplex_mode() !=
+ printing::mojom::DuplexMode::kUnknownDuplexMode) {
const char* cups_duplex_mode = nullptr;
switch (settings->duplex_mode()) {
- case printing::LONG_EDGE:
+ case printing::mojom::DuplexMode::kLongEdge:
cups_duplex_mode = kDuplexNoTumble;
break;
- case printing::SHORT_EDGE:
+ case printing::mojom::DuplexMode::kShortEdge:
cups_duplex_mode = kDuplexTumble;
break;
- case printing::SIMPLEX:
+ case printing::mojom::DuplexMode::kSimplex:
cups_duplex_mode = kDuplexNone;
break;
- default: // UNKNOWN_DUPLEX_MODE
+ default: // kUnknownDuplexMode
NOTREACHED();
break;
}