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

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

Issue 2486413002: Split positionAndLayoutFloat() off positionNewFloats(). (Closed)
Patch Set: Created 4 years, 1 month 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 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2007 David Smith (catfish.man@gmail.com) 4 * (C) 2007 David Smith (catfish.man@gmail.com)
5 * Copyright (C) 2003-2013 Apple Inc. All rights reserved. 5 * Copyright (C) 2003-2013 Apple Inc. All rights reserved.
6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
7 * Copyright (C) 2013 Google Inc. All rights reserved. 7 * Copyright (C) 2013 Google Inc. All rights reserved.
8 * 8 *
9 * Redistribution and use in source and binary forms, with or without 9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions are 10 * modification, are permitted provided that the following conditions are
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after
345 const LayoutPoint&) const; 345 const LayoutPoint&) const;
346 346
347 const char* name() const override { return "LayoutBlockFlow"; } 347 const char* name() const override { return "LayoutBlockFlow"; }
348 348
349 FloatingObject* insertFloatingObject(LayoutBox&); 349 FloatingObject* insertFloatingObject(LayoutBox&);
350 350
351 // Called from lineWidth, to position the floats added in the last line. 351 // Called from lineWidth, to position the floats added in the last line.
352 // Returns true if and only if it has positioned any floats. 352 // Returns true if and only if it has positioned any floats.
353 bool positionNewFloats(LineWidth* = nullptr); 353 bool positionNewFloats(LineWidth* = nullptr);
354 354
355 // Position and lay out the float, if it needs layout.
356 // |logicalTop| is the minimum logical top offset for the float (margin edge).
357 // The value returned is the minimum logical top offset for subsequent floats.
358 LayoutUnit positionAndLayoutFloat(FloatingObject&, LayoutUnit logicalTop);
359
355 LayoutUnit nextFloatLogicalBottomBelow(LayoutUnit) const; 360 LayoutUnit nextFloatLogicalBottomBelow(LayoutUnit) const;
356 LayoutUnit nextFloatLogicalBottomBelowForBlock(LayoutUnit) const; 361 LayoutUnit nextFloatLogicalBottomBelowForBlock(LayoutUnit) const;
357 362
358 FloatingObject* lastFloatFromPreviousLine() const { 363 FloatingObject* lastFloatFromPreviousLine() const {
359 return containsFloats() ? m_floatingObjects->set().last().get() : nullptr; 364 return containsFloats() ? m_floatingObjects->set().last().get() : nullptr;
360 } 365 }
361 366
362 void setShouldDoFullPaintInvalidationForFirstLine(); 367 void setShouldDoFullPaintInvalidationForFirstLine();
363 368
364 void simplifiedNormalFlowInlineLayout(); 369 void simplifiedNormalFlowInlineLayout();
(...skipping 555 matching lines...) Expand 10 before | Expand all | Expand 10 after
920 void positionDialog(); 925 void positionDialog();
921 926
922 // END METHODS DEFINED IN LayoutBlockFlowLine 927 // END METHODS DEFINED IN LayoutBlockFlowLine
923 }; 928 };
924 929
925 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlockFlow, isLayoutBlockFlow()); 930 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlockFlow, isLayoutBlockFlow());
926 931
927 } // namespace blink 932 } // namespace blink
928 933
929 #endif // LayoutBlockFlow_h 934 #endif // LayoutBlockFlow_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698