Index: printing/printing_context.cc |
diff --git a/printing/printing_context.cc b/printing/printing_context.cc |
index bcafb40ad82a37eaa2b73683f26f607751277075..1e50f24decb8cabcc9a59cc45200e3e686f0fe53 100644 |
--- a/printing/printing_context.cc |
+++ b/printing/printing_context.cc |
@@ -44,8 +44,9 @@ void PrintingContext::ResetSettings() { |
} |
PrintingContext::Result PrintingContext::OnError() { |
+ Result result = abort_printing_ ? CANCEL : FAILED; |
ResetSettings(); |
- return abort_printing_ ? CANCEL : FAILED; |
+ return result; |
} |
PrintingContext::Result PrintingContext::UsePdfSettings() { |
@@ -63,11 +64,12 @@ PrintingContext::Result PrintingContext::UsePdfSettings() { |
pdf_settings->SetBoolean(kSettingPrintToPDF, true); |
pdf_settings->SetBoolean(kSettingCloudPrintDialog, false); |
pdf_settings->SetBoolean(kSettingPrintWithPrivet, false); |
- return UpdatePrintSettings(*pdf_settings); |
+ return UpdatePrintSettings(*pdf_settings, NULL); |
} |
PrintingContext::Result PrintingContext::UpdatePrintSettings( |
- const base::DictionaryValue& job_settings) { |
+ const base::DictionaryValue& job_settings, |
+ gfx::NativeView parent_view) { |
ResetSettings(); |
if (!PrintSettingsFromJobSettings(job_settings, &settings_)) { |
@@ -112,7 +114,12 @@ PrintingContext::Result PrintingContext::UpdatePrintSettings( |
return OK; |
} |
- return UpdatePrinterSettings(open_in_external_preview); |
+ bool show_system_dialog = false; |
+ job_settings.GetBoolean(printing::kSettingShowSystemDialog, |
+ &show_system_dialog); |
+ |
+ return UpdatePrinterSettings( |
+ open_in_external_preview, show_system_dialog, parent_view); |
} |
} // namespace printing |