OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv
ed. | 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv
ed. |
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 20 matching lines...) Expand all Loading... |
31 #include "core/html/HTMLIFrameElement.h" | 31 #include "core/html/HTMLIFrameElement.h" |
32 #include "core/html/HTMLVideoElement.h" | 32 #include "core/html/HTMLVideoElement.h" |
33 #include "core/inspector/InspectorTraceEvents.h" | 33 #include "core/inspector/InspectorTraceEvents.h" |
34 #include "core/layout/HitTestResult.h" | 34 #include "core/layout/HitTestResult.h" |
35 #include "core/layout/LayoutFlowThread.h" | 35 #include "core/layout/LayoutFlowThread.h" |
36 #include "core/layout/LayoutGeometryMap.h" | 36 #include "core/layout/LayoutGeometryMap.h" |
37 #include "core/layout/LayoutMedia.h" | 37 #include "core/layout/LayoutMedia.h" |
38 #include "core/layout/LayoutPart.h" | 38 #include "core/layout/LayoutPart.h" |
39 #include "core/layout/LayoutQuote.h" | 39 #include "core/layout/LayoutQuote.h" |
40 #include "core/layout/LayoutScrollbarPart.h" | 40 #include "core/layout/LayoutScrollbarPart.h" |
| 41 #include "core/layout/ViewFragmentationContext.h" |
41 #include "core/layout/compositing/PaintLayerCompositor.h" | 42 #include "core/layout/compositing/PaintLayerCompositor.h" |
42 #include "core/page/Page.h" | 43 #include "core/page/Page.h" |
43 #include "core/paint/PaintLayer.h" | 44 #include "core/paint/PaintLayer.h" |
44 #include "core/paint/ViewPainter.h" | 45 #include "core/paint/ViewPainter.h" |
45 #include "core/svg/SVGDocumentExtensions.h" | 46 #include "core/svg/SVGDocumentExtensions.h" |
46 #include "platform/TraceEvent.h" | 47 #include "platform/TraceEvent.h" |
47 #include "platform/TracedValue.h" | 48 #include "platform/TracedValue.h" |
48 #include "platform/geometry/FloatQuad.h" | 49 #include "platform/geometry/FloatQuad.h" |
49 #include "platform/geometry/TransformState.h" | 50 #include "platform/geometry/TransformState.h" |
50 #include "platform/graphics/paint/PaintController.h" | 51 #include "platform/graphics/paint/PaintController.h" |
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
231 bool LayoutView::doingFullPaintInvalidation() const | 232 bool LayoutView::doingFullPaintInvalidation() const |
232 { | 233 { |
233 return m_frameView->needsFullPaintInvalidation(); | 234 return m_frameView->needsFullPaintInvalidation(); |
234 } | 235 } |
235 | 236 |
236 void LayoutView::layout() | 237 void LayoutView::layout() |
237 { | 238 { |
238 if (!document().paginated()) | 239 if (!document().paginated()) |
239 setPageLogicalHeight(0); | 240 setPageLogicalHeight(0); |
240 | 241 |
241 if (shouldUsePrintingLayout()) | 242 if (shouldUsePrintingLayout()) { |
242 m_minPreferredLogicalWidth = m_maxPreferredLogicalWidth = logicalWidth()
; | 243 m_minPreferredLogicalWidth = m_maxPreferredLogicalWidth = logicalWidth()
; |
| 244 // TODO(mstensho): Get rid of m_pageLogicalHeight zero check. Currently,
pageProperty() in |
| 245 // PrintContext starts printing with zero height, so we have to cope for
now. |
| 246 if (!m_fragmentationContext && m_pageLogicalHeight) |
| 247 m_fragmentationContext = adoptPtr(new ViewFragmentationContext(*this
)); |
| 248 } else if (m_fragmentationContext) { |
| 249 m_fragmentationContext.clear(); |
| 250 } |
243 | 251 |
244 SubtreeLayoutScope layoutScope(*this); | 252 SubtreeLayoutScope layoutScope(*this); |
245 | 253 |
246 LayoutRect oldLayoutOverflowRect = layoutOverflowRect(); | 254 LayoutRect oldLayoutOverflowRect = layoutOverflowRect(); |
247 | 255 |
248 // Use calcWidth/Height to get the new width/height, since this will take th
e full page zoom factor into account. | 256 // Use calcWidth/Height to get the new width/height, since this will take th
e full page zoom factor into account. |
249 bool relayoutChildren = !shouldUsePrintingLayout() && (!m_frameView | 257 bool relayoutChildren = !shouldUsePrintingLayout() && (!m_frameView |
250 || logicalWidth() != viewLogicalWidthForBoxSizing() | 258 || logicalWidth() != viewLogicalWidthForBoxSizing() |
251 || logicalHeight() != viewLogicalHeightForBoxSizing()); | 259 || logicalHeight() != viewLogicalHeightForBoxSizing()); |
252 if (relayoutChildren) { | 260 if (relayoutChildren) { |
(...skipping 745 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
998 } | 1006 } |
999 | 1007 |
1000 void LayoutView::sendMediaPositionChangeNotifications(const IntRect& visibleRect
) | 1008 void LayoutView::sendMediaPositionChangeNotifications(const IntRect& visibleRect
) |
1001 { | 1009 { |
1002 for (auto& media : m_mediaForPositionNotification) { | 1010 for (auto& media : m_mediaForPositionNotification) { |
1003 media->notifyPositionMayHaveChanged(visibleRect); | 1011 media->notifyPositionMayHaveChanged(visibleRect); |
1004 } | 1012 } |
1005 } | 1013 } |
1006 | 1014 |
1007 } // namespace blink | 1015 } // namespace blink |
OLD | NEW |