OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2007 Alp Toker <alp@atoker.com> | 2 * Copyright (C) 2007 Alp Toker <alp@atoker.com> |
3 * Copyright (C) 2007 Apple Inc. | 3 * Copyright (C) 2007 Apple Inc. |
4 * | 4 * |
5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
9 * | 9 * |
10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 | 181 |
182 while (object && !object->isBoxModelObject()) | 182 while (object && !object->isBoxModelObject()) |
183 object = object->parent(); | 183 object = object->parent(); |
184 if (!object) | 184 if (!object) |
185 return nullptr; | 185 return nullptr; |
186 return toLayoutBoxModelObject(object); | 186 return toLayoutBoxModelObject(object); |
187 } | 187 } |
188 | 188 |
189 int PrintContext::pageNumberForElement(Element* element, const FloatSize& pageSi
zeInPixels) | 189 int PrintContext::pageNumberForElement(Element* element, const FloatSize& pageSi
zeInPixels) |
190 { | 190 { |
191 element->document().updateLayout(); | 191 element->document().updateStyleAndLayout(); |
192 | 192 |
193 LocalFrame* frame = element->document().frame(); | 193 LocalFrame* frame = element->document().frame(); |
194 FloatRect pageRect(FloatPoint(0, 0), pageSizeInPixels); | 194 FloatRect pageRect(FloatPoint(0, 0), pageSizeInPixels); |
195 PrintContext printContext(frame); | 195 PrintContext printContext(frame); |
196 printContext.begin(pageRect.width(), pageRect.height()); | 196 printContext.begin(pageRect.width(), pageRect.height()); |
197 | 197 |
198 LayoutBoxModelObject* box = enclosingBoxModelObject(element->layoutObject())
; | 198 LayoutBoxModelObject* box = enclosingBoxModelObject(element->layoutObject())
; |
199 if (!box) | 199 if (!box) |
200 return -1; | 200 return -1; |
201 | 201 |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
296 { | 296 { |
297 IntSize pageSize(width, height); | 297 IntSize pageSize(width, height); |
298 frame->document()->pageSizeAndMarginsInPixels(pageNumber, pageSize, marginTo
p, marginRight, marginBottom, marginLeft); | 298 frame->document()->pageSizeAndMarginsInPixels(pageNumber, pageSize, marginTo
p, marginRight, marginBottom, marginLeft); |
299 | 299 |
300 return "(" + String::number(pageSize.width()) + ", " + String::number(pageSi
ze.height()) + ") " + | 300 return "(" + String::number(pageSize.width()) + ", " + String::number(pageSi
ze.height()) + ") " + |
301 String::number(marginTop) + ' ' + String::number(marginRight) + ' ' + St
ring::number(marginBottom) + ' ' + String::number(marginLeft); | 301 String::number(marginTop) + ' ' + String::number(marginRight) + ' ' + St
ring::number(marginBottom) + ' ' + String::number(marginLeft); |
302 } | 302 } |
303 | 303 |
304 int PrintContext::numberOfPages(LocalFrame* frame, const FloatSize& pageSizeInPi
xels) | 304 int PrintContext::numberOfPages(LocalFrame* frame, const FloatSize& pageSizeInPi
xels) |
305 { | 305 { |
306 frame->document()->updateLayout(); | 306 frame->document()->updateStyleAndLayout(); |
307 | 307 |
308 FloatRect pageRect(FloatPoint(0, 0), pageSizeInPixels); | 308 FloatRect pageRect(FloatPoint(0, 0), pageSizeInPixels); |
309 PrintContext printContext(frame); | 309 PrintContext printContext(frame); |
310 printContext.begin(pageRect.width(), pageRect.height()); | 310 printContext.begin(pageRect.width(), pageRect.height()); |
311 // Account for shrink-to-fit. | 311 // Account for shrink-to-fit. |
312 FloatSize scaledPageSize = pageSizeInPixels; | 312 FloatSize scaledPageSize = pageSizeInPixels; |
313 scaledPageSize.scale(frame->view()->contentsSize().width() / pageRect.width(
)); | 313 scaledPageSize.scale(frame->view()->contentsSize().width() / pageRect.width(
)); |
314 printContext.computePageRectsWithPageSize(scaledPageSize); | 314 printContext.computePageRectsWithPageSize(scaledPageSize); |
315 return printContext.pageCount(); | 315 return printContext.pageCount(); |
316 } | 316 } |
317 | 317 |
318 DEFINE_TRACE(PrintContext) | 318 DEFINE_TRACE(PrintContext) |
319 { | 319 { |
320 visitor->trace(m_frame); | 320 visitor->trace(m_frame); |
321 visitor->trace(m_linkedDestinations); | 321 visitor->trace(m_linkedDestinations); |
322 } | 322 } |
323 | 323 |
324 } // namespace blink | 324 } // namespace blink |
OLD | NEW |