summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/renderer/print_web_view_helper.cc13
-rw-r--r--chrome/renderer/print_web_view_helper.h7
-rw-r--r--chrome/renderer/print_web_view_helper_mac.mm16
-rw-r--r--chrome/renderer/print_web_view_helper_win.cc19
4 files changed, 28 insertions, 27 deletions
diff --git a/chrome/renderer/print_web_view_helper.cc b/chrome/renderer/print_web_view_helper.cc
index 51b5e73..a178e22 100644
--- a/chrome/renderer/print_web_view_helper.cc
+++ b/chrome/renderer/print_web_view_helper.cc
@@ -505,18 +505,17 @@ void PrintWebViewHelper::RenderPagesForPrint(WebFrame* frame,
void PrintWebViewHelper::RenderPagesForPreview(WebFrame *frame) {
ViewMsg_PrintPages_Params print_settings = *print_pages_params_;
- ViewHostMsg_DidPreviewDocument_Params preview_params;
- CreatePreviewDocument(print_settings, frame, &preview_params);
- Send(new ViewHostMsg_PagesReadyForPreview(routing_id(), preview_params));
+ // TODO(kmadhusu): Handle print selection.
+ CreatePreviewDocument(print_settings, frame);
}
#if defined(OS_LINUX)
void PrintWebViewHelper::CreatePreviewDocument(
- const ViewMsg_PrintPages_Params& params,
- WebFrame* frame,
- ViewHostMsg_DidPreviewDocument_Params* preview_params) {
+ const ViewMsg_PrintPages_Params& params, WebFrame* frame) {
+ ViewHostMsg_DidPreviewDocument_Params preview_params;
// TODO(kmadhusu): Implement this function for linux.
- preview_params->document_cookie = params.params.document_cookie;
+ preview_params.document_cookie = params.params.document_cookie;
+ Send(new ViewHostMsg_PagesReadyForPreview(routing_id(), preview_params));
}
#endif
diff --git a/chrome/renderer/print_web_view_helper.h b/chrome/renderer/print_web_view_helper.h
index f908b47..a8fd007 100644
--- a/chrome/renderer/print_web_view_helper.h
+++ b/chrome/renderer/print_web_view_helper.h
@@ -176,11 +176,10 @@ class PrintWebViewHelper : public WebKit::WebViewClient,
void RenderPagesForPreview(WebKit::WebFrame* frame);
// Renders all the pages listed in |params| for preview.
- // On Success, |preview_params| will have a valid handle to metafile data,
- // data buffer size and document cookie.
+ // On Success, Send ViewHostMsg_PagesReadyForPreview message with a
+ // valid metafile data handle.
void CreatePreviewDocument(const ViewMsg_PrintPages_Params& params,
- WebKit::WebFrame* frame,
- ViewHostMsg_DidPreviewDocument_Params* preview_params);
+ WebKit::WebFrame* frame);
#if defined(OS_MACOSX)
void RenderPage(const gfx::Size& page_size, const gfx::Point& content_origin,
const float& scale_factor, int page_number,
diff --git a/chrome/renderer/print_web_view_helper_mac.mm b/chrome/renderer/print_web_view_helper_mac.mm
index 3d8a14a..e013955 100644
--- a/chrome/renderer/print_web_view_helper_mac.mm
+++ b/chrome/renderer/print_web_view_helper_mac.mm
@@ -67,9 +67,7 @@ void PrintWebViewHelper::PrintPage(const ViewMsg_PrintPage_Params& params,
}
void PrintWebViewHelper::CreatePreviewDocument(
- const ViewMsg_PrintPages_Params& params,
- WebFrame* frame,
- ViewHostMsg_DidPreviewDocument_Params* preview_params) {
+ const ViewMsg_PrintPages_Params& params, WebFrame* frame) {
ViewMsg_Print_Params printParams = params.params;
UpdatePrintableSizeInPrintParameters(frame, NULL, &printParams);
@@ -104,14 +102,18 @@ void PrintWebViewHelper::CreatePreviewDocument(
}
}
metafile.Close();
+
+ ViewHostMsg_DidPreviewDocument_Params preview_params;
+ 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,
- &(preview_params->metafile_data_handle))) {
+ &(preview_params.metafile_data_handle))) {
+ preview_params.data_size = 0;
NOTREACHED();
- return;
}
- preview_params->document_cookie = params.params.document_cookie;
- preview_params->data_size = metafile.GetDataSize();
+ Send(new ViewHostMsg_PagesReadyForPreview(routing_id(), preview_params));
}
void PrintWebViewHelper::RenderPage(
diff --git a/chrome/renderer/print_web_view_helper_win.cc b/chrome/renderer/print_web_view_helper_win.cc
index 7e6e53d..76197a2 100644
--- a/chrome/renderer/print_web_view_helper_win.cc
+++ b/chrome/renderer/print_web_view_helper_win.cc
@@ -116,8 +116,7 @@ void PrintWebViewHelper::PrintPage(const ViewMsg_PrintPage_Params& params,
}
void PrintWebViewHelper::CreatePreviewDocument(
- const ViewMsg_PrintPages_Params& params, WebFrame* frame,
- ViewHostMsg_DidPreviewDocument_Params* preview_params) {
+ const ViewMsg_PrintPages_Params& params, WebFrame* frame) {
int page_count = 0;
ViewMsg_Print_Params print_params = params.params;
UpdatePrintableSizeInPrintParameters(frame, NULL, &print_params);
@@ -166,21 +165,23 @@ void PrintWebViewHelper::CreatePreviewDocument(
uint32 buf_size = metafile->GetDataSize();
DCHECK_GT(buf_size, 128u);
- preview_params->document_cookie = params.params.document_cookie;
- preview_params->data_size = 0;
- preview_params->metafile_data_handle = NULL;
+ ViewHostMsg_DidPreviewDocument_Params preview_params;
+ preview_params.document_cookie = params.params.document_cookie;
+ preview_params.data_size = 0;
+ preview_params.metafile_data_handle = NULL;
if (CopyMetafileDataToSharedMem(metafile.get(),
- &(preview_params->metafile_data_handle))) {
- preview_params->data_size = buf_size;
+ &(preview_params.metafile_data_handle))) {
+ preview_params.data_size = buf_size;
}
metafile->CloseEmf();
if (!Send(new ViewHostMsg_DuplicateSection(
routing_id(),
- preview_params->metafile_data_handle,
- &preview_params->metafile_data_handle))) {
+ preview_params.metafile_data_handle,
+ &preview_params.metafile_data_handle))) {
NOTREACHED() << "Send message failed.";
}
+ Send(new ViewHostMsg_PagesReadyForPreview(routing_id(), preview_params));
}
void PrintWebViewHelper::RenderPage(