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

Unified Diff: chrome/renderer/mock_printer.cc

Issue 7348010: Added Header and Footer support using Skia (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Added SK_API to vector platform device skia Created 9 years, 4 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
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(&params->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_;
}

Powered by Google App Engine
This is Rietveld 408576698