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

Side by Side Diff: third_party/WebKit/Source/core/layout/api/LineLayoutBlockFlow.h

Issue 2532573003: Position a float before laying it out. (Closed)
Patch Set: Created 4 years 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 #ifndef LineLayoutBlockFlow_h 5 #ifndef LineLayoutBlockFlow_h
6 #define LineLayoutBlockFlow_h 6 #define LineLayoutBlockFlow_h
7 7
8 #include "core/layout/FloatingObjects.h" 8 #include "core/layout/FloatingObjects.h"
9 #include "core/layout/LayoutBlockFlow.h" 9 #include "core/layout/LayoutBlockFlow.h"
10 #include "core/layout/api/LineLayoutBox.h" 10 #include "core/layout/api/LineLayoutBox.h"
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 115
116 FloatingObject* insertFloatingObject(LineLayoutBox box) { 116 FloatingObject* insertFloatingObject(LineLayoutBox box) {
117 return toBlockFlow()->insertFloatingObject( 117 return toBlockFlow()->insertFloatingObject(
118 *toLayoutBox(box.layoutObject())); 118 *toLayoutBox(box.layoutObject()));
119 } 119 }
120 120
121 bool placeNewFloats(LayoutUnit logicalTopMarginEdge, LineWidth* width) { 121 bool placeNewFloats(LayoutUnit logicalTopMarginEdge, LineWidth* width) {
122 return toBlockFlow()->placeNewFloats(logicalTopMarginEdge, width); 122 return toBlockFlow()->placeNewFloats(logicalTopMarginEdge, width);
123 } 123 }
124 124
125 void positionAndLayoutFloat(FloatingObject& floatingObject,
126 LayoutUnit logicalTopMarginEdge) {
127 toBlockFlow()->positionAndLayoutFloat(floatingObject, logicalTopMarginEdge);
128 }
129
125 LayoutUnit nextFloatLogicalBottomBelow(LayoutUnit logicalHeight) const { 130 LayoutUnit nextFloatLogicalBottomBelow(LayoutUnit logicalHeight) const {
126 return toBlockFlow()->nextFloatLogicalBottomBelow(logicalHeight); 131 return toBlockFlow()->nextFloatLogicalBottomBelow(logicalHeight);
127 } 132 }
128 133
129 FloatingObject* lastFloatFromPreviousLine() const { 134 FloatingObject* lastFloatFromPreviousLine() const {
130 return toBlockFlow()->lastFloatFromPreviousLine(); 135 return toBlockFlow()->lastFloatFromPreviousLine();
131 } 136 }
132 137
133 // TODO(dgrogan/eae): *ForFloat: add these methods to the FloatingObject 138 // TODO(dgrogan/eae): *ForFloat: add these methods to the FloatingObject
134 // class. Be consistent with use of start/end/before/after instead of 139 // class. Be consistent with use of start/end/before/after instead of
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 private: 203 private:
199 LayoutBlockFlow* toBlockFlow() { return toLayoutBlockFlow(layoutObject()); }; 204 LayoutBlockFlow* toBlockFlow() { return toLayoutBlockFlow(layoutObject()); };
200 const LayoutBlockFlow* toBlockFlow() const { 205 const LayoutBlockFlow* toBlockFlow() const {
201 return toLayoutBlockFlow(layoutObject()); 206 return toLayoutBlockFlow(layoutObject());
202 }; 207 };
203 }; 208 };
204 209
205 } // namespace blink 210 } // namespace blink
206 211
207 #endif // LineLayoutBlockFlow_h 212 #endif // LineLayoutBlockFlow_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698