| Index: sky/engine/core/rendering/RenderBox.h | 
| diff --git a/sky/engine/core/rendering/RenderBox.h b/sky/engine/core/rendering/RenderBox.h | 
| index 2304e9b79ef326f52692f3ae5ba6a38e106e2d5b..5d27682ba3b609eea92f782a3ac691c6e9577c6c 100644 | 
| --- a/sky/engine/core/rendering/RenderBox.h | 
| +++ b/sky/engine/core/rendering/RenderBox.h | 
| @@ -66,6 +66,21 @@ enum LayerType { | 
| OverflowClipLayer, | 
| }; | 
|  | 
| +struct FontBaselineOrAuto { | 
| +    FontBaselineOrAuto() | 
| +        : m_auto(true) | 
| +        , m_baseline(AlphabeticBaseline) | 
| +    { | 
| +    } | 
| +    FontBaselineOrAuto(FontBaseline baseline) | 
| +        : m_auto(false) | 
| +        , m_baseline(baseline) | 
| +    { | 
| +    } | 
| +    bool m_auto; | 
| +    FontBaseline m_baseline; | 
| +}; | 
| + | 
| class RenderBox : public RenderBoxModelObject { | 
| public: | 
| explicit RenderBox(ContainerNode*); | 
| @@ -429,7 +444,7 @@ public: | 
|  | 
| RenderLayer* enclosingFloatPaintingLayer() const; | 
|  | 
| -    virtual int firstLineBoxBaseline() const { return -1; } | 
| +    virtual int firstLineBoxBaseline(FontBaselineOrAuto baselineType) const { return -1; } | 
| virtual int inlineBlockBaseline(LineDirectionMode) const { return -1; } // Returns -1 if we should skip this box when computing the baseline of an inline-block. | 
|  | 
| bool isFlexItem() const { return !isInline() && !isFloatingOrOutOfFlowPositioned() && parent() && parent()->isFlexibleBox(); } | 
|  |