Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(265)

Side by Side Diff: chrome/utility/printing_handler.cc

Issue 2656303005: no_messages
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/utility/printing_handler.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/utility/printing_handler.h" 5 #include "chrome/utility/printing_handler.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/files/file_util.h" 10 #include "base/files/file_util.h"
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 bool PrintingHandler::OnMessageReceived(const IPC::Message& message) { 63 bool PrintingHandler::OnMessageReceived(const IPC::Message& message) {
64 bool handled = true; 64 bool handled = true;
65 IPC_BEGIN_MESSAGE_MAP(PrintingHandler, message) 65 IPC_BEGIN_MESSAGE_MAP(PrintingHandler, message)
66 #if defined(OS_WIN) 66 #if defined(OS_WIN)
67 IPC_MESSAGE_HANDLER(ChromeUtilityMsg_RenderPDFPagesToMetafiles, 67 IPC_MESSAGE_HANDLER(ChromeUtilityMsg_RenderPDFPagesToMetafiles,
68 OnRenderPDFPagesToMetafile) 68 OnRenderPDFPagesToMetafile)
69 IPC_MESSAGE_HANDLER(ChromeUtilityMsg_RenderPDFPagesToMetafiles_GetPage, 69 IPC_MESSAGE_HANDLER(ChromeUtilityMsg_RenderPDFPagesToMetafiles_GetPage,
70 OnRenderPDFPagesToMetafileGetPage) 70 OnRenderPDFPagesToMetafileGetPage)
71 IPC_MESSAGE_HANDLER(ChromeUtilityMsg_RenderPDFPagesToMetafiles_Stop, 71 IPC_MESSAGE_HANDLER(ChromeUtilityMsg_RenderPDFPagesToMetafiles_Stop,
72 OnRenderPDFPagesToMetafileStop) 72 OnRenderPDFPagesToMetafileStop)
73 IPC_MESSAGE_HANDLER(ChromeUtilityMsg_RenderPDFPagesToPostScript_Start,
74 OnRenderPDFPagesToPostScriptStart)
75 IPC_MESSAGE_HANDLER(ChromeUtilityMsg_RenderPDFPagesToPostScript_GetPage,
76 OnRenderPDFPagesToPostScriptGetPage)
77 IPC_MESSAGE_HANDLER(ChromeUtilityMsg_RenderPDFPagesToPostScript_Stop,
78 OnRenderPDFPagesToPostScriptStop)
79 #endif // OS_WIN 73 #endif // OS_WIN
80 #if BUILDFLAG(ENABLE_PRINT_PREVIEW) 74 #if BUILDFLAG(ENABLE_PRINT_PREVIEW)
81 IPC_MESSAGE_HANDLER(ChromeUtilityMsg_RenderPDFPagesToPWGRaster, 75 IPC_MESSAGE_HANDLER(ChromeUtilityMsg_RenderPDFPagesToPWGRaster,
82 OnRenderPDFPagesToPWGRaster) 76 OnRenderPDFPagesToPWGRaster)
83 IPC_MESSAGE_HANDLER(ChromeUtilityMsg_GetPrinterCapsAndDefaults, 77 IPC_MESSAGE_HANDLER(ChromeUtilityMsg_GetPrinterCapsAndDefaults,
84 OnGetPrinterCapsAndDefaults) 78 OnGetPrinterCapsAndDefaults)
85 IPC_MESSAGE_HANDLER(ChromeUtilityMsg_GetPrinterSemanticCapsAndDefaults, 79 IPC_MESSAGE_HANDLER(ChromeUtilityMsg_GetPrinterSemanticCapsAndDefaults,
86 OnGetPrinterSemanticCapsAndDefaults) 80 OnGetPrinterSemanticCapsAndDefaults)
87 #endif // ENABLE_PRINT_PREVIEW 81 #endif // ENABLE_PRINT_PREVIEW
88 IPC_MESSAGE_UNHANDLED(handled = false) 82 IPC_MESSAGE_UNHANDLED(handled = false)
89 IPC_END_MESSAGE_MAP() 83 IPC_END_MESSAGE_MAP()
90 return handled; 84 return handled;
91 } 85 }
92 86
93 #if defined(OS_WIN) 87 #if defined(OS_WIN)
94 void PrintingHandler::OnRenderPDFPagesToMetafile( 88 void PrintingHandler::OnRenderPDFPagesToMetafile(
95 IPC::PlatformFileForTransit pdf_transit, 89 IPC::PlatformFileForTransit pdf_transit,
96 const PdfRenderSettings& settings) { 90 const PdfRenderSettings& settings) {
97 pdf_rendering_settings_ = settings; 91 pdf_rendering_settings_ = settings;
98 chrome_pdf::SetPDFPostscriptPrintingLevel(0); // Not using postscript. 92 chrome_pdf::SetPDFPostscriptPrintingLevel(0); // Not using postscript.
99 chrome_pdf::SetPDFUseGDIPrinting(pdf_rendering_settings_.mode == 93 chrome_pdf::SetPDFUseGDIPrinting(pdf_rendering_settings_.mode ==
100 PdfRenderSettings::Mode::GDI_TEXT); 94 PdfRenderSettings::Mode::GDI_TEXT);
95 if (pdf_rendering_settings_.mode ==
96 PdfRenderSettings::Mode::POSTSCRIPT_LEVEL2) {
97 chrome_pdf::SetPDFPostscriptPrintingLevel(2);
98 } else if (pdf_rendering_settings_.mode ==
99 PdfRenderSettings::Mode::POSTSCRIPT_LEVEL3) {
100 chrome_pdf::SetPDFPostscriptPrintingLevel(3);
101 }
101 base::File pdf_file = IPC::PlatformFileForTransitToFile(pdf_transit); 102 base::File pdf_file = IPC::PlatformFileForTransitToFile(pdf_transit);
102 int page_count = LoadPDF(std::move(pdf_file)); 103 int page_count = LoadPDF(std::move(pdf_file));
103 Send( 104 Send(
104 new ChromeUtilityHostMsg_RenderPDFPagesToMetafiles_PageCount(page_count)); 105 new ChromeUtilityHostMsg_RenderPDFPagesToMetafiles_PageCount(page_count));
105 } 106 }
106 107
107 void PrintingHandler::OnRenderPDFPagesToMetafileGetPage( 108 void PrintingHandler::OnRenderPDFPagesToMetafileGetPage(
108 int page_number, 109 int page_number,
109 IPC::PlatformFileForTransit output_file) { 110 IPC::PlatformFileForTransit output_file) {
110 base::File emf_file = IPC::PlatformFileForTransitToFile(output_file); 111 base::File emf_file = IPC::PlatformFileForTransitToFile(output_file);
111 float scale_factor = 1.0f; 112 float scale_factor = 1.0f;
112 bool success = 113 bool success = false;
113 RenderPdfPageToMetafile(page_number, std::move(emf_file), &scale_factor); 114 if (pdf_rendering_settings_.mode ==
115 PdfRenderSettings::Mode::POSTSCRIPT_LEVEL2 ||
116 pdf_rendering_settings_.mode ==
117 PdfRenderSettings::Mode::POSTSCRIPT_LEVEL3) {
118 success = RenderPdfPageToPostScript(page_number, std::move(emf_file));
119 } else {
120 success = RenderPdfPageToMetafile(page_number, std::move(emf_file),
121 &scale_factor);
122 }
123
114 Send(new ChromeUtilityHostMsg_RenderPDFPagesToMetafiles_PageDone( 124 Send(new ChromeUtilityHostMsg_RenderPDFPagesToMetafiles_PageDone(
115 success, scale_factor)); 125 success, scale_factor));
116 } 126 }
117 127
118 void PrintingHandler::OnRenderPDFPagesToMetafileStop() { 128 void PrintingHandler::OnRenderPDFPagesToMetafileStop() {
119 ReleaseProcessIfNeeded(); 129 ReleaseProcessIfNeeded();
120 } 130 }
121 131
122 void PrintingHandler::OnRenderPDFPagesToPostScriptStart(
123 IPC::PlatformFileForTransit pdf_transit,
124 const PdfRenderSettings& settings) {
125 pdf_rendering_settings_ = settings;
126 if (pdf_rendering_settings_.mode ==
127 PdfRenderSettings::Mode::POSTSCRIPT_LEVEL2) {
128 chrome_pdf::SetPDFPostscriptPrintingLevel(2);
129 } else if (pdf_rendering_settings_.mode ==
130 PdfRenderSettings::Mode::POSTSCRIPT_LEVEL3) {
131 chrome_pdf::SetPDFPostscriptPrintingLevel(3);
132 }
133
134 base::File pdf_file = IPC::PlatformFileForTransitToFile(pdf_transit);
135 int page_count = LoadPDF(std::move(pdf_file));
136 Send(new ChromeUtilityHostMsg_RenderPDFPagesToPostScript_PageCount(
137 page_count));
138 }
139
140 void PrintingHandler::OnRenderPDFPagesToPostScriptGetPage(
141 int page_number,
142 IPC::PlatformFileForTransit output_file) {
143 base::File ps_file = IPC::PlatformFileForTransitToFile(output_file);
144 bool success = RenderPdfPageToPostScript(page_number, std::move(ps_file));
145 Send(new ChromeUtilityHostMsg_RenderPDFPagesToPostScript_PageDone(success));
146 }
147
148 void PrintingHandler::OnRenderPDFPagesToPostScriptStop() {
149 ReleaseProcessIfNeeded();
150 }
151 #endif // defined(OS_WIN) 132 #endif // defined(OS_WIN)
152 133
153 #if BUILDFLAG(ENABLE_PRINT_PREVIEW) 134 #if BUILDFLAG(ENABLE_PRINT_PREVIEW)
154 void PrintingHandler::OnRenderPDFPagesToPWGRaster( 135 void PrintingHandler::OnRenderPDFPagesToPWGRaster(
155 IPC::PlatformFileForTransit pdf_transit, 136 IPC::PlatformFileForTransit pdf_transit,
156 const PdfRenderSettings& settings, 137 const PdfRenderSettings& settings,
157 const PwgRasterSettings& bitmap_settings, 138 const PwgRasterSettings& bitmap_settings,
158 IPC::PlatformFileForTransit bitmap_transit) { 139 IPC::PlatformFileForTransit bitmap_transit) {
159 base::File pdf = IPC::PlatformFileForTransitToFile(pdf_transit); 140 base::File pdf = IPC::PlatformFileForTransitToFile(pdf_transit);
160 base::File bitmap = IPC::PlatformFileForTransitToFile(bitmap_transit); 141 base::File bitmap = IPC::PlatformFileForTransitToFile(bitmap_transit);
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 printer_name, printer_info)); 346 printer_name, printer_info));
366 } else { 347 } else {
367 Send(new ChromeUtilityHostMsg_GetPrinterSemanticCapsAndDefaults_Failed( 348 Send(new ChromeUtilityHostMsg_GetPrinterSemanticCapsAndDefaults_Failed(
368 printer_name)); 349 printer_name));
369 } 350 }
370 ReleaseProcessIfNeeded(); 351 ReleaseProcessIfNeeded();
371 } 352 }
372 #endif // BUILDFLAG(ENABLE_PRINT_PREVIEW) 353 #endif // BUILDFLAG(ENABLE_PRINT_PREVIEW)
373 354
374 } // namespace printing 355 } // namespace printing
OLDNEW
« no previous file with comments | « chrome/utility/printing_handler.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698