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 @@ ...@@ -6,6 +6,7 @@
#include <windows.h> #include <windows.h>
#include "printing/backend/win_helper.h"
#include "printing/print_settings.h" #include "printing/print_settings.h"
namespace printing { namespace printing {
...@@ -142,6 +143,8 @@ void PrintSettingsInitializerWin::InitPrintSettings( ...@@ -142,6 +143,8 @@ void PrintSettingsInitializerWin::InitPrintSettings(
printable_area_device_units, printable_area_device_units,
false); false);
print_settings->set_color(IsDevModeWithColor(&dev_mode) ? COLOR : GRAY);
// Check for postscript first so that we can change the mode with the // Check for postscript first so that we can change the mode with the
// first command. // first command.
int level; int level;
......
...@@ -142,20 +142,35 @@ class MockPrintingContextWin : public PrintingContextSystemDialogWin { ...@@ -142,20 +142,35 @@ class MockPrintingContextWin : public PrintingContextSystemDialogWin {
}; };
TEST_F(PrintingContextTest, PrintAll) { TEST_F(PrintingContextTest, PrintAll) {
base::MessageLoop message_loop;
if (IsTestCaseDisabled()) if (IsTestCaseDisabled())
return; return;
base::MessageLoop message_loop;
MockPrintingContextWin context(this); MockPrintingContextWin context(this);
context.AskUserForSettings( context.AskUserForSettings(
123, false, false, 123, false, false,
base::BindOnce(&PrintingContextTest::PrintSettingsCallback, base::BindOnce(&PrintingContextTest::PrintSettingsCallback,
base::Unretained(this))); base::Unretained(this)));
EXPECT_EQ(PrintingContext::OK, result()); EXPECT_EQ(PrintingContext::OK, result());
PrintSettings settings = context.settings(); const PrintSettings& settings = context.settings();
EXPECT_EQ(0u, settings.ranges().size()); 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) { TEST_F(PrintingContextTest, Base) {
if (IsTestCaseDisabled()) if (IsTestCaseDisabled())
return; 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