Index: chrome/renderer/print_web_view_helper.cc |
=================================================================== |
--- chrome/renderer/print_web_view_helper.cc (revision 19913) |
+++ chrome/renderer/print_web_view_helper.cc (working copy) |
@@ -10,6 +10,7 @@ |
#include "chrome/common/render_messages.h" |
#include "chrome/renderer/render_view.h" |
#include "grit/generated_resources.h" |
+#include "printing/native_metafile.h" |
#include "printing/units.h" |
#include "webkit/api/public/WebConsoleMessage.h" |
#include "webkit/api/public/WebScreenInfo.h" |
@@ -19,7 +20,6 @@ |
#include "webkit/glue/webframe.h" |
#if defined(OS_WIN) |
-#include "chrome/common/gfx/emf.h" |
#include "skia/ext/vector_canvas.h" |
#endif |
@@ -283,12 +283,11 @@ |
const gfx::Size& canvas_size, |
WebFrame* frame) { |
#if defined(OS_WIN) |
- // Generate a memory-based EMF file. The EMF will use the current screen's |
- // DPI. |
- gfx::Emf emf; |
+ // Generate a memory-based metafile. It will use the current screen's DPI. |
+ printing::NativeMetafile metafile; |
- emf.CreateDc(NULL, NULL); |
- HDC hdc = emf.hdc(); |
+ metafile.CreateDc(NULL, NULL); |
+ HDC hdc = metafile.hdc(); |
DCHECK(hdc); |
skia::PlatformDevice::InitializeDC(hdc); |
// Since WebKit extends the page width depending on the magical shrink |
@@ -344,17 +343,17 @@ |
} |
#endif |
- // Done printing. Close the device context to retrieve the compiled EMF. |
- if (!emf.CloseDc()) { |
- NOTREACHED() << "EMF failed"; |
+ // Done printing. Close the device context to retrieve the compiled metafile. |
+ if (!metafile.CloseDc()) { |
+ NOTREACHED() << "metafile failed"; |
} |
- // Get the size of the compiled EMF. |
- unsigned buf_size = emf.GetDataSize(); |
+ // Get the size of the compiled metafile. |
+ unsigned buf_size = metafile.GetDataSize(); |
DCHECK_GT(buf_size, 128u); |
ViewHostMsg_DidPrintPage_Params page_params; |
page_params.data_size = 0; |
- page_params.emf_data_handle = NULL; |
+ page_params.metafile_data_handle = NULL; |
page_params.page_number = params.page_number; |
page_params.document_cookie = params.params.document_cookie; |
page_params.actual_shrink = shrink; |
@@ -364,12 +363,12 @@ |
// Windows 2000/XP: When a page in a spooled file exceeds approximately 350 |
// MB, it can fail to print and not send an error message. |
if (buf_size < 350*1024*1024) { |
- // Allocate a shared memory buffer to hold the generated EMF data. |
+ // Allocate a shared memory buffer to hold the generated metafile data. |
if (shared_buf.Create(L"", false, false, buf_size) && |
shared_buf.Map(buf_size)) { |
// Copy the bits into shared memory. |
- if (emf.GetData(shared_buf.memory(), buf_size)) { |
- page_params.emf_data_handle = shared_buf.handle(); |
+ if (metafile.GetData(shared_buf.memory(), buf_size)) { |
+ page_params.metafile_data_handle = shared_buf.handle(); |
page_params.data_size = buf_size; |
} else { |
NOTREACHED() << "GetData() failed"; |
@@ -381,10 +380,11 @@ |
} else { |
NOTREACHED() << "Buffer too large: " << buf_size; |
} |
- emf.CloseEmf(); |
- if (Send(new ViewHostMsg_DuplicateSection(routing_id(), |
- page_params.emf_data_handle, |
- &page_params.emf_data_handle))) { |
+ metafile.CloseEmf(); |
+ if (Send(new ViewHostMsg_DuplicateSection( |
+ routing_id(), |
+ page_params.metafile_data_handle, |
+ &page_params.metafile_data_handle))) { |
Send(new ViewHostMsg_DidPrintPage(routing_id(), page_params)); |
} |
#else // defined(OS_WIN) |