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

Side by Side 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: New snapshot based on Kausalya and Steve's comments 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/renderer/mock_printer.h ('k') | chrome/renderer/print_web_view_helper.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/renderer/mock_printer.h" 5 #include "chrome/renderer/mock_printer.h"
6 6
7 #include "base/basictypes.h"
7 #include "base/file_util.h" 8 #include "base/file_util.h"
8 #include "base/shared_memory.h" 9 #include "base/shared_memory.h"
10 #include "base/string16.h"
11 #include "base/utf_string_conversions.h"
9 #include "chrome/common/print_messages.h" 12 #include "chrome/common/print_messages.h"
10 #include "ipc/ipc_message_utils.h" 13 #include "ipc/ipc_message_utils.h"
11 #include "printing/metafile_impl.h" 14 #include "printing/metafile_impl.h"
12 #include "printing/units.h" 15 #include "printing/units.h"
13 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
14 17
18 PrintMsg_Print_Params_Clone::PrintMsg_Print_Params_Clone()
19 : page_size_(),
20 printable_size_(),
21 margin_top_(0),
22 margin_left_(0),
23 dpi_(0),
24 min_shrink_(0),
25 max_shrink_(0),
26 desired_dpi_(0),
27 document_cookie_(0),
28 selection_only_(0),
29 supports_alpha_blend_(0),
30 preview_request_id_(0),
31 is_first_request_(0),
32 display_header_footer_(0),
33 date_(),
34 title_(),
35 url_() {
36 }
37
38 PrintMsg_Print_Params_Clone::~PrintMsg_Print_Params_Clone(){}
39
40 void PrintMsg_Print_Params_Clone::ResetParams(PrintMsg_Print_Params* params) {
41 params->dpi = dpi_;
42 params->max_shrink = max_shrink_;
43 params->min_shrink = min_shrink_;
44 params->desired_dpi = desired_dpi_;
45 params->selection_only = selection_only_;
46 params->document_cookie = document_cookie_;
47 params->page_size = page_size_;
48 params->printable_size = printable_size_;
49 params->margin_left = margin_left_;
50 params->margin_top = margin_top_;
51 params->is_first_request = is_first_request_;
52 params->preview_request_id = preview_request_id_;
53 params->display_header_footer = display_header_footer_;
54 params->date = date_;
55 params->title = title_;
56 params->url = url_;
57
58 COMPILE_ASSERT(sizeof(PrintMsg_Print_Params_Clone) ==
59 sizeof(PrintMsg_Print_Params),
60 PrintMsg_Print_Params);
61 }
62
63 PrintMsg_PrintPages_Params_Clone::PrintMsg_PrintPages_Params_Clone()
64 : pages_(0) {
65 }
66
67 PrintMsg_PrintPages_Params_Clone::~PrintMsg_PrintPages_Params_Clone(){}
68
69 void PrintMsg_PrintPages_Params_Clone::ResetParams(
70 PrintMsg_PrintPages_Params* params) {
71 params_.ResetParams(&params->params);
72 if (params->pages.size() != 0)
73 params->pages.clear();
kmadhusu 2011/08/16 21:00:28 Sorry for the false alarm.. It looks like memset()
Aayush Kumar 2011/08/16 22:33:18 Done.
74
75 COMPILE_ASSERT(sizeof(PrintMsg_PrintPages_Params_Clone) ==
76 sizeof(PrintMsg_PrintPages_Params_Clone),
77 PrintMsg_PrintPages_Params);
78 }
79
15 MockPrinterPage::MockPrinterPage(const void* source_data, 80 MockPrinterPage::MockPrinterPage(const void* source_data,
16 uint32 source_size, 81 uint32 source_size,
17 const printing::Image& image) 82 const printing::Image& image)
18 : source_size_(source_size), 83 : source_size_(source_size),
19 image_(image) { 84 image_(image) {
20 // Create copies of the source data 85 // Create copies of the source data
21 source_data_.reset(new uint8[source_size]); 86 source_data_.reset(new uint8[source_size]);
22 if (source_data_.get()) 87 if (source_data_.get())
23 memcpy(source_data_.get(), source_data, source_size); 88 memcpy(source_data_.get(), source_data, source_size);
24 } 89 }
25 90
26 MockPrinterPage::~MockPrinterPage() {} 91 MockPrinterPage::~MockPrinterPage() {}
27 92
28 MockPrinter::MockPrinter() 93 MockPrinter::MockPrinter()
29 : dpi_(printing::kPointsPerInch), 94 : dpi_(printing::kPointsPerInch),
30 max_shrink_(2.0), 95 max_shrink_(2.0),
31 min_shrink_(1.25), 96 min_shrink_(1.25),
32 desired_dpi_(printing::kPointsPerInch), 97 desired_dpi_(printing::kPointsPerInch),
33 selection_only_(false), 98 selection_only_(false),
34 document_cookie_(-1), 99 document_cookie_(-1),
35 current_document_cookie_(0), 100 current_document_cookie_(0),
36 printer_status_(PRINTER_READY), 101 printer_status_(PRINTER_READY),
37 number_pages_(0), 102 number_pages_(0),
38 page_number_(0), 103 page_number_(0),
39 is_first_request_(true), 104 is_first_request_(true),
40 preview_request_id_(0) { 105 preview_request_id_(0),
106 display_header_footer_(false),
107 date_(ASCIIToUTF16("date")),
108 title_(ASCIIToUTF16("title")),
109 url_(ASCIIToUTF16("url")) {
41 page_size_.SetSize(static_cast<int>(8.5 * dpi_), 110 page_size_.SetSize(static_cast<int>(8.5 * dpi_),
42 static_cast<int>(11.0 * dpi_)); 111 static_cast<int>(11.0 * dpi_));
43 printable_size_.SetSize(static_cast<int>((7.5 * dpi_)), 112 printable_size_.SetSize(static_cast<int>((7.5 * dpi_)),
44 static_cast<int>((10.0 * dpi_))); 113 static_cast<int>((10.0 * dpi_)));
45 margin_left_ = margin_top_ = static_cast<int>(0.5 * dpi_); 114 margin_left_ = margin_top_ = static_cast<int>(0.5 * dpi_);
46 } 115 }
47 116
48 MockPrinter::~MockPrinter() { 117 MockPrinter::~MockPrinter() {
49 } 118 }
50 119
51 void MockPrinter::ResetPrinter() { 120 void MockPrinter::ResetPrinter() {
52 printer_status_ = PRINTER_READY; 121 printer_status_ = PRINTER_READY;
53 document_cookie_ = -1; 122 document_cookie_ = -1;
54 } 123 }
55 124
56 void MockPrinter::GetDefaultPrintSettings(PrintMsg_Print_Params* params) { 125 void MockPrinter::GetDefaultPrintSettings(PrintMsg_Print_Params* params) {
57 // Verify this printer is not processing a job. 126 // Verify this printer is not processing a job.
58 // Sorry, this mock printer is very fragile. 127 // Sorry, this mock printer is very fragile.
59 EXPECT_EQ(-1, document_cookie_); 128 EXPECT_EQ(-1, document_cookie_);
60 129
61 // Assign a unit document cookie and set the print settings. 130 // Assign a unit document cookie and set the print settings.
62 document_cookie_ = CreateDocumentCookie(); 131 document_cookie_ = CreateDocumentCookie();
63 memset(params, 0, sizeof(PrintMsg_Print_Params)); 132 PrintMsg_Print_Params_Clone params_clone;
133 params_clone.ResetParams(params);
64 SetPrintParams(params); 134 SetPrintParams(params);
65 } 135 }
66 136
67 void MockPrinter::SetDefaultPrintSettings(const PrintMsg_Print_Params& params) { 137 void MockPrinter::SetDefaultPrintSettings(const PrintMsg_Print_Params& params) {
68 dpi_ = params.dpi; 138 dpi_ = params.dpi;
69 max_shrink_ = params.max_shrink; 139 max_shrink_ = params.max_shrink;
70 min_shrink_ = params.min_shrink; 140 min_shrink_ = params.min_shrink;
71 desired_dpi_ = params.desired_dpi; 141 desired_dpi_ = params.desired_dpi;
72 selection_only_ = params.selection_only; 142 selection_only_ = params.selection_only;
73 page_size_ = params.page_size; 143 page_size_ = params.page_size;
74 printable_size_ = params.printable_size; 144 printable_size_ = params.printable_size;
75 margin_left_ = params.margin_left; 145 margin_left_ = params.margin_left;
76 margin_top_ = params.margin_top; 146 margin_top_ = params.margin_top;
147 display_header_footer_ = params.display_header_footer;
148 date_ = params.date;
149 title_ = params.title;
150 url_ = params.url;
77 } 151 }
78 152
79 void MockPrinter::ScriptedPrint(int cookie, 153 void MockPrinter::ScriptedPrint(int cookie,
80 int expected_pages_count, 154 int expected_pages_count,
81 bool has_selection, 155 bool has_selection,
82 PrintMsg_PrintPages_Params* settings) { 156 PrintMsg_PrintPages_Params* settings) {
83 // Verify the input parameters. 157 // Verify the input parameters.
84 EXPECT_EQ(document_cookie_, cookie); 158 EXPECT_EQ(document_cookie_, cookie);
85 159
86 memset(settings, 0, sizeof(PrintMsg_PrintPages_Params)); 160 PrintMsg_PrintPages_Params_Clone params_clone;
161 params_clone.ResetParams(settings);
162
87 settings->params.dpi = dpi_; 163 settings->params.dpi = dpi_;
88 settings->params.max_shrink = max_shrink_; 164 settings->params.max_shrink = max_shrink_;
89 settings->params.min_shrink = min_shrink_; 165 settings->params.min_shrink = min_shrink_;
90 settings->params.desired_dpi = desired_dpi_; 166 settings->params.desired_dpi = desired_dpi_;
91 settings->params.selection_only = selection_only_; 167 settings->params.selection_only = selection_only_;
92 settings->params.document_cookie = document_cookie_; 168 settings->params.document_cookie = document_cookie_;
93 settings->params.page_size = page_size_; 169 settings->params.page_size = page_size_;
94 settings->params.printable_size = printable_size_; 170 settings->params.printable_size = printable_size_;
95 settings->params.is_first_request = is_first_request_; 171 settings->params.is_first_request = is_first_request_;
96 settings->params.preview_request_id = preview_request_id_; 172 settings->params.preview_request_id = preview_request_id_;
173 settings->params.display_header_footer = display_header_footer_;
174 settings->params.date = date_;
175 settings->params.title = title_;
176 settings->params.url = url_;
97 printer_status_ = PRINTER_PRINTING; 177 printer_status_ = PRINTER_PRINTING;
98 } 178 }
99 179
100 void MockPrinter::UpdateSettings(int cookie, 180 void MockPrinter::UpdateSettings(int cookie,
101 PrintMsg_PrintPages_Params* params) { 181 PrintMsg_PrintPages_Params* params) {
102 EXPECT_EQ(document_cookie_, cookie); 182 EXPECT_EQ(document_cookie_, cookie);
103 183
104 memset(params, 0, sizeof(PrintMsg_PrintPages_Params)); 184 PrintMsg_PrintPages_Params_Clone params_clone;
185 params_clone.ResetParams(params);
105 SetPrintParams(&(params->params)); 186 SetPrintParams(&(params->params));
106 printer_status_ = PRINTER_PRINTING; 187 printer_status_ = PRINTER_PRINTING;
107 } 188 }
108 189
109 void MockPrinter::SetPrintedPagesCount(int cookie, int number_pages) { 190 void MockPrinter::SetPrintedPagesCount(int cookie, int number_pages) {
110 // Verify the input parameter and update the printer status so that the 191 // Verify the input parameter and update the printer status so that the
111 // RenderViewTest class can verify the this function finishes without errors. 192 // RenderViewTest class can verify the this function finishes without errors.
112 EXPECT_EQ(document_cookie_, cookie); 193 EXPECT_EQ(document_cookie_, cookie);
113 EXPECT_EQ(PRINTER_PRINTING, printer_status_); 194 EXPECT_EQ(PRINTER_PRINTING, printer_status_);
114 EXPECT_EQ(0, number_pages_); 195 EXPECT_EQ(0, number_pages_);
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 params->min_shrink = min_shrink_; 310 params->min_shrink = min_shrink_;
230 params->desired_dpi = desired_dpi_; 311 params->desired_dpi = desired_dpi_;
231 params->selection_only = selection_only_; 312 params->selection_only = selection_only_;
232 params->document_cookie = document_cookie_; 313 params->document_cookie = document_cookie_;
233 params->page_size = page_size_; 314 params->page_size = page_size_;
234 params->printable_size = printable_size_; 315 params->printable_size = printable_size_;
235 params->margin_left = margin_left_; 316 params->margin_left = margin_left_;
236 params->margin_top = margin_top_; 317 params->margin_top = margin_top_;
237 params->is_first_request = is_first_request_; 318 params->is_first_request = is_first_request_;
238 params->preview_request_id = preview_request_id_; 319 params->preview_request_id = preview_request_id_;
320 params->display_header_footer = display_header_footer_;
321 params->date = date_;
322 params->title = title_;
323 params->url = url_;
239 } 324 }
OLDNEW
« no previous file with comments | « chrome/renderer/mock_printer.h ('k') | chrome/renderer/print_web_view_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698