Index: chrome/renderer/print_web_view_helper_linux.cc |
diff --git a/chrome/renderer/print_web_view_helper_linux.cc b/chrome/renderer/print_web_view_helper_linux.cc |
index 8488073e58ff21ce9f617e9e6428ab01938e549f..1853532f55caed9616a37681b1d850e052d1a5b2 100644 |
--- a/chrome/renderer/print_web_view_helper_linux.cc |
+++ b/chrome/renderer/print_web_view_helper_linux.cc |
@@ -6,14 +6,14 @@ |
#include "base/file_descriptor_posix.h" |
#include "base/logging.h" |
+#include "base/scoped_ptr.h" |
#include "chrome/common/render_messages.h" |
#include "chrome/common/render_messages_params.h" |
-#include "printing/native_metafile.h" |
+#include "printing/metafile_factory.h" |
#include "skia/ext/vector_canvas.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebSize.h" |
-using printing::NativeMetafile; |
using WebKit::WebFrame; |
using WebKit::WebNode; |
using WebKit::WebSize; |
@@ -23,7 +23,8 @@ void PrintWebViewHelper::PrintPages(const ViewMsg_PrintPages_Params& params, |
WebNode* node) { |
// We only can use PDF in the renderer because Cairo needs to create a |
// temporary file for a PostScript surface. |
- printing::NativeMetafile metafile(printing::NativeMetafile::PDF); |
+ scoped_ptr<printing::NativeMetafile> metafile_ptr( |
+ printing::MetafileFactory::GetMetafile()); |
int page_count; |
skia::VectorCanvas* canvas = NULL; |
@@ -45,7 +46,7 @@ void PrintWebViewHelper::PrintPages(const ViewMsg_PrintPages_Params& params, |
if (page_count == 0) |
return; |
- metafile.Init(); |
+ metafile_ptr->Init(); |
ViewMsg_PrintPage_Params page_params; |
page_params.params = printParams; |
@@ -54,23 +55,23 @@ void PrintWebViewHelper::PrintPages(const ViewMsg_PrintPages_Params& params, |
for (int i = 0; i < page_count; ++i) { |
page_params.page_number = i; |
delete canvas; |
- PrintPage(page_params, canvas_size, frame, &metafile, &canvas); |
+ PrintPage(page_params, canvas_size, frame, metafile_ptr.get(), &canvas); |
} |
} else { |
for (size_t i = 0; i < params.pages.size(); ++i) { |
page_params.page_number = params.pages[i]; |
delete canvas; |
- PrintPage(page_params, canvas_size, frame, &metafile, &canvas); |
+ PrintPage(page_params, canvas_size, frame, metafile_ptr.get(), &canvas); |
} |
} |
} |
delete canvas; |
- metafile.Close(); |
+ metafile_ptr->Close(); |
int sequence_number = -1; |
// Get the size of the resulting metafile. |
- uint32 buf_size = metafile.GetDataSize(); |
+ uint32 buf_size = metafile_ptr->GetDataSize(); |
DCHECK_GT(buf_size, 0u); |
base::FileDescriptor fd; |
@@ -81,7 +82,7 @@ void PrintWebViewHelper::PrintPages(const ViewMsg_PrintPages_Params& params, |
return; |
} |
- if (!metafile.SaveTo(fd)) |
+ if (!metafile_ptr->SaveTo(fd)) |
return; |
// Tell the browser we've finished writing the file. |