| 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.
|
|
|