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

Side by Side Diff: chrome/renderer/mock_printer.cc

Issue 118338: Add support for printing selection only flag. This only adds the flag to the ... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 6 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/mock_render_thread.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) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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/file_util.h" 7 #include "base/file_util.h"
8 #include "base/gfx/png_encoder.h" 8 #include "base/gfx/png_encoder.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/md5.h" 10 #include "base/md5.h"
11 #include "base/shared_memory.h" 11 #include "base/shared_memory.h"
12 #include "chrome/common/ipc_message_utils.h" 12 #include "chrome/common/ipc_message_utils.h"
13 #include "chrome/common/render_messages.h" 13 #include "chrome/common/render_messages.h"
14 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
15 15
16 MockPrinter::MockPrinter() 16 MockPrinter::MockPrinter()
17 : printable_width_(0), 17 : printable_width_(0),
18 printable_height_(0), 18 printable_height_(0),
19 dpi_(72), 19 dpi_(72),
20 max_shrink_(2.0), 20 max_shrink_(2.0),
21 min_shrink_(1.25), 21 min_shrink_(1.25),
22 desired_dpi_(72), 22 desired_dpi_(72),
23 selection_only_(false),
23 document_cookie_(-1), 24 document_cookie_(-1),
24 current_document_cookie_(0), 25 current_document_cookie_(0),
25 printer_status_(PRINTER_READY), 26 printer_status_(PRINTER_READY),
26 number_pages_(0), 27 number_pages_(0),
27 page_number_(0) { 28 page_number_(0) {
28 printable_width_ = static_cast<int>(dpi_ * 8.5); 29 printable_width_ = static_cast<int>(dpi_ * 8.5);
29 printable_height_ = static_cast<int>(dpi_ * 11.0); 30 printable_height_ = static_cast<int>(dpi_ * 11.0);
30 } 31 }
31 32
32 MockPrinter::~MockPrinter() { 33 MockPrinter::~MockPrinter() {
33 } 34 }
34 35
35 void MockPrinter::ResetPrinter() { 36 void MockPrinter::ResetPrinter() {
36 printer_status_ = PRINTER_READY; 37 printer_status_ = PRINTER_READY;
37 document_cookie_ = -1; 38 document_cookie_ = -1;
38 } 39 }
39 40
40 void MockPrinter::GetDefaultPrintSettings(ViewMsg_Print_Params* params) { 41 void MockPrinter::GetDefaultPrintSettings(ViewMsg_Print_Params* params) {
41 // Verify this printer is not processing a job. 42 // Verify this printer is not processing a job.
42 // Sorry, this mock printer is very fragile. 43 // Sorry, this mock printer is very fragile.
43 EXPECT_EQ(-1, document_cookie_); 44 EXPECT_EQ(-1, document_cookie_);
44 45
45 // Assign a unit document cookie and set the print settings. 46 // Assign a unit document cookie and set the print settings.
46 document_cookie_ = CreateDocumentCookie(); 47 document_cookie_ = CreateDocumentCookie();
47 memset(params, 0, sizeof(ViewMsg_Print_Params)); 48 memset(params, 0, sizeof(ViewMsg_Print_Params));
48 params->dpi = dpi_; 49 params->dpi = dpi_;
49 params->max_shrink = max_shrink_; 50 params->max_shrink = max_shrink_;
50 params->min_shrink = min_shrink_; 51 params->min_shrink = min_shrink_;
51 params->desired_dpi = desired_dpi_; 52 params->desired_dpi = desired_dpi_;
53 params->selection_only = selection_only_;
52 params->document_cookie = document_cookie_; 54 params->document_cookie = document_cookie_;
53 params->printable_size.set_width(printable_width_); 55 params->printable_size.set_width(printable_width_);
54 params->printable_size.set_height(printable_height_); 56 params->printable_size.set_height(printable_height_);
55 } 57 }
56 58
57 void MockPrinter::SetDefaultPrintSettings(const ViewMsg_Print_Params& params) { 59 void MockPrinter::SetDefaultPrintSettings(const ViewMsg_Print_Params& params) {
58 dpi_ = params.dpi; 60 dpi_ = params.dpi;
59 max_shrink_ = params.max_shrink; 61 max_shrink_ = params.max_shrink;
60 min_shrink_ = params.min_shrink; 62 min_shrink_ = params.min_shrink;
61 desired_dpi_ = params.desired_dpi; 63 desired_dpi_ = params.desired_dpi;
64 selection_only_ = params.selection_only;
62 printable_width_ = params.printable_size.width(); 65 printable_width_ = params.printable_size.width();
63 printable_height_ = params.printable_size.height(); 66 printable_height_ = params.printable_size.height();
64 } 67 }
65 68
66 void MockPrinter::ScriptedPrint(int cookie, 69 void MockPrinter::ScriptedPrint(int cookie,
67 int expected_pages_count, 70 int expected_pages_count,
71 bool has_selection,
68 ViewMsg_PrintPages_Params* settings) { 72 ViewMsg_PrintPages_Params* settings) {
69 // Verify the input parameters. 73 // Verify the input parameters.
70 EXPECT_EQ(document_cookie_, cookie); 74 EXPECT_EQ(document_cookie_, cookie);
71 75
72 memset(settings, 0, sizeof(ViewMsg_PrintPages_Params)); 76 memset(settings, 0, sizeof(ViewMsg_PrintPages_Params));
73 settings->params.dpi = dpi_; 77 settings->params.dpi = dpi_;
74 settings->params.max_shrink = max_shrink_; 78 settings->params.max_shrink = max_shrink_;
75 settings->params.min_shrink = min_shrink_; 79 settings->params.min_shrink = min_shrink_;
76 settings->params.desired_dpi = desired_dpi_; 80 settings->params.desired_dpi = desired_dpi_;
81 settings->params.selection_only = selection_only_;
77 settings->params.document_cookie = document_cookie_; 82 settings->params.document_cookie = document_cookie_;
78 settings->params.printable_size.set_width(printable_width_); 83 settings->params.printable_size.set_width(printable_width_);
79 settings->params.printable_size.set_height(printable_height_); 84 settings->params.printable_size.set_height(printable_height_);
80 printer_status_ = PRINTER_PRINTING; 85 printer_status_ = PRINTER_PRINTING;
81 } 86 }
82 87
83 void MockPrinter::SetPrintedPagesCount(int cookie, int number_pages) { 88 void MockPrinter::SetPrintedPagesCount(int cookie, int number_pages) {
84 // Verify the input parameter and update the printer status so that the 89 // Verify the input parameter and update the printer status so that the
85 // RenderViewTest class can verify the this function finishes without errors. 90 // RenderViewTest class can verify the this function finishes without errors.
86 EXPECT_EQ(document_cookie_, cookie); 91 EXPECT_EQ(document_cookie_, cookie);
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 } 210 }
206 211
207 bool MockPrinter::GetChecksum(const void* data, 212 bool MockPrinter::GetChecksum(const void* data,
208 size_t size, 213 size_t size,
209 std::string* checksum) const { 214 std::string* checksum) const {
210 MD5Digest digest; 215 MD5Digest digest;
211 MD5Sum(data, size, &digest); 216 MD5Sum(data, size, &digest);
212 checksum->assign(HexEncode(&digest, sizeof(digest))); 217 checksum->assign(HexEncode(&digest, sizeof(digest)));
213 return true; 218 return true;
214 } 219 }
OLDNEW
« no previous file with comments | « chrome/renderer/mock_printer.h ('k') | chrome/renderer/mock_render_thread.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698