Commit c471f36c authored by Lei Zhang's avatar Lei Zhang Committed by Commit Bot

Simplify printing::GetPrintTicket().

This function takes a PrinterType and a separate boolean to indicate the
printer is a cloud printer. This was likely written before enum
PrinterType gained a |kCloudPrinter| enum value. Now that the
|kCloudPrinter| value exists, just use that and get rid of the separate
boolean.

Change-Id: I14ca569167d49bf273c02e4d24cdaa6c17e9dc2b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1838624
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: default avatarRebekah Potter <rbpotter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#702742}
parent 8895f360
...@@ -16,9 +16,10 @@ namespace printing { ...@@ -16,9 +16,10 @@ namespace printing {
const char kDummyPrinterName[] = "DefaultPrinter"; const char kDummyPrinterName[] = "DefaultPrinter";
base::Value GetPrintTicket(PrinterType type, bool cloud) { base::Value GetPrintTicket(PrinterType type) {
bool is_privet_printer = !cloud && type == kPrivetPrinter; bool is_cloud_printer = type == kCloudPrinter;
bool is_extension_printer = !cloud && type == kExtensionPrinter; bool is_privet_printer = type == kPrivetPrinter;
bool is_extension_printer = type == kExtensionPrinter;
base::Value ticket(base::Value::Type::DICTIONARY); base::Value ticket(base::Value::Type::DICTIONARY);
...@@ -41,8 +42,8 @@ base::Value GetPrintTicket(PrinterType type, bool cloud) { ...@@ -41,8 +42,8 @@ base::Value GetPrintTicket(PrinterType type, bool cloud) {
ticket.SetBoolKey(kSettingShouldPrintSelectionOnly, false); ticket.SetBoolKey(kSettingShouldPrintSelectionOnly, false);
ticket.SetBoolKey(kSettingPreviewModifiable, true); ticket.SetBoolKey(kSettingPreviewModifiable, true);
ticket.SetBoolKey(kSettingPreviewIsPdf, false); ticket.SetBoolKey(kSettingPreviewIsPdf, false);
ticket.SetBoolKey(kSettingPrintToPDF, !cloud && type == kPdfPrinter); ticket.SetBoolKey(kSettingPrintToPDF, type == kPdfPrinter);
ticket.SetBoolKey(kSettingCloudPrintDialog, cloud); ticket.SetBoolKey(kSettingCloudPrintDialog, is_cloud_printer);
ticket.SetBoolKey(kSettingPrintWithPrivet, is_privet_printer); ticket.SetBoolKey(kSettingPrintWithPrivet, is_privet_printer);
ticket.SetBoolKey(kSettingPrintWithExtension, is_extension_printer); ticket.SetBoolKey(kSettingPrintWithExtension, is_extension_printer);
ticket.SetBoolKey(kSettingRasterizePdf, false); ticket.SetBoolKey(kSettingRasterizePdf, false);
...@@ -56,7 +57,7 @@ base::Value GetPrintTicket(PrinterType type, bool cloud) { ...@@ -56,7 +57,7 @@ base::Value GetPrintTicket(PrinterType type, bool cloud) {
ticket.SetIntKey(kSettingPageHeight, 279400); ticket.SetIntKey(kSettingPageHeight, 279400);
ticket.SetBoolKey(kSettingShowSystemDialog, false); ticket.SetBoolKey(kSettingShowSystemDialog, false);
if (cloud) if (is_cloud_printer)
ticket.SetStringKey(kSettingCloudPrintId, kDummyPrinterName); ticket.SetStringKey(kSettingCloudPrintId, kDummyPrinterName);
if (is_privet_printer || is_extension_printer) { if (is_privet_printer || is_extension_printer) {
......
...@@ -18,7 +18,7 @@ const int kTestPrinterDpi = 600; ...@@ -18,7 +18,7 @@ const int kTestPrinterDpi = 600;
// Creates a print ticket with some default values. Based on ticket creation in // Creates a print ticket with some default values. Based on ticket creation in
// chrome/browser/resources/print_preview/native_layer.js. // chrome/browser/resources/print_preview/native_layer.js.
base::Value GetPrintTicket(PrinterType type, bool cloud); base::Value GetPrintTicket(PrinterType type);
} // namespace printing } // namespace printing
......
...@@ -54,7 +54,7 @@ TEST_F(PrintViewManagerBasicTest, CancelJobDuringDestruction) { ...@@ -54,7 +54,7 @@ TEST_F(PrintViewManagerBasicTest, CancelJobDuringDestruction) {
auto query = queue->CreatePrinterQuery(main_rfh()->GetProcess()->GetID(), auto query = queue->CreatePrinterQuery(main_rfh()->GetProcess()->GetID(),
main_rfh()->GetRoutingID()); main_rfh()->GetRoutingID());
base::RunLoop runloop; base::RunLoop runloop;
query->SetSettings(GetPrintTicket(printing::kLocalPrinter, false), query->SetSettings(GetPrintTicket(printing::kLocalPrinter),
runloop.QuitClosure()); runloop.QuitClosure());
runloop.Run(); runloop.Run();
auto cookie = query->cookie(); auto cookie = query->cookie();
......
...@@ -144,7 +144,7 @@ TEST_F(PrintViewManagerTest, PostScriptHasCorrectOffsets) { ...@@ -144,7 +144,7 @@ TEST_F(PrintViewManagerTest, PostScriptHasCorrectOffsets) {
print_view_manager->PrintPreviewNow(web_contents->GetMainFrame(), false); print_view_manager->PrintPreviewNow(web_contents->GetMainFrame(), false);
base::Value print_ticket = GetPrintTicket(printing::kLocalPrinter, false); base::Value print_ticket = GetPrintTicket(printing::kLocalPrinter);
const char kTestData[] = "abc"; const char kTestData[] = "abc";
auto print_data = base::MakeRefCounted<base::RefCountedStaticMemory>( auto print_data = base::MakeRefCounted<base::RefCountedStaticMemory>(
kTestData, sizeof(kTestData)); kTestData, sizeof(kTestData));
......
...@@ -48,9 +48,13 @@ namespace { ...@@ -48,9 +48,13 @@ namespace {
const char kDummyInitiatorName[] = "TestInitiator"; const char kDummyInitiatorName[] = "TestInitiator";
const char kTestData[] = "abc"; const char kTestData[] = "abc";
// Array of all PrinterType values. // Array of all PrinterTypes.
const PrinterType kAllTypes[] = {kPrivetPrinter, kExtensionPrinter, kPdfPrinter, constexpr PrinterType kAllTypes[] = {kPrivetPrinter, kExtensionPrinter,
kLocalPrinter}; kPdfPrinter, kLocalPrinter, kCloudPrinter};
// Array of all PrinterTypes that have working PrinterHandlers.
constexpr PrinterType kAllSupportedTypes[] = {kPrivetPrinter, kExtensionPrinter,
kPdfPrinter, kLocalPrinter};
struct PrinterInfo { struct PrinterInfo {
std::string id; std::string id;
...@@ -91,7 +95,7 @@ PrinterInfo GetEmptyPrinterInfo() { ...@@ -91,7 +95,7 @@ PrinterInfo GetEmptyPrinterInfo() {
} }
base::Value GetPrintPreviewTicket() { base::Value GetPrintPreviewTicket() {
base::Value print_ticket = GetPrintTicket(kLocalPrinter, false); base::Value print_ticket = GetPrintTicket(kLocalPrinter);
// Make some modifications to match a preview print ticket. // Make some modifications to match a preview print ticket.
print_ticket.SetKey(kSettingPageRange, base::Value()); print_ticket.SetKey(kSettingPageRange, base::Value());
...@@ -553,8 +557,8 @@ TEST_F(PrintPreviewHandlerTest, GetPrinterCapabilities) { ...@@ -553,8 +557,8 @@ TEST_F(PrintPreviewHandlerTest, GetPrinterCapabilities) {
// Check all four printer types that implement // Check all four printer types that implement
// PrinterHandler::StartGetCapability(). // PrinterHandler::StartGetCapability().
for (size_t i = 0; i < base::size(kAllTypes); i++) { for (size_t i = 0; i < base::size(kAllSupportedTypes); i++) {
PrinterType type = kAllTypes[i]; PrinterType type = kAllSupportedTypes[i];
handler()->reset_calls(); handler()->reset_calls();
base::Value args(base::Value::Type::LIST); base::Value args(base::Value::Type::LIST);
std::string callback_id_in = std::string callback_id_in =
...@@ -582,13 +586,13 @@ TEST_F(PrintPreviewHandlerTest, GetPrinterCapabilities) { ...@@ -582,13 +586,13 @@ TEST_F(PrintPreviewHandlerTest, GetPrinterCapabilities) {
// Run through the loop again, this time with a printer that has no // Run through the loop again, this time with a printer that has no
// capabilities. // capabilities.
for (size_t i = 0; i < base::size(kAllTypes); i++) { for (size_t i = 0; i < base::size(kAllSupportedTypes); i++) {
PrinterType type = kAllTypes[i]; PrinterType type = kAllSupportedTypes[i];
handler()->reset_calls(); handler()->reset_calls();
base::Value args(base::Value::Type::LIST); base::Value args(base::Value::Type::LIST);
std::string callback_id_in = std::string callback_id_in =
"test-callback-id-" + "test-callback-id-" +
base::NumberToString(i + base::size(kAllTypes) + 1); base::NumberToString(i + base::size(kAllSupportedTypes) + 1);
args.Append(callback_id_in); args.Append(callback_id_in);
args.Append("EmptyPrinter"); args.Append("EmptyPrinter");
args.Append(type); args.Append(type);
...@@ -597,9 +601,10 @@ TEST_F(PrintPreviewHandlerTest, GetPrinterCapabilities) { ...@@ -597,9 +601,10 @@ TEST_F(PrintPreviewHandlerTest, GetPrinterCapabilities) {
handler()->HandleGetPrinterCapabilities(list_args.get()); handler()->HandleGetPrinterCapabilities(list_args.get());
EXPECT_TRUE(handler()->CalledOnlyForType(type)); EXPECT_TRUE(handler()->CalledOnlyForType(type));
// Start with 1 call from initial settings plus base::size(kAllTypes) from // Start with 1 call from initial settings plus
// first loop, then add 1 more for each loop iteration. // base::size(kAllSupportedTypes) from first loop, then add 1 more for each
ASSERT_EQ(1u + base::size(kAllTypes) + (i + 1), // loop iteration.
ASSERT_EQ(1u + base::size(kAllSupportedTypes) + (i + 1),
web_ui()->call_data().size()); web_ui()->call_data().size());
// Verify printer capabilities promise was rejected. // Verify printer capabilities promise was rejected.
...@@ -611,17 +616,15 @@ TEST_F(PrintPreviewHandlerTest, GetPrinterCapabilities) { ...@@ -611,17 +616,15 @@ TEST_F(PrintPreviewHandlerTest, GetPrinterCapabilities) {
TEST_F(PrintPreviewHandlerTest, Print) { TEST_F(PrintPreviewHandlerTest, Print) {
Initialize(); Initialize();
// All four printer types can print, as well as cloud printers. // All printer types can print.
for (size_t i = 0; i <= base::size(kAllTypes); i++) { for (size_t i = 0; i < base::size(kAllTypes); i++) {
// Also check cloud print. Use dummy type value of Privet (will be ignored). PrinterType type = kAllTypes[i];
bool cloud = i == base::size(kAllTypes);
PrinterType type = cloud ? kPrivetPrinter : kAllTypes[i];
handler()->reset_calls(); handler()->reset_calls();
base::Value args(base::Value::Type::LIST); base::Value args(base::Value::Type::LIST);
std::string callback_id_in = std::string callback_id_in =
"test-callback-id-" + base::NumberToString(i + 1); "test-callback-id-" + base::NumberToString(i + 1);
args.Append(callback_id_in); args.Append(callback_id_in);
base::Value print_ticket = GetPrintTicket(type, cloud); base::Value print_ticket = GetPrintTicket(type);
std::string json; std::string json;
base::JSONWriter::Write(print_ticket, &json); base::JSONWriter::Write(print_ticket, &json);
args.Append(json); args.Append(json);
...@@ -631,7 +634,7 @@ TEST_F(PrintPreviewHandlerTest, Print) { ...@@ -631,7 +634,7 @@ TEST_F(PrintPreviewHandlerTest, Print) {
// Verify correct PrinterHandler was called or that no handler was requested // Verify correct PrinterHandler was called or that no handler was requested
// for cloud printers. // for cloud printers.
if (cloud) { if (type == kCloudPrinter) {
EXPECT_TRUE(handler()->NotCalled()); EXPECT_TRUE(handler()->NotCalled());
} else { } else {
EXPECT_TRUE(handler()->CalledOnlyForType(type)); EXPECT_TRUE(handler()->CalledOnlyForType(type));
...@@ -642,7 +645,7 @@ TEST_F(PrintPreviewHandlerTest, Print) { ...@@ -642,7 +645,7 @@ TEST_F(PrintPreviewHandlerTest, Print) {
CheckWebUIResponse(data, callback_id_in, true); CheckWebUIResponse(data, callback_id_in, true);
// For cloud print, should also get the encoded data back as a string. // For cloud print, should also get the encoded data back as a string.
if (cloud) { if (type == kCloudPrinter) {
std::string print_data; std::string print_data;
ASSERT_TRUE(data.arg3()->GetAsString(&print_data)); ASSERT_TRUE(data.arg3()->GetAsString(&print_data));
std::string expected_data; std::string expected_data;
...@@ -789,8 +792,8 @@ TEST_F(PrintPreviewHandlerFailingTest, GetPrinterCapabilities) { ...@@ -789,8 +792,8 @@ TEST_F(PrintPreviewHandlerFailingTest, GetPrinterCapabilities) {
// Check all four printer types that implement // Check all four printer types that implement
// PrinterHandler::StartGetCapability(). // PrinterHandler::StartGetCapability().
for (size_t i = 0; i < base::size(kAllTypes); i++) { for (size_t i = 0; i < base::size(kAllSupportedTypes); i++) {
PrinterType type = kAllTypes[i]; PrinterType type = kAllSupportedTypes[i];
handler()->reset_calls(); handler()->reset_calls();
base::Value args(base::Value::Type::LIST); base::Value args(base::Value::Type::LIST);
std::string callback_id_in = std::string callback_id_in =
......
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