summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/layout/ng/inline/ng_inline_item.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/core/layout/ng/inline/ng_inline_item.h')
-rw-r--r--chromium/third_party/blink/renderer/core/layout/ng/inline/ng_inline_item.h22
1 files changed, 14 insertions, 8 deletions
diff --git a/chromium/third_party/blink/renderer/core/layout/ng/inline/ng_inline_item.h b/chromium/third_party/blink/renderer/core/layout/ng/inline/ng_inline_item.h
index d520533ede7..c089e5804d6 100644
--- a/chromium/third_party/blink/renderer/core/layout/ng/inline/ng_inline_item.h
+++ b/chromium/third_party/blink/renderer/core/layout/ng/inline/ng_inline_item.h
@@ -32,6 +32,7 @@ class CORE_EXPORT NGInlineItem {
kText,
kControl,
kAtomicInline,
+ kBlockInInline,
kOpenTag,
kCloseTag,
kFloating,
@@ -132,6 +133,9 @@ class CORE_EXPORT NGInlineItem {
bool IsRubyRun() const {
return GetLayoutObject() && GetLayoutObject()->IsRubyRun();
}
+ bool IsTextCombine() const {
+ return GetLayoutObject() && GetLayoutObject()->IsLayoutNGTextCombine();
+ }
void SetOffset(unsigned start, unsigned end) {
DCHECK_GE(end, start);
@@ -169,24 +173,26 @@ class CORE_EXPORT NGInlineItem {
// Use the |ComputedStyle| in |LayoutObject|, because not all style changes
// re-run |CollectInlines()|.
DCHECK(layout_object_);
- NGStyleVariant variant = StyleVariant();
- if (variant == NGStyleVariant::kStandard)
- return layout_object_->Style();
- DCHECK_EQ(variant, NGStyleVariant::kFirstLine);
- return layout_object_->FirstLineStyle();
+ return &layout_object_->EffectiveStyle(StyleVariant());
}
// Returns a screen-size font for SVG text.
// Returns Style()->GetFont() otherwise.
- const Font& FontWithSVGScaling() const;
+ const Font& FontWithSvgScaling() const;
// Get or set the whitespace collapse type at the end of this item.
NGCollapseType EndCollapseType() const {
return static_cast<NGCollapseType>(end_collapse_type_);
}
void SetEndCollapseType(NGCollapseType type) {
- DCHECK(Type() == NGInlineItem::kText || type == kOpaqueToCollapsing ||
- (Type() == NGInlineItem::kControl && type == kCollapsible));
+ // |kText| can set any types.
+ DCHECK(Type() == NGInlineItem::kText ||
+ // |kControl| and |kBlockInInline| are always |kCollapsible|.
+ ((Type() == NGInlineItem::kControl ||
+ Type() == NGInlineItem::kBlockInInline) &&
+ type == kCollapsible) ||
+ // Other types are |kOpaqueToCollapsing|.
+ type == kOpaqueToCollapsing);
end_collapse_type_ = type;
}
bool IsCollapsibleSpaceOnly() const {