diff options
-rw-r--r-- | chrome/renderer/print_web_view_helper.h | 2 | ||||
-rw-r--r-- | chrome/renderer/print_web_view_helper_mac.mm | 31 | ||||
-rw-r--r-- | chrome/renderer/print_web_view_helper_win.cc | 15 |
3 files changed, 12 insertions, 36 deletions
diff --git a/chrome/renderer/print_web_view_helper.h b/chrome/renderer/print_web_view_helper.h index d08e392..5682879 100644 --- a/chrome/renderer/print_web_view_helper.h +++ b/chrome/renderer/print_web_view_helper.h @@ -6,8 +6,6 @@ #define CHROME_RENDERER_PRINT_WEB_VIEW_HELPER_H_ #pragma once -#include <vector> - #include "base/scoped_ptr.h" #include "base/time.h" #include "chrome/renderer/render_view_observer.h" diff --git a/chrome/renderer/print_web_view_helper_mac.mm b/chrome/renderer/print_web_view_helper_mac.mm index cc4a8d6..bdf7f17 100644 --- a/chrome/renderer/print_web_view_helper_mac.mm +++ b/chrome/renderer/print_web_view_helper_mac.mm @@ -9,19 +9,9 @@ #include "base/logging.h" #include "chrome/common/render_messages.h" #include "chrome/common/render_messages_params.h" -#include "chrome/renderer/render_view.h" -#include "grit/generated_resources.h" -#include "printing/native_metafile.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" -#include "third_party/WebKit/Source/WebKit/chromium/public/WebSize.h" -#include "ui/base/l10n/l10n_util.h" using WebKit::WebFrame; -using WebKit::WebCanvas; -using WebKit::WebRect; -using WebKit::WebSize; void PrintWebViewHelper::PrintPage(const ViewMsg_PrintPage_Params& params, const gfx::Size& canvas_size, @@ -31,29 +21,24 @@ void PrintWebViewHelper::PrintPage(const ViewMsg_PrintPage_Params& params, return; float scale_factor = frame->getPrintPageShrink(params.page_number); - double width = params.params.printable_size.width(); - double height = params.params.printable_size.height(); int page_number = params.page_number; // Render page for printing. gfx::Point origin(0.0f, 0.0f); RenderPage(params.params.printable_size, origin, scale_factor, page_number, frame, &metafile); - 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.page_number = page_number; page_params.document_cookie = params.params.document_cookie; page_params.actual_shrink = scale_factor; - page_params.page_size = params.params.page_size; - page_params.content_area = gfx::Rect(margin_left, margin_top, width, height); + page_params.content_area = gfx::Rect(params.params.margin_left, + params.params.margin_top, + params.params.printable_size.width(), + params.params.printable_size.height()); // Ask the browser to create the shared memory for us. if (!CopyMetafileDataToSharedMem(&metafile, @@ -76,16 +61,12 @@ void PrintWebViewHelper::CreatePreviewDocument( if (!page_count) return; - float scale_factor = frame->getPrintPageShrink(0); - double originX = printParams.margin_left; - double originY = printParams.margin_top; - printing::NativeMetafile metafile; if (!metafile.Init()) return; - gfx::Point origin(originX, originY); - + float scale_factor = frame->getPrintPageShrink(0); + gfx::Point origin(printParams.margin_left, printParams.margin_top); if (params.pages.empty()) { for (int i = 0; i < page_count; ++i) { RenderPage(printParams.page_size, origin, scale_factor, i, frame, diff --git a/chrome/renderer/print_web_view_helper_win.cc b/chrome/renderer/print_web_view_helper_win.cc index 94fe479..9521554 100644 --- a/chrome/renderer/print_web_view_helper_win.cc +++ b/chrome/renderer/print_web_view_helper_win.cc @@ -8,20 +8,17 @@ #include "base/process_util.h" #include "chrome/common/render_messages.h" #include "chrome/common/render_messages_params.h" -#include "chrome/renderer/render_view.h" -#include "grit/generated_resources.h" -#include "printing/native_metafile.h" #include "printing/units.h" #include "skia/ext/vector_canvas.h" #include "skia/ext/vector_platform_device.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h" #include "ui/gfx/gdi_util.h" -#include "ui/gfx/size.h" using printing::ConvertUnitDouble; using printing::kPointsPerInch; using WebKit::WebFrame; -using WebKit::WebString; + +namespace { int CALLBACK EnhMetaFileProc(HDC dc, HANDLETABLE* handle_table, @@ -63,6 +60,8 @@ int CALLBACK EnhMetaFileProc(HDC dc, return 1; // Continue enumeration } +} // namespace + void PrintWebViewHelper::PrintPage(const ViewMsg_PrintPage_Params& params, const gfx::Size& canvas_size, WebFrame* frame) { @@ -261,18 +260,16 @@ void PrintWebViewHelper::RenderPage( // Page used alpha blend, but printer doesn't support it. Rewrite the // metafile and flatten out the transparency. HDC bitmap_dc = CreateCompatibleDC(GetDC(NULL)); - if (!bitmap_dc) { + if (!bitmap_dc) NOTREACHED() << "Bitmap DC creation failed"; - } SetGraphicsMode(bitmap_dc, GM_ADVANCED); void* bits = NULL; BITMAPINFO hdr; gfx::CreateBitmapHeader(width, height, &hdr.bmiHeader); HBITMAP hbitmap = CreateDIBSection( bitmap_dc, &hdr, DIB_RGB_COLORS, &bits, NULL, 0); - if (!hbitmap) { + if (!hbitmap) NOTREACHED() << "Raster bitmap creation for printing failed"; - } HGDIOBJ old_bitmap = SelectObject(bitmap_dc, hbitmap); RECT rect = {0, 0, width, height }; |