| Index: third_party/WebKit/Source/core/layout/line/InlineBox.h
|
| diff --git a/third_party/WebKit/Source/core/layout/line/InlineBox.h b/third_party/WebKit/Source/core/layout/line/InlineBox.h
|
| index bd77dee07414a993e7b32950273ce0f408755675..105bf7ad92e203b91c132e8ac30bc9041cd081fb 100644
|
| --- a/third_party/WebKit/Source/core/layout/line/InlineBox.h
|
| +++ b/third_party/WebKit/Source/core/layout/line/InlineBox.h
|
| @@ -39,6 +39,27 @@ class RootInlineBox;
|
|
|
| enum MarkLineBoxes { kMarkLineBoxesDirty, kDontMarkLineBoxes };
|
|
|
| +enum class LineVerticalPositionType {
|
| + // TextTop and TextBottom are the top/bottom of the content area.
|
| + // This is where 'vertical-align: text-top/text-bottom' aligns to.
|
| + // This is explicitly undefined in CSS2.
|
| + // https://drafts.csswg.org/css2/visudet.html#inline-non-replaced
|
| + TextTop,
|
| + TextBottom,
|
| + // Em height as being discussed in Font Metrics API.
|
| + // https://drafts.css-houdini.org/font-metrics-api-1/#fontmetrics
|
| + TopOfEmHeight,
|
| + BottomOfEmHeight
|
| +};
|
| +
|
| +// Returns whether the position type is CSS "line-over"; i.e., ascender side
|
| +// or "top" side of a line box.
|
| +// https://drafts.csswg.org/css-writing-modes-3/#line-over
|
| +static inline bool IsLineOverSide(LineVerticalPositionType type) {
|
| + return type == LineVerticalPositionType::TextTop ||
|
| + type == LineVerticalPositionType::TopOfEmHeight;
|
| +}
|
| +
|
| // InlineBox represents a rectangle that occurs on a line. It corresponds to
|
| // some LayoutObject (i.e., it represents a portion of that LayoutObject).
|
| class CORE_EXPORT InlineBox : public DisplayItemClient {
|
|
|