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

Side by Side Diff: Source/core/layout/LayoutFlowThread.h

Issue 1221803003: Behave more normally for content taller than the fragmentainer it's in. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Manually rebaseline fast/repaint/multicol-with-text. Get rid of platform-specific expectations. Created 5 years, 5 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 | « Source/core/layout/LayoutBlockFlow.cpp ('k') | Source/core/layout/LayoutFlowThread.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved. 2 * Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above 8 * 1. Redistributions of source code must retain the above
9 * copyright notice, this list of conditions and the following 9 * copyright notice, this list of conditions and the following
10 * disclaimer. 10 * disclaimer.
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 bool hasValidColumnSetInfo() const { return !m_columnSetsInvalidated && !m_m ultiColumnSetList.isEmpty(); } 86 bool hasValidColumnSetInfo() const { return !m_columnSetsInvalidated && !m_m ultiColumnSetList.isEmpty(); }
87 87
88 virtual void mapRectToPaintInvalidationBacking(const LayoutBoxModelObject* p aintInvalidationContainer, LayoutRect&, const PaintInvalidationState*) const ove rride; 88 virtual void mapRectToPaintInvalidationBacking(const LayoutBoxModelObject* p aintInvalidationContainer, LayoutRect&, const PaintInvalidationState*) const ove rride;
89 89
90 LayoutUnit pageLogicalHeightForOffset(LayoutUnit); 90 LayoutUnit pageLogicalHeightForOffset(LayoutUnit);
91 LayoutUnit pageRemainingLogicalHeightForOffset(LayoutUnit, PageBoundaryRule = IncludePageBoundary); 91 LayoutUnit pageRemainingLogicalHeightForOffset(LayoutUnit, PageBoundaryRule = IncludePageBoundary);
92 92
93 virtual void setPageBreak(LayoutUnit /*offset*/, LayoutUnit /*spaceShortage* /) { } 93 virtual void setPageBreak(LayoutUnit /*offset*/, LayoutUnit /*spaceShortage* /) { }
94 virtual void updateMinimumPageHeight(LayoutUnit /*offset*/, LayoutUnit /*min Height*/) { } 94 virtual void updateMinimumPageHeight(LayoutUnit /*offset*/, LayoutUnit /*min Height*/) { }
95 95
96 bool columnSetsHaveUniformLogicalHeight() const { return m_columnSetsHaveUni formLogicalHeight; }
97
98 virtual bool addForcedColumnBreak(LayoutUnit, LayoutObject* breakChild, bool isBefore, LayoutUnit* offsetBreakAdjustment = nullptr) { return false; } 96 virtual bool addForcedColumnBreak(LayoutUnit, LayoutObject* breakChild, bool isBefore, LayoutUnit* offsetBreakAdjustment = nullptr) { return false; }
99 97
100 virtual bool isPageLogicalHeightKnown() const { return true; } 98 virtual bool isPageLogicalHeightKnown() const { return true; }
101 bool pageLogicalSizeChanged() const { return m_pageLogicalSizeChanged; } 99 bool pageLogicalSizeChanged() const { return m_pageLogicalSizeChanged; }
102 100
103 void collectLayerFragments(DeprecatedPaintLayerFragments&, const LayoutRect& layerBoundingBox, const LayoutRect& dirtyRect); 101 void collectLayerFragments(DeprecatedPaintLayerFragments&, const LayoutRect& layerBoundingBox, const LayoutRect& dirtyRect);
104 102
105 // Return the visual bounding box based on the supplied flow-thread bounding box. Both 103 // Return the visual bounding box based on the supplied flow-thread bounding box. Both
106 // rectangles are completely physical in terms of writing mode. 104 // rectangles are completely physical in terms of writing mode.
107 LayoutRect fragmentsBoundingBox(const LayoutRect& layerBoundingBox) const; 105 LayoutRect fragmentsBoundingBox(const LayoutRect& layerBoundingBox) const;
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 LayoutMultiColumnSet* result() const { return m_result; } 138 LayoutMultiColumnSet* result() const { return m_result; }
141 139
142 private: 140 private:
143 LayoutUnit m_offset; 141 LayoutUnit m_offset;
144 LayoutMultiColumnSet* m_result; 142 LayoutMultiColumnSet* m_result;
145 }; 143 };
146 144
147 MultiColumnSetIntervalTree m_multiColumnSetIntervalTree; 145 MultiColumnSetIntervalTree m_multiColumnSetIntervalTree;
148 146
149 bool m_columnSetsInvalidated : 1; 147 bool m_columnSetsInvalidated : 1;
150 bool m_columnSetsHaveUniformLogicalHeight : 1;
151 bool m_pageLogicalSizeChanged : 1; 148 bool m_pageLogicalSizeChanged : 1;
152 }; 149 };
153 150
154 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutFlowThread, isLayoutFlowThread()); 151 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutFlowThread, isLayoutFlowThread());
155 152
156 // These structures are used by PODIntervalTree for debugging. 153 // These structures are used by PODIntervalTree for debugging.
157 #ifndef NDEBUG 154 #ifndef NDEBUG
158 template <> struct ValueToString<LayoutUnit> { 155 template <> struct ValueToString<LayoutUnit> {
159 static String string(const LayoutUnit value) { return String::number(value.t oFloat()); } 156 static String string(const LayoutUnit value) { return String::number(value.t oFloat()); }
160 }; 157 };
161 158
162 template <> struct ValueToString<LayoutMultiColumnSet*> { 159 template <> struct ValueToString<LayoutMultiColumnSet*> {
163 static String string(const LayoutMultiColumnSet* value) { return String::for mat("%p", value); } 160 static String string(const LayoutMultiColumnSet* value) { return String::for mat("%p", value); }
164 }; 161 };
165 #endif 162 #endif
166 163
167 } // namespace blink 164 } // namespace blink
168 165
169 #endif // LayoutFlowThread_h 166 #endif // LayoutFlowThread_h
OLDNEW
« no previous file with comments | « Source/core/layout/LayoutBlockFlow.cpp ('k') | Source/core/layout/LayoutFlowThread.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698