Index: third_party/WebKit/Source/core/layout/LayoutFieldset.h |
diff --git a/third_party/WebKit/Source/core/layout/LayoutFieldset.h b/third_party/WebKit/Source/core/layout/LayoutFieldset.h |
index d00d1682b7c977566c55d222bfbdd43a87b69232..bdb75709868c3f43eeefc0a9974af0dd39fcee01 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutFieldset.h |
+++ b/third_party/WebKit/Source/core/layout/LayoutFieldset.h |
@@ -24,11 +24,11 @@ |
#ifndef LayoutFieldset_h |
#define LayoutFieldset_h |
-#include "core/layout/LayoutBlockFlow.h" |
+#include "core/layout/LayoutFlexibleBox.h" |
namespace blink { |
-class LayoutFieldset final : public LayoutBlockFlow { |
+class LayoutFieldset final : public LayoutFlexibleBox { |
public: |
explicit LayoutFieldset(Element*); |
@@ -37,15 +37,27 @@ public: |
const char* name() const override { return "LayoutFieldset"; } |
private: |
- bool isOfType(LayoutObjectType type) const override { return type == LayoutObjectFieldset || LayoutBlockFlow::isOfType(type); } |
- |
- LayoutObject* layoutSpecialExcludedChild(bool relayoutChildren, SubtreeLayoutScope&) override; |
- |
- void computePreferredLogicalWidths() override; |
+ void addChild(LayoutObject* newChild, LayoutObject* beforeChild = nullptr) override; |
bool avoidsFloats() const override { return true; } |
+ // We override the two baseline functions because we want our baseline to be the bottom of our margin box. |
+ int baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode) const override; |
+ int inlineBlockBaseline(LineDirectionMode) const override { return -1; } |
+ |
+ void computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, LayoutUnit& maxLogicalWidth) const override; |
+ bool createsAnonymousWrapper() const override { return true; } |
+ bool isOfType(LayoutObjectType type) const override { return type == LayoutObjectFieldset || LayoutFlexibleBox::isOfType(type); } |
+ LayoutObject* layoutSpecialExcludedChild(bool relayoutChildren, SubtreeLayoutScope&) override; |
void paintBoxDecorationBackground(const PaintInfo&, const LayoutPoint&) const override; |
void paintMask(const PaintInfo&, const LayoutPoint&) const override; |
+ void updateAnonymousChildStyle(const LayoutObject& child, ComputedStyle& childStyle) const override; |
+ |
+ void createInnerBlock(); |
+ void setLogicalLeftForChild(LayoutBox& child, LayoutUnit logicalLeft); |
+ void setLogicalTopForChild(LayoutBox& child, LayoutUnit logicalTop); |
+ void removeChild(LayoutObject*) override; |
+ |
+ LayoutBlock* m_innerBlock; |
}; |
DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutFieldset, isFieldset()); |