Chromium Code Reviews| Index: chrome/renderer/print_web_view_helper_mac.mm |
| diff --git a/chrome/renderer/print_web_view_helper_mac.mm b/chrome/renderer/print_web_view_helper_mac.mm |
| index cc4a8d673e60159eca17d9a102b78e27272a2bf6..71565e89fe14a8ebd0dc4f4700d0f7fa2ac7096f 100644 |
| --- a/chrome/renderer/print_web_view_helper_mac.mm |
| +++ b/chrome/renderer/print_web_view_helper_mac.mm |
| @@ -11,7 +11,7 @@ |
| #include "chrome/common/render_messages_params.h" |
| #include "chrome/renderer/render_view.h" |
| #include "grit/generated_resources.h" |
| -#include "printing/native_metafile.h" |
|
vandebo (ex-Chrome)
2011/02/22 22:18:16
NativeMetafile is still used.
dpapad
2011/02/23 00:44:39
Done.
|
| +#include "printing/metafile_factory.h" |
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h" |
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebCanvas.h" |
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebRect.h" |
| @@ -26,8 +26,9 @@ using WebKit::WebSize; |
| void PrintWebViewHelper::PrintPage(const ViewMsg_PrintPage_Params& params, |
| const gfx::Size& canvas_size, |
| WebFrame* frame) { |
| - printing::NativeMetafile metafile; |
| - if (!metafile.Init()) |
| + printing::NativeMetafile* metafile = |
|
vandebo (ex-Chrome)
2011/02/22 22:18:16
Looks like a mem leak. scoped_ptr ?
dpapad
2011/02/23 00:44:39
Done.
|
| + printing::MetafileFactory::GetMetafile(); |
| + if (!metafile->Init()) |
| return; |
| float scale_factor = frame->getPrintPageShrink(params.page_number); |
| @@ -38,16 +39,16 @@ void PrintWebViewHelper::PrintPage(const ViewMsg_PrintPage_Params& params, |
| // Render page for printing. |
| gfx::Point origin(0.0f, 0.0f); |
| RenderPage(params.params.printable_size, origin, scale_factor, page_number, |
| - frame, &metafile); |
| + frame, metafile); |
| - metafile.Close(); |
| + metafile->Close(); |
| double margin_left = params.params.margin_left; |
| double margin_top = params.params.margin_top; |
| // Get the size of the compiled metafile. |
| ViewHostMsg_DidPrintPage_Params page_params; |
| - page_params.data_size = metafile.GetDataSize(); |
| + page_params.data_size = metafile->GetDataSize(); |
| page_params.page_number = page_number; |
| page_params.document_cookie = params.params.document_cookie; |
| page_params.actual_shrink = scale_factor; |
| @@ -56,7 +57,7 @@ void PrintWebViewHelper::PrintPage(const ViewMsg_PrintPage_Params& params, |
| page_params.content_area = gfx::Rect(margin_left, margin_top, width, height); |
| // Ask the browser to create the shared memory for us. |
| - if (!CopyMetafileDataToSharedMem(&metafile, |
| + if (!CopyMetafileDataToSharedMem(metafile, |
| &(page_params.metafile_data_handle))) { |
| page_params.data_size = 0; |
| } |
| @@ -80,8 +81,9 @@ void PrintWebViewHelper::CreatePreviewDocument( |
| double originX = printParams.margin_left; |
| double originY = printParams.margin_top; |
| - printing::NativeMetafile metafile; |
| - if (!metafile.Init()) |
| + printing::NativeMetafile* metafile = |
|
vandebo (ex-Chrome)
2011/02/22 22:18:16
scoped_ptr ?
dpapad
2011/02/23 00:44:39
Done.
|
| + printing::MetafileFactory::GetMetafile(); |
| + if (!metafile->Init()) |
| return; |
| gfx::Point origin(originX, originY); |
| @@ -89,24 +91,24 @@ void PrintWebViewHelper::CreatePreviewDocument( |
| if (params.pages.empty()) { |
| for (int i = 0; i < page_count; ++i) { |
| RenderPage(printParams.page_size, origin, scale_factor, i, frame, |
| - &metafile); |
| + metafile); |
| } |
| } else { |
| for (size_t i = 0; i < params.pages.size(); ++i) { |
| if (params.pages[i] >= page_count) |
| break; |
| RenderPage(printParams.page_size, origin, scale_factor, |
| - static_cast<int>(params.pages[i]), frame, &metafile); |
| + static_cast<int>(params.pages[i]), frame, metafile); |
| } |
| } |
| - metafile.Close(); |
| + metafile->Close(); |
| ViewHostMsg_DidPreviewDocument_Params preview_params; |
| - preview_params.data_size = metafile.GetDataSize(); |
| + preview_params.data_size = metafile->GetDataSize(); |
| preview_params.document_cookie = params.params.document_cookie; |
| // Ask the browser to create the shared memory for us. |
| - if (!CopyMetafileDataToSharedMem(&metafile, |
| + if (!CopyMetafileDataToSharedMem(metafile, |
| &(preview_params.metafile_data_handle))) { |
| preview_params.data_size = 0; |
| } |