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

Unified Diff: chrome/renderer/print_web_view_helper_mac.mm

Issue 8059034: Reland 103021: Printing preview of a PDF on Mac with Skia only previews the last page of the PDF (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 3 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
« no previous file with comments | « chrome/renderer/print_web_view_helper_linux.cc ('k') | chrome/renderer/print_web_view_helper_win.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 0e8c3b24133f3036f2bfdad5ef2ef4a43ad671cf..1700f669af18fc4a068f1e166c7aececcd6b1ffb 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);
« no previous file with comments | « chrome/renderer/print_web_view_helper_linux.cc ('k') | chrome/renderer/print_web_view_helper_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698