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

Side by Side Diff: printing/printed_document.cc

Issue 8585017: PrintPreview: Honor the print media page size and margin values. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix win and mac issues Created 8 years, 11 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
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 "printing/printed_document.h" 5 #include "printing/printed_document.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 Metafile* metafile, 67 Metafile* metafile,
68 double shrink, 68 double shrink,
69 const gfx::Size& paper_size, 69 const gfx::Size& paper_size,
70 const gfx::Rect& page_rect) { 70 const gfx::Rect& page_rect) {
71 // Notice the page_number + 1, the reason is that this is the value that will 71 // Notice the page_number + 1, the reason is that this is the value that will
72 // be shown. Users dislike 0-based counting. 72 // be shown. Users dislike 0-based counting.
73 scoped_refptr<PrintedPage> page( 73 scoped_refptr<PrintedPage> page(
74 new PrintedPage(page_number + 1, 74 new PrintedPage(page_number + 1,
75 metafile, 75 metafile,
76 paper_size, 76 paper_size,
77 page_rect)); 77 page_rect,
78 shrink));
78 { 79 {
79 base::AutoLock lock(lock_); 80 base::AutoLock lock(lock_);
80 mutable_.pages_[page_number] = page; 81 mutable_.pages_[page_number] = page;
81 82
82 #if defined(OS_POSIX) && !defined(OS_MACOSX) 83 #if defined(OS_POSIX) && !defined(OS_MACOSX)
83 if (page_number < mutable_.first_page) 84 if (page_number < mutable_.first_page)
84 mutable_.first_page = page_number; 85 mutable_.first_page = page_number;
85 #endif 86 #endif
86
87 if (mutable_.shrink_factor == 0) {
88 mutable_.shrink_factor = shrink;
89 } else {
90 DCHECK_EQ(mutable_.shrink_factor, shrink);
91 }
92 } 87 }
93 DebugDump(*page); 88 DebugDump(*page);
94 } 89 }
95 90
96 bool PrintedDocument::GetPage(int page_number, 91 bool PrintedDocument::GetPage(int page_number,
97 scoped_refptr<PrintedPage>* page) { 92 scoped_refptr<PrintedPage>* page) {
98 base::AutoLock lock(lock_); 93 base::AutoLock lock(lock_);
99 PrintedPages::const_iterator itr = mutable_.pages_.find(page_number); 94 PrintedPages::const_iterator itr = mutable_.pages_.find(page_number);
100 if (itr != mutable_.pages_.end()) { 95 if (itr != mutable_.pages_.end()) {
101 if (itr->second.get()) { 96 if (itr->second.get()) {
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 g_debug_dump_info.Get().debug_dump_path = debug_dump_path; 196 g_debug_dump_info.Get().debug_dump_path = debug_dump_path;
202 } 197 }
203 198
204 const FilePath& PrintedDocument::debug_dump_path() { 199 const FilePath& PrintedDocument::debug_dump_path() {
205 return g_debug_dump_info.Get().debug_dump_path; 200 return g_debug_dump_info.Get().debug_dump_path;
206 } 201 }
207 202
208 PrintedDocument::Mutable::Mutable(PrintedPagesSource* source) 203 PrintedDocument::Mutable::Mutable(PrintedPagesSource* source)
209 : source_(source), 204 : source_(source),
210 expected_page_count_(0), 205 expected_page_count_(0),
211 page_count_(0), 206 page_count_(0) {
212 shrink_factor(0) {
213 #if defined(OS_POSIX) && !defined(OS_MACOSX) 207 #if defined(OS_POSIX) && !defined(OS_MACOSX)
214 first_page = INT_MAX; 208 first_page = INT_MAX;
215 #endif 209 #endif
216 } 210 }
217 211
218 PrintedDocument::Mutable::~Mutable() { 212 PrintedDocument::Mutable::~Mutable() {
219 } 213 }
220 214
221 PrintedDocument::Immutable::Immutable(const PrintSettings& settings, 215 PrintedDocument::Immutable::Immutable(const PrintSettings& settings,
222 PrintedPagesSource* source, 216 PrintedPagesSource* source,
223 int cookie) 217 int cookie)
224 : settings_(settings), 218 : settings_(settings),
225 source_message_loop_(MessageLoop::current()), 219 source_message_loop_(MessageLoop::current()),
226 name_(source->RenderSourceName()), 220 name_(source->RenderSourceName()),
227 cookie_(cookie) { 221 cookie_(cookie) {
228 } 222 }
229 223
230 PrintedDocument::Immutable::~Immutable() { 224 PrintedDocument::Immutable::~Immutable() {
231 } 225 }
232 226
233 #if defined(OS_POSIX) && defined(USE_AURA) 227 #if defined(OS_POSIX) && defined(USE_AURA)
234 // This function is not used on aura linux/chromeos. 228 // This function is not used on aura linux/chromeos.
235 void PrintedDocument::RenderPrintedPage(const PrintedPage& page, 229 void PrintedDocument::RenderPrintedPage(const PrintedPage& page,
236 PrintingContext* context) const { 230 PrintingContext* context) const {
237 } 231 }
238 #endif 232 #endif
239 233
240 } // namespace printing 234 } // namespace printing
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698