Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(969)

Unified Diff: chrome/renderer/print_web_view_helper_mac.mm

Issue 6544028: Create a Factory for NativeMetafile. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed styling issues (naming, 80cols) Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
}

Powered by Google App Engine
This is Rietveld 408576698