0

Fix lack of preview when GCP printer is selected.

Add handling for the cloud print dialog to update settings code on Mac and Windows.

BUG=98929
TEST=


Review URL: http://codereview.chromium.org/8122006

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103937 0039d316-1c4b-4281-b951-d872f2087c98
This commit is contained in:
abodenha@chromium.org
2011-10-04 18:06:29 +00:00
parent 947c478033
commit 737cfb2a8c
2 changed files with 8 additions and 4 deletions

@ -111,6 +111,7 @@ PrintingContext::Result PrintingContextMac::UpdatePrinterSettings(
int color;
bool landscape;
bool print_to_pdf;
bool is_cloud_dialog;
int copies;
int duplex_mode;
std::string device_name;
@ -121,13 +122,14 @@ PrintingContext::Result PrintingContextMac::UpdatePrinterSettings(
!job_settings.GetBoolean(kSettingPrintToPDF, &print_to_pdf) ||
!job_settings.GetInteger(kSettingDuplexMode, &duplex_mode) ||
!job_settings.GetInteger(kSettingCopies, &copies) ||
!job_settings.GetString(kSettingDeviceName, &device_name)) {
!job_settings.GetString(kSettingDeviceName, &device_name) ||
!job_settings.GetBoolean(kSettingCloudPrintDialog, &is_cloud_dialog)) {
return OnError();
}
bool print_to_cloud = job_settings.HasKey(printing::kSettingCloudPrintId);
if (!print_to_pdf && !print_to_cloud) {
if (!print_to_pdf && !print_to_cloud && !is_cloud_dialog) {
if (!SetPrinter(device_name))
return OnError();

@ -330,6 +330,7 @@ PrintingContext::Result PrintingContextWin::UpdatePrinterSettings(
int color;
bool landscape;
bool print_to_pdf;
bool is_cloud_dialog;
int copies;
int duplex_mode;
string16 device_name;
@ -340,13 +341,14 @@ PrintingContext::Result PrintingContextWin::UpdatePrinterSettings(
!job_settings.GetBoolean(kSettingPrintToPDF, &print_to_pdf) ||
!job_settings.GetInteger(kSettingDuplexMode, &duplex_mode) ||
!job_settings.GetInteger(kSettingCopies, &copies) ||
!job_settings.GetString(kSettingDeviceName, &device_name)) {
!job_settings.GetString(kSettingDeviceName, &device_name) ||
!job_settings.GetBoolean(kSettingCloudPrintDialog, &is_cloud_dialog)) {
return OnError();
}
bool print_to_cloud = job_settings.HasKey(printing::kSettingCloudPrintId);
if (print_to_pdf || print_to_cloud) {
if (print_to_pdf || print_to_cloud || is_cloud_dialog) {
// Default fallback to Letter size.
gfx::Size paper_size;
gfx::Rect paper_rect;