| Index: chrome/browser/printing/print_view_manager_base.cc
|
| diff --git a/chrome/browser/printing/print_view_manager_base.cc b/chrome/browser/printing/print_view_manager_base.cc
|
| index 55c9a57dbf549dddf65b1e7367b6fa022257fba7..58862090126e78af41a771ee19e8a26e1d059802 100644
|
| --- a/chrome/browser/printing/print_view_manager_base.cc
|
| +++ b/chrome/browser/printing/print_view_manager_base.cc
|
| @@ -33,10 +33,11 @@
|
| #include "chrome/browser/printing/print_error_dialog.h"
|
| #endif
|
|
|
| -#if defined(WIN_PDF_METAFILE_FOR_PRINTING)
|
| +#if defined(OS_WIN)
|
| #include "base/memory/ref_counted.h"
|
| #include "base/memory/ref_counted_memory.h"
|
| #include "chrome/browser/printing/pdf_to_emf_converter.h"
|
| +#include "printing/emf_win.h"
|
| #include "printing/pdf_render_settings.h"
|
| #endif
|
|
|
| @@ -47,11 +48,6 @@ namespace printing {
|
|
|
| namespace {
|
|
|
| -#if defined(OS_WIN) && !defined(WIN_PDF_METAFILE_FOR_PRINTING)
|
| -// Limits memory usage by raster to 64 MiB.
|
| -const int kMaxRasterSizeInPixels = 16*1024*1024;
|
| -#endif
|
| -
|
| } // namespace
|
|
|
| PrintViewManagerBase::PrintViewManagerBase(content::WebContents* web_contents)
|
| @@ -62,10 +58,9 @@ PrintViewManagerBase::PrintViewManagerBase(content::WebContents* web_contents)
|
| cookie_(0),
|
| queue_(g_browser_process->print_job_manager()->queue()) {
|
| DCHECK(queue_.get());
|
| -#if (defined(OS_POSIX) && !defined(OS_MACOSX)) || \
|
| - defined(WIN_PDF_METAFILE_FOR_PRINTING)
|
| +#if !defined(OS_MACOSX)
|
| expecting_first_page_ = true;
|
| -#endif
|
| +#endif // OS_MACOSX
|
| Profile* profile =
|
| Profile::FromBrowserContext(web_contents->GetBrowserContext());
|
| printing_enabled_.Init(
|
| @@ -129,7 +124,7 @@ void PrintViewManagerBase::OnDidGetDocumentCookie(int cookie) {
|
| cookie_ = cookie;
|
| }
|
|
|
| -#if defined(WIN_PDF_METAFILE_FOR_PRINTING)
|
| +#if defined(OS_WIN)
|
| void PrintViewManagerBase::OnPdfToEmfConverted(
|
| const PrintHostMsg_DidPrintPage_Params& params,
|
| double scale_factor,
|
| @@ -158,7 +153,7 @@ void PrintViewManagerBase::OnPdfToEmfConverted(
|
|
|
| ShouldQuitFromInnerMessageLoop();
|
| }
|
| -#endif // WIN_PDF_METAFILE_FOR_PRINTING
|
| +#endif // OS_WIN
|
|
|
| void PrintViewManagerBase::OnDidPrintPage(
|
| const PrintHostMsg_DidPrintPage_Params& params) {
|
| @@ -172,13 +167,12 @@ void PrintViewManagerBase::OnDidPrintPage(
|
| return;
|
| }
|
|
|
| -#if (defined(OS_WIN) && !defined(WIN_PDF_METAFILE_FOR_PRINTING)) || \
|
| - defined(OS_MACOSX)
|
| +#if defined(OS_MACOSX)
|
| const bool metafile_must_be_valid = true;
|
| -#elif defined(OS_POSIX) || defined(WIN_PDF_METAFILE_FOR_PRINTING)
|
| +#else
|
| const bool metafile_must_be_valid = expecting_first_page_;
|
| expecting_first_page_ = false;
|
| -#endif
|
| +#endif // OS_MACOSX
|
|
|
| base::SharedMemory shared_buf(params.metafile_data_handle, true);
|
| if (metafile_must_be_valid) {
|
| @@ -198,32 +192,10 @@ void PrintViewManagerBase::OnDidPrintPage(
|
| }
|
| }
|
|
|
| -#if defined(OS_WIN) && !defined(WIN_PDF_METAFILE_FOR_PRINTING)
|
| - bool big_emf = (params.data_size && params.data_size >= kMetafileMaxSize);
|
| - int raster_size =
|
| - std::min(params.page_size.GetArea(), kMaxRasterSizeInPixels);
|
| - if (big_emf) {
|
| - scoped_ptr<NativeMetafile> raster_metafile(
|
| - metafile->RasterizeMetafile(raster_size));
|
| - if (raster_metafile.get()) {
|
| - metafile.swap(raster_metafile);
|
| - } else if (big_emf) {
|
| - // Don't fall back to emf here.
|
| - NOTREACHED() << "size:" << params.data_size;
|
| - TerminatePrintJob(true);
|
| - web_contents()->Stop();
|
| - return;
|
| - }
|
| - }
|
| -#endif // OS_WIN && !WIN_PDF_METAFILE_FOR_PRINTING
|
| -
|
| -#if !defined(WIN_PDF_METAFILE_FOR_PRINTING)
|
| +#if !defined(OS_WIN)
|
| // Update the rendered document. It will send notifications to the listener.
|
| document->SetPage(params.page_number,
|
| metafile.release(),
|
| -#if defined(OS_WIN)
|
| - params.actual_shrink,
|
| -#endif // OS_WIN
|
| params.page_size,
|
| params.content_area);
|
|
|
| @@ -247,7 +219,7 @@ void PrintViewManagerBase::OnDidPrintPage(
|
| base::Unretained(this),
|
| params));
|
| }
|
| -#endif // !WIN_PDF_METAFILE_FOR_PRINTING
|
| +#endif // !OS_WIN
|
| }
|
|
|
| void PrintViewManagerBase::OnPrintingFailed(int cookie) {
|
| @@ -454,10 +426,9 @@ void PrintViewManagerBase::DisconnectFromCurrentPrintJob() {
|
| // DO NOT wait for the job to finish.
|
| ReleasePrintJob();
|
| }
|
| -#if (defined(OS_POSIX) && !defined(OS_MACOSX)) || \
|
| - defined(WIN_PDF_METAFILE_FOR_PRINTING)
|
| +#if !defined(OS_MACOSX)
|
| expecting_first_page_ = true;
|
| -#endif
|
| +#endif // OS_MACOSX
|
| }
|
|
|
| void PrintViewManagerBase::PrintingDone(bool success) {
|
|
|