Commit 174dee6f authored by Xiaocheng Hu's avatar Xiaocheng Hu Committed by Commit Bot

[BidiCaretAffinity] Merge NGInlineNode::SegmentBidiRunsInternal into caller

The function was separated out from NGInlineNode::SegmentBidiRuns to
support legacy layout. Now that we've remove legacy layout support from
bidi caret affinity, the function can be merged back.

Bug: 925192
Change-Id: I38dfde1278b604e7839e431a7aff64a68f815280
Reviewed-on: https://chromium-review.googlesource.com/c/1437271
Auto-Submit: Xiaocheng Hu <xiaochengh@chromium.org>
Commit-Queue: Koji Ishii <kojii@chromium.org>
Reviewed-by: default avatarKoji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#626458}
parent aa712b11
...@@ -602,13 +602,9 @@ void NGInlineNode::SegmentFontOrientation(NGInlineNodeData* data) { ...@@ -602,13 +602,9 @@ void NGInlineNode::SegmentFontOrientation(NGInlineNodeData* data) {
} }
} }
// static
// Segment bidi runs by resolving bidi embedding levels. // Segment bidi runs by resolving bidi embedding levels.
// http://unicode.org/reports/tr9/#Resolving_Embedding_Levels // http://unicode.org/reports/tr9/#Resolving_Embedding_Levels
// TODO(xiaochengh): Merge it back into SegmentBidiRuns(), as we no longer have void NGInlineNode::SegmentBidiRuns(NGInlineNodeData* data) {
// any legacy callers.
void NGInlineNode::SegmentBidiRunsInternal(NGInlineNodeData* data,
const ComputedStyle& style) {
if (!data->is_bidi_enabled_) { if (!data->is_bidi_enabled_) {
data->SetBaseDirection(TextDirection::kLtr); data->SetBaseDirection(TextDirection::kLtr);
return; return;
...@@ -616,7 +612,7 @@ void NGInlineNode::SegmentBidiRunsInternal(NGInlineNodeData* data, ...@@ -616,7 +612,7 @@ void NGInlineNode::SegmentBidiRunsInternal(NGInlineNodeData* data,
NGBidiParagraph bidi; NGBidiParagraph bidi;
data->text_content.Ensure16Bit(); data->text_content.Ensure16Bit();
if (!bidi.SetParagraph(data->text_content, style)) { if (!bidi.SetParagraph(data->text_content, Style())) {
// On failure, give up bidi resolving and reordering. // On failure, give up bidi resolving and reordering.
data->is_bidi_enabled_ = false; data->is_bidi_enabled_ = false;
data->SetBaseDirection(TextDirection::kLtr); data->SetBaseDirection(TextDirection::kLtr);
...@@ -651,10 +647,6 @@ void NGInlineNode::SegmentBidiRunsInternal(NGInlineNodeData* data, ...@@ -651,10 +647,6 @@ void NGInlineNode::SegmentBidiRunsInternal(NGInlineNodeData* data,
#endif #endif
} }
void NGInlineNode::SegmentBidiRuns(NGInlineNodeData* data) {
SegmentBidiRunsInternal(data, Style());
}
void NGInlineNode::ShapeText(NGInlineItemsData* data, void NGInlineNode::ShapeText(NGInlineItemsData* data,
NGInlineItemsData* previous_data) { NGInlineItemsData* previous_data) {
const String& text_content = data->text_content; const String& text_content = data->text_content;
......
...@@ -142,11 +142,6 @@ class CORE_EXPORT NGInlineNode : public NGLayoutInputNode { ...@@ -142,11 +142,6 @@ class CORE_EXPORT NGInlineNode : public NGLayoutInputNode {
static void ComputeOffsetMapping(LayoutBlockFlow* layout_block_flow, static void ComputeOffsetMapping(LayoutBlockFlow* layout_block_flow,
NGInlineNodeData* data); NGInlineNodeData* data);
// This function shares bidi segmentation code between inline layout algorithm
// and |NGCaretNavigator| building, which may run on legacy layout.
// TODO(layout-dev): Merge with |SegmentBidiRuns| when we remove legacy layout
static void SegmentBidiRunsInternal(NGInlineNodeData*, const ComputedStyle&);
friend class NGLineBreakerTest; friend class NGLineBreakerTest;
friend class NGInlineNodeLegacy; friend class NGInlineNodeLegacy;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment