Commit 0c4f392d authored by Lei Zhang's avatar Lei Zhang Committed by Commit Bot

Printing: Read the color setting from the system dialog on Windows.

BUG=843212

Change-Id: Iab38833fabfe1c6729c76419d50e39cfe7eb098a
Reviewed-on: https://chromium-review.googlesource.com/1060384Reviewed-by: default avatarRebekah Potter <rbpotter@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#558875}
parent 8fcdbf04
......@@ -6,6 +6,7 @@
#include <windows.h>
#include "printing/backend/win_helper.h"
#include "printing/print_settings.h"
namespace printing {
......@@ -142,6 +143,8 @@ void PrintSettingsInitializerWin::InitPrintSettings(
printable_area_device_units,
false);
print_settings->set_color(IsDevModeWithColor(&dev_mode) ? COLOR : GRAY);
// Check for postscript first so that we can change the mode with the
// first command.
int level;
......
......@@ -142,20 +142,35 @@ class MockPrintingContextWin : public PrintingContextSystemDialogWin {
};
TEST_F(PrintingContextTest, PrintAll) {
base::MessageLoop message_loop;
if (IsTestCaseDisabled())
return;
base::MessageLoop message_loop;
MockPrintingContextWin context(this);
context.AskUserForSettings(
123, false, false,
base::BindOnce(&PrintingContextTest::PrintSettingsCallback,
base::Unretained(this)));
EXPECT_EQ(PrintingContext::OK, result());
PrintSettings settings = context.settings();
const PrintSettings& settings = context.settings();
EXPECT_EQ(0u, settings.ranges().size());
}
TEST_F(PrintingContextTest, Color) {
if (IsTestCaseDisabled())
return;
base::MessageLoop message_loop;
MockPrintingContextWin context(this);
context.AskUserForSettings(
123, false, false,
base::BindOnce(&PrintingContextTest::PrintSettingsCallback,
base::Unretained(this)));
EXPECT_EQ(PrintingContext::OK, result());
const PrintSettings& settings = context.settings();
EXPECT_NE(settings.color(), UNKNOWN_COLOR_MODEL);
}
TEST_F(PrintingContextTest, Base) {
if (IsTestCaseDisabled())
return;
......
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