| 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 5d9c61c8b38afe9cd0b57a326d33b487077b3c26..c09f6501128e2086b309888b55f026d234add36c 100644
|
| --- a/third_party/WebKit/Source/core/layout/line/InlineBox.h
|
| +++ b/third_party/WebKit/Source/core/layout/line/InlineBox.h
|
| @@ -73,7 +73,7 @@ class CORE_EXPORT InlineBox : public DisplayItemClient {
|
| m_prev(prev),
|
| m_parent(parent),
|
| m_lineLayoutItem(item),
|
| - m_topLeft(topLeft),
|
| + m_location(topLeft),
|
| m_logicalWidth(logicalWidth)
|
| #if ENABLE(ASSERT)
|
| ,
|
| @@ -223,18 +223,22 @@ class CORE_EXPORT InlineBox : public DisplayItemClient {
|
| const RootInlineBox& root() const;
|
| RootInlineBox& root();
|
|
|
| - // x() is the left side of the box in the containing block's coordinate
|
| - // system.
|
| - void setX(LayoutUnit x) { m_topLeft.setX(x); }
|
| - LayoutUnit x() const { return m_topLeft.x(); }
|
| - LayoutUnit left() const { return m_topLeft.x(); }
|
| + // x() is the location of the box in the containing block's "physical
|
| + // coordinates with flipped block-flow direction".
|
| + // See../README.md#Coordinate-Spaces for the definition.
|
| + void setX(LayoutUnit x) { m_location.setX(x); }
|
| + LayoutUnit x() const { return m_location.x(); }
|
|
|
| - // y() is the top side of the box in the containing block's coordinate system.
|
| - void setY(LayoutUnit y) { m_topLeft.setY(y); }
|
| - LayoutUnit y() const { return m_topLeft.y(); }
|
| - LayoutUnit top() const { return m_topLeft.y(); }
|
| + // y() is the top side of the box in the containing block's physical
|
| + // coordinates. It's actually in the same coordinate space as x() but for y()
|
| + // physical coordinates and "physical coordinates with flipped block-flow
|
| + // direction" are the same.
|
| + void setY(LayoutUnit y) { m_location.setY(y); }
|
| + LayoutUnit y() const { return m_location.y(); }
|
|
|
| - const LayoutPoint& topLeft() const { return m_topLeft; }
|
| + // x() and y() in one LayoutPoint, in the containing block's "physical
|
| + // coordinates with flipped block-flow direction".
|
| + const LayoutPoint& location() const { return m_location; }
|
|
|
| LayoutUnit width() const {
|
| return isHorizontal() ? logicalWidth() : logicalHeight();
|
| @@ -243,13 +247,11 @@ class CORE_EXPORT InlineBox : public DisplayItemClient {
|
| return isHorizontal() ? logicalHeight() : logicalWidth();
|
| }
|
| LayoutSize size() const { return LayoutSize(width(), height()); }
|
| - LayoutUnit right() const { return left() + width(); }
|
| - LayoutUnit bottom() const { return top() + height(); }
|
|
|
| // The logicalLeft position is the left edge of the line box in a horizontal
|
| // line and the top edge in a vertical line.
|
| LayoutUnit logicalLeft() const {
|
| - return isHorizontal() ? m_topLeft.x() : m_topLeft.y();
|
| + return isHorizontal() ? m_location.x() : m_location.y();
|
| }
|
| LayoutUnit logicalRight() const { return logicalLeft() + logicalWidth(); }
|
| void setLogicalLeft(LayoutUnit left) {
|
| @@ -266,7 +268,7 @@ class CORE_EXPORT InlineBox : public DisplayItemClient {
|
| // The logicalTop[ position is the top edge of the line box in a horizontal
|
| // line and the left edge in a vertical line.
|
| LayoutUnit logicalTop() const {
|
| - return isHorizontal() ? m_topLeft.y() : m_topLeft.x();
|
| + return isHorizontal() ? m_location.y() : m_location.x();
|
| }
|
| LayoutUnit logicalBottom() const { return logicalTop() + logicalHeight(); }
|
| void setLogicalTop(LayoutUnit top) {
|
| @@ -286,9 +288,9 @@ class CORE_EXPORT InlineBox : public DisplayItemClient {
|
| LayoutUnit logicalHeight() const;
|
|
|
| LayoutRect logicalFrameRect() const {
|
| - return isHorizontal() ? LayoutRect(m_topLeft.x(), m_topLeft.y(),
|
| + return isHorizontal() ? LayoutRect(m_location.x(), m_location.y(),
|
| m_logicalWidth, logicalHeight())
|
| - : LayoutRect(m_topLeft.y(), m_topLeft.x(),
|
| + : LayoutRect(m_location.y(), m_location.x(),
|
| m_logicalWidth, logicalHeight());
|
| }
|
|
|
| @@ -360,7 +362,9 @@ class CORE_EXPORT InlineBox : public DisplayItemClient {
|
| return LineLayoutBoxModel(nullptr);
|
| }
|
|
|
| - LayoutPoint locationIncludingFlipping() const;
|
| + // Physical location of the top-left corner of the box in the containing
|
| + // block.
|
| + LayoutPoint physicalLocation() const;
|
|
|
| // Converts from a rect in the logical space of the InlineBox to one in the
|
| // physical space of the containing block. The logical space of an InlineBox
|
| @@ -495,12 +499,6 @@ class CORE_EXPORT InlineBox : public DisplayItemClient {
|
| #undef ADD_BOOLEAN_BITFIELD
|
|
|
| private:
|
| - // Converts the given (top-left) position from the logical space of the
|
| - // InlineBox to the physical space of the containing block. The size indicates
|
| - // the size of the box whose point is being flipped.
|
| - LayoutPoint logicalPositionToPhysicalPoint(const LayoutPoint&,
|
| - const LayoutSize&) const;
|
| -
|
| void setLineLayoutItemShouldDoFullPaintInvalidationIfNeeded();
|
|
|
| InlineBoxBitfields m_bitfields;
|
| @@ -547,7 +545,7 @@ class CORE_EXPORT InlineBox : public DisplayItemClient {
|
| // For InlineFlowBox and InlineTextBox
|
| bool extracted() const { return m_bitfields.extracted(); }
|
|
|
| - LayoutPoint m_topLeft;
|
| + LayoutPoint m_location;
|
| LayoutUnit m_logicalWidth;
|
|
|
| private:
|
|
|