| Index: third_party/WebKit/Source/core/layout/ng/ng_units.cc
|
| diff --git a/third_party/WebKit/Source/core/layout/ng/ng_units.cc b/third_party/WebKit/Source/core/layout/ng/ng_units.cc
|
| index b11d1ecc8057723a6c5e5b50260db6971ddb1735..35bf7b1678929c92c79f391e87a9d41b0764d76e 100644
|
| --- a/third_party/WebKit/Source/core/layout/ng/ng_units.cc
|
| +++ b/third_party/WebKit/Source/core/layout/ng/ng_units.cc
|
| @@ -134,6 +134,16 @@ String NGLogicalOffset::ToString() const {
|
| return String::format("%dx%d", inline_offset.toInt(), block_offset.toInt());
|
| }
|
|
|
| +NGPhysicalOffset NGPhysicalOffset::operator+(
|
| + const NGPhysicalOffset& other) const {
|
| + return NGPhysicalOffset{this->left + other.left, this->top + other.top};
|
| +}
|
| +
|
| +NGPhysicalOffset& NGPhysicalOffset::operator+=(const NGPhysicalOffset& other) {
|
| + *this = *this + other;
|
| + return *this;
|
| +}
|
| +
|
| bool NGBoxStrut::IsEmpty() const {
|
| return *this == NGBoxStrut();
|
| }
|
| @@ -252,4 +262,27 @@ inline NGExclusions& NGExclusions::operator=(const NGExclusions& other) {
|
| return *this;
|
| }
|
|
|
| +NGStaticPosition NGStaticPosition::Create(NGWritingMode writing_mode,
|
| + TextDirection direction,
|
| + NGPhysicalOffset offset) {
|
| + NGStaticPosition position;
|
| + position.offset = offset;
|
| + switch (writing_mode) {
|
| + case kHorizontalTopBottom:
|
| + position.type = (direction == LTR) ? kTopLeft : kTopRight;
|
| + break;
|
| + case kVerticalRightLeft:
|
| + case kSidewaysRightLeft:
|
| + position.type = (direction == LTR) ? kTopRight : kBottomRight;
|
| + break;
|
| + case kVerticalLeftRight:
|
| + position.type = (direction == LTR) ? kTopLeft : kBottomLeft;
|
| + break;
|
| + case kSidewaysLeftRight:
|
| + position.type = (direction == LTR) ? kBottomLeft : kTopLeft;
|
| + break;
|
| + }
|
| + return position;
|
| +}
|
| +
|
| } // namespace blink
|
|
|