| Index: chrome/renderer/mock_printer.cc
|
| diff --git a/chrome/renderer/mock_printer.cc b/chrome/renderer/mock_printer.cc
|
| index 28708dfdba9f9da9d803c8d1839360c55fa51047..8546d6156804fc0d1b05b1880656cb1063fae613 100644
|
| --- a/chrome/renderer/mock_printer.cc
|
| +++ b/chrome/renderer/mock_printer.cc
|
| @@ -15,6 +15,29 @@
|
| #include "printing/units.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| +namespace {
|
| +
|
| +void UpdateMargins(int margins_type, int dpi, PrintMsg_Print_Params* params) {
|
| + if (margins_type == printing::NO_MARGINS) {
|
| + params->content_size.SetSize(static_cast<int>((8.5 * dpi)),
|
| + static_cast<int>((11.0 * dpi)));
|
| + params->margin_left = 0;
|
| + params->margin_top = 0;
|
| + } else if (margins_type == printing::PRINTABLE_AREA_MARGINS) {
|
| + params->content_size.SetSize(static_cast<int>((8.0 * dpi)),
|
| + static_cast<int>((10.5 * dpi)));
|
| + params->margin_left = static_cast<int>(0.25 * dpi);
|
| + params->margin_top = static_cast<int>(0.25 * dpi);
|
| + } else if (margins_type == printing::CUSTOM_MARGINS) {
|
| + params->content_size.SetSize(static_cast<int>((7.9 * dpi)),
|
| + static_cast<int>((10.4 * dpi)));
|
| + params->margin_left = static_cast<int>(0.30 * dpi);
|
| + params->margin_top = static_cast<int>(0.30 * dpi);
|
| + }
|
| +}
|
| +
|
| +} // end
|
| +
|
| MockPrinterPage::MockPrinterPage(const void* source_data,
|
| uint32 source_size,
|
| const printing::Image& image)
|
| @@ -40,6 +63,7 @@ MockPrinter::MockPrinter()
|
| number_pages_(0),
|
| page_number_(0),
|
| is_first_request_(true),
|
| + print_to_pdf_(false),
|
| preview_request_id_(0),
|
| display_header_footer_(false),
|
| date_(ASCIIToUTF16("date")),
|
| @@ -51,6 +75,10 @@ MockPrinter::MockPrinter()
|
| content_size_.SetSize(static_cast<int>((7.5 * dpi_)),
|
| static_cast<int>((10.0 * dpi_)));
|
| margin_left_ = margin_top_ = static_cast<int>(0.5 * dpi_);
|
| + printable_area_.SetRect(static_cast<int>(0.25 * dpi_),
|
| + static_cast<int>(0.25 *dpi_),
|
| + static_cast<int>(8 * dpi_),
|
| + static_cast<int>(10.5 * dpi_));
|
| }
|
|
|
| MockPrinter::~MockPrinter() {
|
| @@ -80,6 +108,7 @@ void MockPrinter::SetDefaultPrintSettings(const PrintMsg_Print_Params& params) {
|
| selection_only_ = params.selection_only;
|
| page_size_ = params.page_size;
|
| content_size_ = params.content_size;
|
| + printable_area_ = params.printable_area;
|
| margin_left_ = params.margin_left;
|
| margin_top_ = params.margin_top;
|
| display_header_footer_ = params.display_header_footer;
|
| @@ -111,7 +140,9 @@ void MockPrinter::ScriptedPrint(int cookie,
|
| settings->params.document_cookie = document_cookie_;
|
| settings->params.page_size = page_size_;
|
| settings->params.content_size = content_size_;
|
| + settings->params.printable_area = printable_area_;
|
| settings->params.is_first_request = is_first_request_;
|
| + settings->params.print_to_pdf = print_to_pdf_;
|
| settings->params.preview_request_id = preview_request_id_;
|
| settings->params.display_header_footer = display_header_footer_;
|
| settings->params.date = date_;
|
| @@ -122,13 +153,15 @@ void MockPrinter::ScriptedPrint(int cookie,
|
|
|
| void MockPrinter::UpdateSettings(int cookie,
|
| PrintMsg_PrintPages_Params* params,
|
| - const std::vector<int>& pages) {
|
| + const std::vector<int>& pages,
|
| + int margins_type) {
|
| if (document_cookie_ == -1) {
|
| document_cookie_ = CreateDocumentCookie();
|
| }
|
| params->Reset();
|
| params->pages = pages;
|
| SetPrintParams(&(params->params));
|
| + UpdateMargins(margins_type, dpi_, &(params->params));
|
| printer_status_ = PRINTER_PRINTING;
|
| }
|
|
|
| @@ -258,9 +291,11 @@ void MockPrinter::SetPrintParams(PrintMsg_Print_Params* params) {
|
| params->document_cookie = document_cookie_;
|
| params->page_size = page_size_;
|
| params->content_size = content_size_;
|
| + params->printable_area = printable_area_;
|
| params->margin_left = margin_left_;
|
| params->margin_top = margin_top_;
|
| params->is_first_request = is_first_request_;
|
| + params->print_to_pdf = print_to_pdf_;
|
| params->preview_request_id = preview_request_id_;
|
| params->display_header_footer = display_header_footer_;
|
| params->date = date_;
|
|
|