| Index: chrome/utility/utility_thread.cc
|
| diff --git a/chrome/utility/utility_thread.cc b/chrome/utility/utility_thread.cc
|
| index cca4b34e696590e980f51f5acb2b2bc913f97018..bf312f7cdcc0211d42c64d9f09ecfcf70acfddac 100644
|
| --- a/chrome/utility/utility_thread.cc
|
| +++ b/chrome/utility/utility_thread.cc
|
| @@ -32,8 +32,7 @@
|
| #include "app/win/iat_patch_function.h"
|
| #include "base/scoped_ptr.h"
|
| #include "base/win/scoped_handle.h"
|
| -#include "printing/native_metafile_factory.h"
|
| -#include "printing/native_metafile.h"
|
| +#include "printing/emf_win.h"
|
| #endif
|
|
|
| namespace {
|
| @@ -259,18 +258,17 @@ bool UtilityThread::RenderPDFToWinMetafile(
|
| if (!get_info_proc(&buffer.front(), buffer.size(), &total_page_count, NULL))
|
| return false;
|
|
|
| - scoped_ptr<printing::NativeMetafile> metafile(
|
| - printing::NativeMetafileFactory::Create());
|
| - metafile->CreateFileBackedDc(NULL, NULL, metafile_path);
|
| + printing::Emf metafile;
|
| + metafile.InitToFile(metafile_path);
|
| // Since we created the metafile using the screen DPI (but we actually want
|
| // the PDF DLL to print using the passed in render_dpi, we apply the following
|
| // transformation.
|
| - SetGraphicsMode(metafile->context(), GM_ADVANCED);
|
| + SetGraphicsMode(metafile.context(), GM_ADVANCED);
|
| XFORM xform = {0};
|
| int screen_dpi = GetDeviceCaps(GetDC(NULL), LOGPIXELSX);
|
| xform.eM11 = xform.eM22 =
|
| static_cast<float>(screen_dpi) / static_cast<float>(render_dpi);
|
| - ModifyWorldTransform(metafile->context(), &xform, MWT_LEFTMULTIPLY);
|
| + ModifyWorldTransform(metafile.context(), &xform, MWT_LEFTMULTIPLY);
|
|
|
| bool ret = false;
|
| std::vector<printing::PageRange>::const_iterator iter;
|
| @@ -280,18 +278,18 @@ bool UtilityThread::RenderPDFToWinMetafile(
|
| break;
|
| // The underlying metafile is of type Emf and ignores the arguments passed
|
| // to StartPage.
|
| - metafile->StartPage(gfx::Size(), gfx::Point(), 1);
|
| + metafile.StartPage(gfx::Size(), gfx::Point(), 1);
|
| if (render_proc(&buffer.front(), buffer.size(), page_number,
|
| - metafile->context(), render_dpi, render_dpi,
|
| + metafile.context(), render_dpi, render_dpi,
|
| render_area.x(), render_area.y(), render_area.width(),
|
| render_area.height(), true, false, true, true))
|
| if (*highest_rendered_page_number < page_number)
|
| *highest_rendered_page_number = page_number;
|
| ret = true;
|
| - metafile->FinishPage();
|
| + metafile.FinishPage();
|
| }
|
| }
|
| - metafile->FinishDocument();
|
| + metafile.FinishDocument();
|
| return ret;
|
| }
|
| #endif // defined(OS_WIN)
|
|
|