| Index: chrome/renderer/mock_printer.cc
|
| diff --git a/chrome/renderer/mock_printer.cc b/chrome/renderer/mock_printer.cc
|
| index ac2c77994cde1240d97284b08aa7c46a97c84bbe..0f82115b177809eb176276574049569fd58307fb 100644
|
| --- a/chrome/renderer/mock_printer.cc
|
| +++ b/chrome/renderer/mock_printer.cc
|
| @@ -4,14 +4,78 @@
|
|
|
| #include "chrome/renderer/mock_printer.h"
|
|
|
| +#include "base/basictypes.h"
|
| #include "base/file_util.h"
|
| #include "base/shared_memory.h"
|
| +#include "base/string16.h"
|
| +#include "base/utf_string_conversions.h"
|
| #include "chrome/common/print_messages.h"
|
| #include "ipc/ipc_message_utils.h"
|
| #include "printing/metafile_impl.h"
|
| #include "printing/units.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| +PrintMsg_Print_Params_Clone::PrintMsg_Print_Params_Clone()
|
| + : page_size_(),
|
| + printable_size_(),
|
| + margin_top_(0),
|
| + margin_left_(0),
|
| + dpi_(0),
|
| + min_shrink_(0),
|
| + max_shrink_(0),
|
| + desired_dpi_(0),
|
| + document_cookie_(0),
|
| + selection_only_(0),
|
| + supports_alpha_blend_(0),
|
| + preview_request_id_(0),
|
| + is_first_request_(0),
|
| + display_header_footer_(0),
|
| + date_(),
|
| + title_(),
|
| + url_() {
|
| +}
|
| +
|
| +PrintMsg_Print_Params_Clone::~PrintMsg_Print_Params_Clone(){}
|
| +
|
| +void PrintMsg_Print_Params_Clone::ResetParams(PrintMsg_Print_Params* params) {
|
| + params->dpi = dpi_;
|
| + params->max_shrink = max_shrink_;
|
| + params->min_shrink = min_shrink_;
|
| + params->desired_dpi = desired_dpi_;
|
| + params->selection_only = selection_only_;
|
| + params->document_cookie = document_cookie_;
|
| + params->page_size = page_size_;
|
| + params->printable_size = printable_size_;
|
| + params->margin_left = margin_left_;
|
| + params->margin_top = margin_top_;
|
| + params->is_first_request = is_first_request_;
|
| + params->preview_request_id = preview_request_id_;
|
| + params->display_header_footer = display_header_footer_;
|
| + params->date = date_;
|
| + params->title = title_;
|
| + params->url = url_;
|
| +
|
| + COMPILE_ASSERT(sizeof(PrintMsg_Print_Params_Clone) ==
|
| + sizeof(PrintMsg_Print_Params),
|
| + PrintMsg_Print_Params);
|
| +}
|
| +
|
| +PrintMsg_PrintPages_Params_Clone::PrintMsg_PrintPages_Params_Clone()
|
| + : pages_(0) {
|
| +}
|
| +
|
| +PrintMsg_PrintPages_Params_Clone::~PrintMsg_PrintPages_Params_Clone(){}
|
| +
|
| +void PrintMsg_PrintPages_Params_Clone::ResetParams(
|
| + PrintMsg_PrintPages_Params* params) {
|
| + params_.ResetParams(¶ms->params);
|
| + params->pages = pages_;
|
| +
|
| + COMPILE_ASSERT(sizeof(PrintMsg_PrintPages_Params_Clone) ==
|
| + sizeof(PrintMsg_PrintPages_Params_Clone),
|
| + PrintMsg_PrintPages_Params);
|
| +}
|
| +
|
| MockPrinterPage::MockPrinterPage(const void* source_data,
|
| uint32 source_size,
|
| const printing::Image& image)
|
| @@ -37,7 +101,11 @@ MockPrinter::MockPrinter()
|
| number_pages_(0),
|
| page_number_(0),
|
| is_first_request_(true),
|
| - preview_request_id_(0) {
|
| + preview_request_id_(0),
|
| + display_header_footer_(false),
|
| + date_(ASCIIToUTF16("date")),
|
| + title_(ASCIIToUTF16("title")),
|
| + url_(ASCIIToUTF16("url")) {
|
| page_size_.SetSize(static_cast<int>(8.5 * dpi_),
|
| static_cast<int>(11.0 * dpi_));
|
| printable_size_.SetSize(static_cast<int>((7.5 * dpi_)),
|
| @@ -60,7 +128,8 @@ void MockPrinter::GetDefaultPrintSettings(PrintMsg_Print_Params* params) {
|
|
|
| // Assign a unit document cookie and set the print settings.
|
| document_cookie_ = CreateDocumentCookie();
|
| - memset(params, 0, sizeof(PrintMsg_Print_Params));
|
| + PrintMsg_Print_Params_Clone params_clone;
|
| + params_clone.ResetParams(params);
|
| SetPrintParams(params);
|
| }
|
|
|
| @@ -74,6 +143,10 @@ void MockPrinter::SetDefaultPrintSettings(const PrintMsg_Print_Params& params) {
|
| printable_size_ = params.printable_size;
|
| margin_left_ = params.margin_left;
|
| margin_top_ = params.margin_top;
|
| + display_header_footer_ = params.display_header_footer;
|
| + date_ = params.date;
|
| + title_ = params.title;
|
| + url_ = params.url;
|
| }
|
|
|
| void MockPrinter::ScriptedPrint(int cookie,
|
| @@ -83,7 +156,9 @@ void MockPrinter::ScriptedPrint(int cookie,
|
| // Verify the input parameters.
|
| EXPECT_EQ(document_cookie_, cookie);
|
|
|
| - memset(settings, 0, sizeof(PrintMsg_PrintPages_Params));
|
| + PrintMsg_PrintPages_Params_Clone params_clone;
|
| + params_clone.ResetParams(settings);
|
| +
|
| settings->params.dpi = dpi_;
|
| settings->params.max_shrink = max_shrink_;
|
| settings->params.min_shrink = min_shrink_;
|
| @@ -94,6 +169,10 @@ void MockPrinter::ScriptedPrint(int cookie,
|
| settings->params.printable_size = printable_size_;
|
| settings->params.is_first_request = is_first_request_;
|
| settings->params.preview_request_id = preview_request_id_;
|
| + settings->params.display_header_footer = display_header_footer_;
|
| + settings->params.date = date_;
|
| + settings->params.title = title_;
|
| + settings->params.url = url_;
|
| printer_status_ = PRINTER_PRINTING;
|
| }
|
|
|
| @@ -101,7 +180,8 @@ void MockPrinter::UpdateSettings(int cookie,
|
| PrintMsg_PrintPages_Params* params) {
|
| EXPECT_EQ(document_cookie_, cookie);
|
|
|
| - memset(params, 0, sizeof(PrintMsg_PrintPages_Params));
|
| + PrintMsg_PrintPages_Params_Clone params_clone;
|
| + params_clone.ResetParams(params);
|
| SetPrintParams(&(params->params));
|
| printer_status_ = PRINTER_PRINTING;
|
| }
|
| @@ -236,4 +316,8 @@ void MockPrinter::SetPrintParams(PrintMsg_Print_Params* params) {
|
| params->margin_top = margin_top_;
|
| params->is_first_request = is_first_request_;
|
| params->preview_request_id = preview_request_id_;
|
| + params->display_header_footer = display_header_footer_;
|
| + params->date = date_;
|
| + params->title = title_;
|
| + params->url = url_;
|
| }
|
|
|