summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/print_web_view_helper_mac.mm
diff options
context:
space:
mode:
authorkmadhusu@chromium.org <kmadhusu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-28 03:07:34 +0000
committerkmadhusu@chromium.org <kmadhusu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-28 03:07:34 +0000
commitbe44f2f511cd692192b2668d40c4226ab3b60ce7 (patch)
treec3fe9a588245cc30992f529646c186bf5e0df799 /chrome/renderer/print_web_view_helper_mac.mm
parent8a99325f089a06a2c36cc8cc2987a2ebb98b8bcb (diff)
downloadchromium_src-be44f2f511cd692192b2668d40c4226ab3b60ce7.zip
chromium_src-be44f2f511cd692192b2668d40c4226ab3b60ce7.tar.gz
chromium_src-be44f2f511cd692192b2668d40c4226ab3b60ce7.tar.bz2
Reland 103021: Printing preview of a PDF on Mac with Skia only previews the last page of the PDF
BUG=93145 TEST=Please refer to bug report. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=103021 Original review URL: codereview.chromium.org/7719014 Please refer to trybot results in the last patch of original review url. Review URL: http://codereview.chromium.org/8059034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103082 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/print_web_view_helper_mac.mm')
-rw-r--r--chrome/renderer/print_web_view_helper_mac.mm13
1 files changed, 7 insertions, 6 deletions
diff --git a/chrome/renderer/print_web_view_helper_mac.mm b/chrome/renderer/print_web_view_helper_mac.mm
index 0e8c3b2..1700f66 100644
--- a/chrome/renderer/print_web_view_helper_mac.mm
+++ b/chrome/renderer/print_web_view_helper_mac.mm
@@ -17,6 +17,7 @@
#if defined(USE_SKIA)
#include "printing/metafile_skia_wrapper.h"
+#include "skia/ext/platform_device.h"
#include "skia/ext/vector_canvas.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebCanvas.h"
#endif
@@ -37,7 +38,7 @@ void PrintWebViewHelper::PrintPageInternal(
// Render page for printing.
gfx::Rect content_area(params.params.printable_size);
RenderPage(params.params.printable_size, content_area, scale_factor,
- page_number, frame, &metafile);
+ page_number, frame, false, &metafile);
metafile.FinishDocument();
PrintHostMsg_DidPrintPage_Params page_params;
@@ -96,7 +97,7 @@ bool PrintWebViewHelper::RenderPreviewPage(int page_number) {
base::TimeTicks begin_time = base::TimeTicks::Now();
RenderPage(printParams.page_size, content_area, scale_factor, page_number,
- print_preview_context_.frame(), initial_render_metafile);
+ print_preview_context_.frame(), true, initial_render_metafile);
print_preview_context_.RenderedPreviewPage(
base::TimeTicks::Now() - begin_time);
@@ -144,7 +145,7 @@ bool PrintWebViewHelper::RenderPreviewPage(int page_number) {
void PrintWebViewHelper::RenderPage(
const gfx::Size& page_size, const gfx::Rect& content_area,
const float& scale_factor, int page_number, WebFrame* frame,
- printing::Metafile* metafile) {
+ bool is_preview, printing::Metafile* metafile) {
{
#if defined(USE_SKIA)
@@ -156,9 +157,9 @@ void PrintWebViewHelper::RenderPage(
SkRefPtr<skia::VectorCanvas> canvas = new skia::VectorCanvas(device);
canvas->unref(); // SkRefPtr and new both took a reference.
WebKit::WebCanvas* canvas_ptr = canvas.get();
- printing::MetafileSkiaWrapper::SetMetafileOnCanvas(canvas.get(), metafile);
- printing::MetafileSkiaWrapper::SetDraftMode(canvas.get(),
- is_print_ready_metafile_sent_);
+ printing::MetafileSkiaWrapper::SetMetafileOnCanvas(*canvas, metafile);
+ skia::SetIsDraftMode(*canvas, is_print_ready_metafile_sent_);
+ skia::SetIsPreviewMetafile(*canvas, is_preview);
#else
bool success = metafile->StartPage(page_size, content_area, scale_factor);
DCHECK(success);