[RemoveLegacy] Move layout_ng_text_combine*.* from layout/ng/inline/

... to layout/, and rename LayoutNGTextCombine to LayoutTextCombine.
This CL has no production behavior changes.

Bug: 1229581
Change-Id: I59b6a3d39b0fd7e33c3ff05f562e9d65fb03dc28
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4886416
Auto-Submit: Kent Tamura <tkent@chromium.org>
Commit-Queue: Koji Ishii <kojii@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1200811}
diff --git a/third_party/blink/renderer/core/css/resolver/style_adjuster.cc b/third_party/blink/renderer/core/css/resolver/style_adjuster.cc
index 8d77c3f..b4733cd7 100644
--- a/third_party/blink/renderer/core/css/resolver/style_adjuster.cc
+++ b/third_party/blink/renderer/core/css/resolver/style_adjuster.cc
@@ -62,9 +62,9 @@
 #include "third_party/blink/renderer/core/html/shadow/shadow_element_names.h"
 #include "third_party/blink/renderer/core/html_names.h"
 #include "third_party/blink/renderer/core/input_type_names.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 #include "third_party/blink/renderer/core/layout/layout_theme.h"
 #include "third_party/blink/renderer/core/layout/list_marker.h"
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
 #include "third_party/blink/renderer/core/mathml/mathml_element.h"
 #include "third_party/blink/renderer/core/style/computed_style.h"
 #include "third_party/blink/renderer/core/style/computed_style_constants.h"
@@ -303,7 +303,7 @@
   DCHECK_EQ(builder.GetFont().GetFontDescription().Orientation(),
             FontOrientation::kHorizontal);
   const ComputedStyle* cloned_style = builder.CloneStyle();
-  LayoutNGTextCombine::AssertStyleIsValid(*cloned_style);
+  LayoutTextCombine::AssertStyleIsValid(*cloned_style);
 #endif
 }
 
diff --git a/third_party/blink/renderer/core/dom/container_node.cc b/third_party/blink/renderer/core/dom/container_node.cc
index 26b32ae3..030e5d28 100644
--- a/third_party/blink/renderer/core/dom/container_node.cc
+++ b/third_party/blink/renderer/core/dom/container_node.cc
@@ -63,7 +63,7 @@
 #include "third_party/blink/renderer/core/layout/layout_block_flow.h"
 #include "third_party/blink/renderer/core/layout/layout_inline.h"
 #include "third_party/blink/renderer/core/layout/layout_text.h"
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 #include "third_party/blink/renderer/core/probe/core_probes.h"
 #include "third_party/blink/renderer/platform/bindings/exception_state.h"
 #include "third_party/blink/renderer/platform/bindings/runtime_call_stats.h"
@@ -705,9 +705,10 @@
   auto* const next_sibling = layout_object->NextSibling();
   if (!next_sibling)
     return false;
-  if (UNLIKELY(IsA<LayoutNGTextCombine>(previous_sibling)) &&
-      UNLIKELY(IsA<LayoutNGTextCombine>(next_sibling)))
+  if (UNLIKELY(IsA<LayoutTextCombine>(previous_sibling)) &&
+      UNLIKELY(IsA<LayoutTextCombine>(next_sibling))) {
     return true;
+  }
 
   // Request to merge combined texts in anonymous block.
   // See http://crbug.com/1233432
@@ -715,9 +716,8 @@
       !next_sibling->IsAnonymousBlock())
     return false;
 
-  return UNLIKELY(
-             IsA<LayoutNGTextCombine>(previous_sibling->SlowLastChild())) &&
-         UNLIKELY(IsA<LayoutNGTextCombine>(next_sibling->SlowFirstChild()));
+  return UNLIKELY(IsA<LayoutTextCombine>(previous_sibling->SlowLastChild())) &&
+         UNLIKELY(IsA<LayoutTextCombine>(next_sibling->SlowFirstChild()));
 }
 
 Node* ContainerNode::RemoveChild(Node* old_child,
diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/renderer/core/dom/element.cc
index 140e7b0..2113dac 100644
--- a/third_party/blink/renderer/core/dom/element.cc
+++ b/third_party/blink/renderer/core/dom/element.cc
@@ -177,9 +177,9 @@
 #include "third_party/blink/renderer/core/intersection_observer/intersection_observer_controller.h"
 #include "third_party/blink/renderer/core/keywords.h"
 #include "third_party/blink/renderer/core/layout/adjust_for_absolute_zoom.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 #include "third_party/blink/renderer/core/layout/layout_text_fragment.h"
 #include "third_party/blink/renderer/core/layout/layout_view.h"
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
 #include "third_party/blink/renderer/core/layout/ng/ng_block_node.h"
 #include "third_party/blink/renderer/core/page/chrome_client.h"
 #include "third_party/blink/renderer/core/page/focus_controller.h"
@@ -3756,7 +3756,7 @@
   if (LayoutObject* layout_object = GetLayoutObject()) {
     DCHECK(new_style);
     if (UNLIKELY(layout_object->IsText()) &&
-        UNLIKELY(IsA<LayoutNGTextCombine>(layout_object->Parent()))) {
+        UNLIKELY(IsA<LayoutTextCombine>(layout_object->Parent()))) {
       // Adjust style for <br> and <wbr> in combined text.
       // See http://crbug.com/1228058
       ComputedStyleBuilder adjust_builder(*new_style);
diff --git a/third_party/blink/renderer/core/dom/layout_tree_builder.h b/third_party/blink/renderer/core/dom/layout_tree_builder.h
index 47a42f1..d6993d80 100644
--- a/third_party/blink/renderer/core/dom/layout_tree_builder.h
+++ b/third_party/blink/renderer/core/dom/layout_tree_builder.h
@@ -87,8 +87,9 @@
     auto* const parent = next->Parent();
     if (!IsAnonymousInline(parent))
       return next;
-    if (!LIKELY(parent->IsLayoutNGTextCombine()))
+    if (!LIKELY(parent->IsLayoutTextCombine())) {
       return parent;
+    }
     auto* const text_combine_parent = parent->Parent();
     if (IsAnonymousInline(text_combine_parent))
       return text_combine_parent;
diff --git a/third_party/blink/renderer/core/editing/commands/set_character_data_command_test.cc b/third_party/blink/renderer/core/editing/commands/set_character_data_command_test.cc
index 44898f32..3a34c1e7 100644
--- a/third_party/blink/renderer/core/editing/commands/set_character_data_command_test.cc
+++ b/third_party/blink/renderer/core/editing/commands/set_character_data_command_test.cc
@@ -140,7 +140,7 @@
   ASSERT_TRUE(text_node->GetLayoutObject());
   EXPECT_EQ(R"DUMP(
 LayoutNGBlockFlow DIV id="sample" (editable)
-  +--LayoutNGTextCombine (anonymous)
+  +--LayoutTextCombine (anonymous)
   |  +--LayoutText #text ""
 )DUMP",
             ToSimpleLayoutTree(sample_layout_object));
@@ -153,7 +153,7 @@
   ASSERT_TRUE(text_node->GetLayoutObject());
   EXPECT_EQ(R"DUMP(
 LayoutNGBlockFlow DIV id="sample" (editable)
-  +--LayoutNGTextCombine (anonymous)
+  +--LayoutTextCombine (anonymous)
   |  +--LayoutText #text "text"
 )DUMP",
             ToSimpleLayoutTree(sample_layout_object));
@@ -164,7 +164,7 @@
   ASSERT_TRUE(text_node->GetLayoutObject());
   EXPECT_EQ(R"DUMP(
 LayoutNGBlockFlow DIV id="sample" (editable)
-  +--LayoutNGTextCombine (anonymous)
+  +--LayoutTextCombine (anonymous)
   |  +--LayoutText #text ""
 )DUMP",
             ToSimpleLayoutTree(sample_layout_object));
diff --git a/third_party/blink/renderer/core/editing/visible_position_test.cc b/third_party/blink/renderer/core/editing/visible_position_test.cc
index 74f42d7..701b41e 100644
--- a/third_party/blink/renderer/core/editing/visible_position_test.cc
+++ b/third_party/blink/renderer/core/editing/visible_position_test.cc
@@ -331,7 +331,7 @@
   EXPECT_EQ(Position(text_a, 1),
             CreateVisiblePosition(Position(text_a, 1)).DeepEquivalent());
 
-  if (text_01234.GetLayoutObject()->Parent()->IsLayoutNGTextCombine()) {
+  if (text_01234.GetLayoutObject()->Parent()->IsLayoutTextCombine()) {
     EXPECT_EQ(Position(text_01234, 0),
               CreateVisiblePosition(Position(text_01234, 0)).DeepEquivalent());
   } else {
@@ -349,7 +349,7 @@
   EXPECT_EQ(Position(text_01234, 5),
             CreateVisiblePosition(Position(text_01234, 5)).DeepEquivalent());
 
-  if (text_01234.GetLayoutObject()->Parent()->IsLayoutNGTextCombine()) {
+  if (text_01234.GetLayoutObject()->Parent()->IsLayoutTextCombine()) {
     EXPECT_EQ(Position(text_b, 0),
               CreateVisiblePosition(Position(text_b, 0)).DeepEquivalent());
   } else {
diff --git a/third_party/blink/renderer/core/html/html_html_element.cc b/third_party/blink/renderer/core/html/html_html_element.cc
index dd52fe89..ac684e8 100644
--- a/third_party/blink/renderer/core/html/html_html_element.cc
+++ b/third_party/blink/renderer/core/html/html_html_element.cc
@@ -34,7 +34,7 @@
 #include "third_party/blink/renderer/core/html/html_body_element.h"
 #include "third_party/blink/renderer/core/html_names.h"
 #include "third_party/blink/renderer/core/layout/layout_object.h"
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 #include "third_party/blink/renderer/core/loader/document_loader.h"
 #include "third_party/blink/renderer/core/loader/frame_loader.h"
 #include "third_party/blink/renderer/core/loader/render_blocking_resource_manager.h"
@@ -169,7 +169,7 @@
       continue;
     }
     auto* const text_combine =
-        DynamicTo<LayoutNGTextCombine>(layout_text->Parent());
+        DynamicTo<LayoutTextCombine>(layout_text->Parent());
     if (UNLIKELY(text_combine)) {
       layout_text->SetStyle(text_combine->Style());
       continue;
diff --git a/third_party/blink/renderer/core/layout/build.gni b/third_party/blink/renderer/core/layout/build.gni
index 33273f9..d09462c 100644
--- a/third_party/blink/renderer/core/layout/build.gni
+++ b/third_party/blink/renderer/core/layout/build.gni
@@ -162,6 +162,8 @@
   "layout_shift_tracker.h",
   "layout_text.cc",
   "layout_text.h",
+  "layout_text_combine.cc",
+  "layout_text_combine.h",
   "layout_text_fragment.cc",
   "layout_text_fragment.h",
   "layout_theme.cc",
@@ -278,8 +280,6 @@
   "ng/inline/hyphen_result.h",
   "ng/inline/inline_containing_block_utils.cc",
   "ng/inline/inline_containing_block_utils.h",
-  "ng/inline/layout_ng_text_combine.cc",
-  "ng/inline/layout_ng_text_combine.h",
   "ng/inline/ng_abstract_inline_text_box.cc",
   "ng/inline/ng_abstract_inline_text_box.h",
   "ng/inline/ng_bidi_paragraph.cc",
@@ -729,6 +729,7 @@
   "layout_table_col_test.cc",
   "layout_table_section_test.cc",
   "layout_table_test.cc",
+  "layout_text_combine_test.cc",
   "layout_text_fragment_test.cc",
   "layout_text_test.cc",
   "layout_theme_test.cc",
@@ -745,7 +746,6 @@
   "ng/geometry/ng_static_position_test.cc",
   "ng/grid/ng_grid_layout_algorithm_test.cc",
   "ng/grid/ng_grid_track_collection_test.cc",
-  "ng/inline/layout_ng_text_combine_test.cc",
   "ng/inline/ng_abstract_inline_text_box_test.cc",
   "ng/inline/ng_caret_position_test.cc",
   "ng/inline/ng_fragment_item_test.cc",
diff --git a/third_party/blink/renderer/core/layout/layout_object.cc b/third_party/blink/renderer/core/layout/layout_object.cc
index bc60d30..5fe8adf 100644
--- a/third_party/blink/renderer/core/layout/layout_object.cc
+++ b/third_party/blink/renderer/core/layout/layout_object.cc
@@ -85,12 +85,12 @@
 #include "third_party/blink/renderer/core/layout/layout_object_inl.h"
 #include "third_party/blink/renderer/core/layout/layout_object_inlines.h"
 #include "third_party/blink/renderer/core/layout/layout_ruby_column.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 #include "third_party/blink/renderer/core/layout/layout_text_fragment.h"
 #include "third_party/blink/renderer/core/layout/layout_theme.h"
 #include "third_party/blink/renderer/core/layout/layout_view.h"
 #include "third_party/blink/renderer/core/layout/ng/custom/layout_ng_custom.h"
 #include "third_party/blink/renderer/core/layout/ng/flex/layout_ng_flexible_box.h"
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
 #include "third_party/blink/renderer/core/layout/ng/layout_ng_block_flow.h"
 #include "third_party/blink/renderer/core/layout/ng/list/layout_ng_inline_list_item.h"
 #include "third_party/blink/renderer/core/layout/ng/list/layout_ng_inside_list_marker.h"
@@ -661,32 +661,31 @@
   } else if (LIKELY(new_child->IsHorizontalWritingMode()) ||
              !new_child->IsText()) {
     children->InsertChildNode(this, new_child, before_child);
-  } else if (IsA<LayoutNGTextCombine>(*this)) {
-    DCHECK(LayoutNGTextCombine::ShouldBeParentOf(*new_child)) << new_child;
+  } else if (IsA<LayoutTextCombine>(*this)) {
+    DCHECK(LayoutTextCombine::ShouldBeParentOf(*new_child)) << new_child;
     new_child->SetStyle(Style());
     children->InsertChildNode(this, new_child, before_child);
   } else if (!IsHorizontalWritingMode() &&
-             LayoutNGTextCombine::ShouldBeParentOf(*new_child)) {
+             LayoutTextCombine::ShouldBeParentOf(*new_child)) {
     if (before_child) {
-      if (IsA<LayoutNGTextCombine>(before_child)) {
-        DCHECK(!DynamicTo<LayoutNGTextCombine>(before_child->PreviousSibling()))
+      if (IsA<LayoutTextCombine>(before_child)) {
+        DCHECK(!DynamicTo<LayoutTextCombine>(before_child->PreviousSibling()))
             << before_child->PreviousSibling();
         before_child->AddChild(new_child, before_child->SlowFirstChild());
-      } else if (auto* const previous_sibling = DynamicTo<LayoutNGTextCombine>(
+      } else if (auto* const previous_sibling = DynamicTo<LayoutTextCombine>(
                      before_child->PreviousSibling())) {
         previous_sibling->AddChild(new_child);
       } else {
         children->InsertChildNode(
-            this,
-            LayoutNGTextCombine::CreateAnonymous(To<LayoutText>(new_child)),
+            this, LayoutTextCombine::CreateAnonymous(To<LayoutText>(new_child)),
             before_child);
       }
     } else if (auto* const last_child =
-                   DynamicTo<LayoutNGTextCombine>(SlowLastChild())) {
+                   DynamicTo<LayoutTextCombine>(SlowLastChild())) {
       last_child->AddChild(new_child);
     } else {
-      children->AppendChildNode(this, LayoutNGTextCombine::CreateAnonymous(
-                                          To<LayoutText>(new_child)));
+      children->AppendChildNode(
+          this, LayoutTextCombine::CreateAnonymous(To<LayoutText>(new_child)));
     }
   } else {
     // In case of append/insert <br style="writing-mode:vertical-rl">
@@ -2522,7 +2521,7 @@
     return;
   }
 
-  if (IsText() && UNLIKELY(IsA<LayoutNGTextCombine>(Parent()))) {
+  if (IsText() && UNLIKELY(IsA<LayoutTextCombine>(Parent()))) {
     // See http://crbug.com/1222640
     ComputedStyleBuilder combined_text_style_builder =
         GetDocument()
diff --git a/third_party/blink/renderer/core/layout/layout_object.h b/third_party/blink/renderer/core/layout/layout_object.h
index 35399b1..c1545d4 100644
--- a/third_party/blink/renderer/core/layout/layout_object.h
+++ b/third_party/blink/renderer/core/layout/layout_object.h
@@ -923,9 +923,9 @@
     NOT_DESTROYED();
     return IsOfType(kLayoutObjectNGOutsideListMarker);
   }
-  bool IsLayoutNGTextCombine() const {
+  bool IsLayoutTextCombine() const {
     NOT_DESTROYED();
-    return IsOfType(kLayoutObjectNGTextCombine);
+    return IsOfType(kLayoutObjectTextCombine);
   }
   bool IsLayoutNGView() const {
     NOT_DESTROYED();
@@ -3533,7 +3533,6 @@
     kLayoutObjectNGInsideListMarker,
     kLayoutObjectNGListItem,
     kLayoutObjectNGOutsideListMarker,
-    kLayoutObjectNGTextCombine,
     kLayoutObjectNGView,
     kLayoutObjectProgress,
     kLayoutObjectQuote,
@@ -3548,6 +3547,7 @@
     kLayoutObjectTableCol,
     kLayoutObjectTableRow,
     kLayoutObjectTableSection,
+    kLayoutObjectTextCombine,
     kLayoutObjectTextControlMultiLine,
     kLayoutObjectTextControlSingleLine,
     kLayoutObjectVideo,
diff --git a/third_party/blink/renderer/core/layout/layout_object_hot.cc b/third_party/blink/renderer/core/layout/layout_object_hot.cc
index 56319de..a65622e 100644
--- a/third_party/blink/renderer/core/layout/layout_object_hot.cc
+++ b/third_party/blink/renderer/core/layout/layout_object_hot.cc
@@ -12,7 +12,7 @@
 #include "third_party/blink/renderer/core/layout/layout_multi_column_spanner_placeholder.h"
 #include "third_party/blink/renderer/core/layout/layout_object_inl.h"
 #include "third_party/blink/renderer/core/layout/layout_text.h"
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 #include "third_party/blink/renderer/core/layout/ng/layout_ng_block_flow.h"
 
 namespace blink {
@@ -154,7 +154,7 @@
         GetDocument().GetStyleResolver().CreateAnonymousStyleBuilderWithDisplay(
             StyleRef(), child->StyleRef().Display());
 
-    if (UNLIKELY(IsA<LayoutNGTextCombine>(child))) {
+    if (UNLIKELY(IsA<LayoutTextCombine>(child))) {
       if (blink::IsHorizontalWritingMode(new_style_builder.GetWritingMode())) {
         // |LayoutNGTextCombine| will be removed when recalculating style for
         // <br> or <wbr>.
diff --git a/third_party/blink/renderer/core/layout/layout_quote.cc b/third_party/blink/renderer/core/layout/layout_quote.cc
index 0362cea..4ead48d 100644
--- a/third_party/blink/renderer/core/layout/layout_quote.cc
+++ b/third_party/blink/renderer/core/layout/layout_quote.cc
@@ -27,9 +27,9 @@
 #include "third_party/blink/renderer/core/css/style_containment_scope_tree.h"
 #include "third_party/blink/renderer/core/css/style_engine.h"
 #include "third_party/blink/renderer/core/dom/pseudo_element.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 #include "third_party/blink/renderer/core/layout/layout_text_fragment.h"
 #include "third_party/blink/renderer/core/layout/layout_view.h"
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
 #include "third_party/blink/renderer/platform/text/layout_locale.h"
 #include "third_party/blink/renderer/platform/wtf/std_lib_extras.h"
 #include "third_party/blink/renderer/platform/wtf/text/atomic_string.h"
@@ -98,7 +98,7 @@
 
   LayoutTextFragment* fragment = FindFragmentChild();
   if (fragment) {
-    fragment->SetStyle(IsA<LayoutNGTextCombine>(fragment->Parent())
+    fragment->SetStyle(IsA<LayoutTextCombine>(fragment->Parent())
                            ? fragment->Parent()->Style()
                            : Style());
     fragment->SetContentString(text_.Impl());
@@ -117,8 +117,9 @@
   auto* const last_child = LastChild();
   if (auto* fragment = DynamicTo<LayoutTextFragment>(last_child))
     return fragment;
-  if (auto* combine = DynamicTo<LayoutNGTextCombine>(last_child))
+  if (auto* combine = DynamicTo<LayoutTextCombine>(last_child)) {
     return DynamicTo<LayoutTextFragment>(combine->FirstChild());
+  }
   return nullptr;
 }
 
diff --git a/third_party/blink/renderer/core/layout/layout_text.cc b/third_party/blink/renderer/core/layout/layout_text.cc
index 46ed8e83..7b91060 100644
--- a/third_party/blink/renderer/core/layout/layout_text.cc
+++ b/third_party/blink/renderer/core/layout/layout_text.cc
@@ -48,8 +48,8 @@
 #include "third_party/blink/renderer/core/layout/geometry/writing_mode_converter.h"
 #include "third_party/blink/renderer/core/layout/layout_block.h"
 #include "third_party/blink/renderer/core/layout/layout_object_inlines.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 #include "third_party/blink/renderer/core/layout/layout_view.h"
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_abstract_inline_text_box.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_fragment_item.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_cursor.h"
@@ -585,7 +585,7 @@
     if (!MapDOMOffsetToTextContentOffset(*mapping, &start, &end))
       return;
 
-    const auto* const text_combine = DynamicTo<LayoutNGTextCombine>(Parent());
+    const auto* const text_combine = DynamicTo<LayoutTextCombine>(Parent());
 
     // We don't want to add collapsed (i.e., start == end) quads from text
     // fragments that intersect [start, end] only at the boundary, unless they
@@ -693,7 +693,7 @@
       point_in_contents += PhysicalOffset(
           containing_block_flow->PixelSnappedScrolledContentOffset());
     }
-    const auto* const text_combine = DynamicTo<LayoutNGTextCombine>(Parent());
+    const auto* const text_combine = DynamicTo<LayoutTextCombine>(Parent());
     const NGPhysicalBoxFragment* container_fragment = nullptr;
     PhysicalOffset point_in_container_fragment;
     DCHECK(!IsSVGInlineText());
@@ -986,7 +986,7 @@
 
 void LayoutText::SetNeedsLayoutAndIntrinsicWidthsRecalcAndFullPaintInvalidation(
     LayoutInvalidationReasonForTracing reason) {
-  auto* const text_combine = DynamicTo<LayoutNGTextCombine>(Parent());
+  auto* const text_combine = DynamicTo<LayoutTextCombine>(Parent());
   if (UNLIKELY(text_combine)) {
     // Number of characters in text may change compressed font or scaling of
     // text combine. So, we should invalidate |LayoutNGTextCombine| to repaint.
@@ -1070,7 +1070,7 @@
   if (result == PhysicalRect())
     result.offset = FirstLineBoxTopLeft();
   // Note: |result.offset| is relative to container fragment.
-  const auto* const text_combine = DynamicTo<LayoutNGTextCombine>(Parent());
+  const auto* const text_combine = DynamicTo<LayoutTextCombine>(Parent());
   if (UNLIKELY(text_combine))
     return text_combine->AdjustRectForBoundingBox(result);
   return result;
@@ -1366,7 +1366,7 @@
     return nullptr;
   // When |this| is in text-combine box, we should use text-combine box as
   // display client item to paint caret with affine transform.
-  const auto* const text_combine = DynamicTo<LayoutNGTextCombine>(Parent());
+  const auto* const text_combine = DynamicTo<LayoutTextCombine>(Parent());
   if (UNLIKELY(text_combine) && text_combine->NeedsAffineTransformInPaint())
     return text_combine;
   if (!IsSelected())
diff --git a/third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.cc b/third_party/blink/renderer/core/layout/layout_text_combine.cc
similarity index 80%
rename from third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.cc
rename to third_party/blink/renderer/core/layout/layout_text_combine.cc
index 1e4ea90..f394736e 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.cc
+++ b/third_party/blink/renderer/core/layout/layout_text_combine.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 
 #include "third_party/blink/renderer/core/css/resolver/style_adjuster.h"
 #include "third_party/blink/renderer/core/css/resolver/style_resolver.h"
@@ -21,17 +21,16 @@
 
 namespace blink {
 
-LayoutNGTextCombine::LayoutNGTextCombine() : LayoutNGBlockFlow(nullptr) {
+LayoutTextCombine::LayoutTextCombine() : LayoutNGBlockFlow(nullptr) {
   SetIsAtomicInlineLevel(true);
 }
 
-LayoutNGTextCombine::~LayoutNGTextCombine() = default;
+LayoutTextCombine::~LayoutTextCombine() = default;
 
 // static
-LayoutNGTextCombine* LayoutNGTextCombine::CreateAnonymous(
-    LayoutText* text_child) {
+LayoutTextCombine* LayoutTextCombine::CreateAnonymous(LayoutText* text_child) {
   DCHECK(ShouldBeParentOf(*text_child)) << text_child;
-  auto* const layout_object = MakeGarbageCollected<LayoutNGTextCombine>();
+  auto* const layout_object = MakeGarbageCollected<LayoutTextCombine>();
   auto& document = text_child->GetDocument();
   layout_object->SetDocumentForAnonymous(&document);
   ComputedStyleBuilder new_style_builder =
@@ -40,17 +39,17 @@
   StyleAdjuster::AdjustStyleForTextCombine(new_style_builder);
   layout_object->SetStyle(new_style_builder.TakeStyle());
   layout_object->AddChild(text_child);
-  LayoutNGTextCombine::AssertStyleIsValid(text_child->StyleRef());
+  LayoutTextCombine::AssertStyleIsValid(text_child->StyleRef());
   return layout_object;
 }
 
-String LayoutNGTextCombine::GetTextContent() const {
+String LayoutTextCombine::GetTextContent() const {
   DCHECK(!NeedsCollectInlines() && GetNGInlineNodeData()) << this;
   return GetNGInlineNodeData()->ItemsData(false).text_content;
 }
 
 // static
-void LayoutNGTextCombine::AssertStyleIsValid(const ComputedStyle& style) {
+void LayoutTextCombine::AssertStyleIsValid(const ComputedStyle& style) {
   // See also |StyleAdjuster::AdjustStyleForTextCombine()|.
 #if DCHECK_IS_ON()
   DCHECK_EQ(style.GetTextDecorationLine(), TextDecorationLine::kNone);
@@ -64,20 +63,20 @@
 #endif
 }
 
-bool LayoutNGTextCombine::IsOfType(LayoutObjectType type) const {
+bool LayoutTextCombine::IsOfType(LayoutObjectType type) const {
   NOT_DESTROYED();
-  return type == kLayoutObjectNGTextCombine ||
-         LayoutNGBlockFlow::IsOfType(type);
+  return type == kLayoutObjectTextCombine || LayoutNGBlockFlow::IsOfType(type);
 }
 
-float LayoutNGTextCombine::DesiredWidth() const {
+float LayoutTextCombine::DesiredWidth() const {
   DCHECK_EQ(StyleRef().GetFont().GetFontDescription().Orientation(),
             FontOrientation::kHorizontal);
   const float one_em = StyleRef().ComputedFontSize();
   if (EnumHasFlags(
           Parent()->StyleRef().TextDecorationsInEffect(),
-          TextDecorationLine::kUnderline | TextDecorationLine::kOverline))
+          TextDecorationLine::kUnderline | TextDecorationLine::kOverline)) {
     return one_em;
+  }
   // Allow em + 10% margin if there are no underline and overeline for
   // better looking. This isn't specified in the spec[1], but EPUB group
   // wants this.
@@ -86,7 +85,7 @@
   return one_em * kTextCombineMargin;
 }
 
-float LayoutNGTextCombine::ComputeInlineSpacing() const {
+float LayoutTextCombine::ComputeInlineSpacing() const {
   DCHECK_EQ(StyleRef().GetFont().GetFontDescription().Orientation(),
             FontOrientation::kHorizontal);
   DCHECK(scale_x_);
@@ -94,7 +93,7 @@
   return (line_height - DesiredWidth()) / 2;
 }
 
-PhysicalOffset LayoutNGTextCombine::ApplyScaleX(
+PhysicalOffset LayoutTextCombine::ApplyScaleX(
     const PhysicalOffset& offset) const {
   DCHECK(scale_x_.has_value());
   const float spacing = ComputeInlineSpacing();
@@ -102,17 +101,17 @@
                         offset.top);
 }
 
-PhysicalRect LayoutNGTextCombine::ApplyScaleX(const PhysicalRect& rect) const {
+PhysicalRect LayoutTextCombine::ApplyScaleX(const PhysicalRect& rect) const {
   DCHECK(scale_x_.has_value());
   return PhysicalRect(ApplyScaleX(rect.offset), ApplyScaleX(rect.size));
 }
 
-PhysicalSize LayoutNGTextCombine::ApplyScaleX(const PhysicalSize& size) const {
+PhysicalSize LayoutTextCombine::ApplyScaleX(const PhysicalSize& size) const {
   DCHECK(scale_x_.has_value());
   return PhysicalSize(LayoutUnit(size.width * *scale_x_), size.height);
 }
 
-PhysicalOffset LayoutNGTextCombine::UnapplyScaleX(
+PhysicalOffset LayoutTextCombine::UnapplyScaleX(
     const PhysicalOffset& offset) const {
   DCHECK(scale_x_.has_value());
   const float spacing = ComputeInlineSpacing();
@@ -120,29 +119,32 @@
                         offset.top);
 }
 
-PhysicalOffset LayoutNGTextCombine::AdjustOffsetForHitTest(
+PhysicalOffset LayoutTextCombine::AdjustOffsetForHitTest(
     const PhysicalOffset& offset_in_container) const {
-  if (!scale_x_)
+  if (!scale_x_) {
     return offset_in_container;
+  }
   return UnapplyScaleX(offset_in_container);
 }
 
-PhysicalOffset LayoutNGTextCombine::AdjustOffsetForLocalCaretRect(
+PhysicalOffset LayoutTextCombine::AdjustOffsetForLocalCaretRect(
     const PhysicalOffset& offset_in_container) const {
-  if (!scale_x_)
+  if (!scale_x_) {
     return offset_in_container;
+  }
   return ApplyScaleX(offset_in_container);
 }
 
-PhysicalRect LayoutNGTextCombine::AdjustRectForBoundingBox(
+PhysicalRect LayoutTextCombine::AdjustRectForBoundingBox(
     const PhysicalRect& rect) const {
-  if (!scale_x_)
+  if (!scale_x_) {
     return rect;
+  }
   // See "text-combine-upright-compression-007.html"
   return ApplyScaleX(rect);
 }
 
-PhysicalRect LayoutNGTextCombine::ComputeTextBoundsRectForHitTest(
+PhysicalRect LayoutTextCombine::ComputeTextBoundsRectForHitTest(
     const NGFragmentItem& text_item,
     const PhysicalOffset& inline_root_offset) const {
   DCHECK(text_item.IsText()) << text_item;
@@ -153,21 +155,21 @@
   return rect;
 }
 
-void LayoutNGTextCombine::ResetLayout() {
+void LayoutTextCombine::ResetLayout() {
   compressed_font_.reset();
   scale_x_.reset();
 }
 
-LayoutUnit LayoutNGTextCombine::AdjustTextLeftForPaint(
+LayoutUnit LayoutTextCombine::AdjustTextLeftForPaint(
     LayoutUnit position) const {
-  if (!scale_x_)
+  if (!scale_x_) {
     return position;
+  }
   const float spacing = ComputeInlineSpacing();
   return LayoutUnit(position + spacing / *scale_x_);
 }
 
-LayoutUnit LayoutNGTextCombine::AdjustTextTopForPaint(
-    LayoutUnit text_top) const {
+LayoutUnit LayoutTextCombine::AdjustTextTopForPaint(LayoutUnit text_top) const {
   DCHECK_EQ(StyleRef().GetFont().GetFontDescription().Orientation(),
             FontOrientation::kHorizontal);
   const SimpleFontData& font_data = *StyleRef().GetFont().PrimaryFont();
@@ -177,7 +179,7 @@
   return LayoutUnit(text_top + ascent - half_leading);
 }
 
-AffineTransform LayoutNGTextCombine::ComputeAffineTransformForPaint(
+AffineTransform LayoutTextCombine::ComputeAffineTransformForPaint(
     const PhysicalOffset& paint_offset) const {
   DCHECK(NeedsAffineTransformInPaint());
   AffineTransform matrix;
@@ -201,11 +203,11 @@
   return matrix;
 }
 
-bool LayoutNGTextCombine::NeedsAffineTransformInPaint() const {
+bool LayoutTextCombine::NeedsAffineTransformInPaint() const {
   return scale_x_.has_value() || UsingSyntheticOblique();
 }
 
-PhysicalRect LayoutNGTextCombine::ComputeTextFrameRect(
+PhysicalRect LayoutTextCombine::ComputeTextFrameRect(
     const PhysicalOffset paint_offset) const {
   const ComputedStyle& style = Parent()->StyleRef();
   DCHECK(style.GetFont().GetFontDescription().IsVerticalBaseline());
@@ -221,7 +223,7 @@
                       PhysicalSize(one_em, line_height));
 }
 
-PhysicalRect LayoutNGTextCombine::RecalcContentsInkOverflow(
+PhysicalRect LayoutTextCombine::RecalcContentsInkOverflow(
     const NGInlineCursor& cursor) const {
   const ComputedStyle& style = Parent()->StyleRef();
   DCHECK(style.GetFont().GetFontDescription().IsVerticalBaseline());
@@ -232,7 +234,7 @@
                            text_rect.size.width, text_rect.size.height);
 
   if (style.HasAppliedTextDecorations()) {
-    // |LayoutNGTextCombine| does not support decorating box, as it is not
+    // |LayoutTextCombine| does not support decorating box, as it is not
     // supported in vertical flow and text-combine is only for vertical flow.
     const LogicalRect decoration_rect =
         NGInkOverflow::ComputeDecorationOverflow(
@@ -255,7 +257,7 @@
   return local_ink_overflow;
 }
 
-gfx::Rect LayoutNGTextCombine::VisualRectForPaint(
+gfx::Rect LayoutTextCombine::VisualRectForPaint(
     const PhysicalOffset& paint_offset) const {
   DCHECK_EQ(PhysicalFragmentCount(), 1u);
   PhysicalRect ink_overflow = GetPhysicalFragment(0)->InkOverflow();
@@ -263,7 +265,7 @@
   return ToEnclosingRect(ink_overflow);
 }
 
-void LayoutNGTextCombine::SetScaleX(float new_scale_x) {
+void LayoutTextCombine::SetScaleX(float new_scale_x) {
   DCHECK_GT(new_scale_x, 0.0f);
   DCHECK(!scale_x_.has_value());
   DCHECK(!compressed_font_.has_value());
@@ -272,13 +274,13 @@
   scale_x_ = new_scale_x;
 }
 
-void LayoutNGTextCombine::SetCompressedFont(const Font& font) {
+void LayoutTextCombine::SetCompressedFont(const Font& font) {
   DCHECK(!compressed_font_.has_value());
   DCHECK(!scale_x_.has_value());
   compressed_font_ = font;
 }
 
-bool LayoutNGTextCombine::UsingSyntheticOblique() const {
+bool LayoutTextCombine::UsingSyntheticOblique() const {
   return Parent()
       ->StyleRef()
       .GetFont()
diff --git a/third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h b/third_party/blink/renderer/core/layout/layout_text_combine.h
similarity index 86%
rename from third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h
rename to third_party/blink/renderer/core/layout/layout_text_combine.h
index 924da37..680dfd6 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h
+++ b/third_party/blink/renderer/core/layout/layout_text_combine.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_NG_INLINE_LAYOUT_NG_TEXT_COMBINE_H_
-#define THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_NG_INLINE_LAYOUT_NG_TEXT_COMBINE_H_
+#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_LAYOUT_TEXT_COMBINE_H_
+#define THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_LAYOUT_TEXT_COMBINE_H_
 
 #include "third_party/abseil-cpp/absl/types/optional.h"
 #include "third_party/blink/renderer/core/core_export.h"
@@ -20,12 +20,12 @@
 // vertical writing mode, e.g. <i style="text-upright:all"><b>12</b>34<i>.
 // Note: When the element is in horizontal writing mode, we don't use this.
 // Note: Children of this class must be |LayoutText| associated to |Text| node.
-class CORE_EXPORT LayoutNGTextCombine final : public LayoutNGBlockFlow {
+class CORE_EXPORT LayoutTextCombine final : public LayoutNGBlockFlow {
  public:
   // Note: Mark constructor public for |MakeGarbageCollected|. We should not
   // call this directly.
-  LayoutNGTextCombine();
-  ~LayoutNGTextCombine() override;
+  LayoutTextCombine();
+  ~LayoutTextCombine() override;
 
   float DesiredWidth() const;
   String GetTextContent() const;
@@ -96,16 +96,16 @@
   static void AssertStyleIsValid(const ComputedStyle& style);
 
   // Create anonymous wrapper having |text_child|.
-  static LayoutNGTextCombine* CreateAnonymous(LayoutText* text_child);
+  static LayoutTextCombine* CreateAnonymous(LayoutText* text_child);
 
-  // Returns true if |layout_object| is a child of |LayoutNGTextCombine|.
+  // Returns true if |layout_object| is a child of |LayoutTextCombine|.
   static bool ShouldBeParentOf(const LayoutObject& layout_object);
 
  private:
   bool IsOfType(LayoutObjectType) const override;
   const char* GetName() const override {
     NOT_DESTROYED();
-    return "LayoutNGTextCombine";
+    return "LayoutTextCombine";
   }
 
   // Helper functions for scaling.
@@ -126,7 +126,7 @@
 };
 
 // static
-inline bool LayoutNGTextCombine::ShouldBeParentOf(
+inline bool LayoutTextCombine::ShouldBeParentOf(
     const LayoutObject& layout_object) {
   if (LIKELY(layout_object.IsHorizontalWritingMode()) ||
       !layout_object.IsText() || layout_object.IsSVGInlineText()) {
@@ -137,12 +137,12 @@
 }
 
 template <>
-struct DowncastTraits<LayoutNGTextCombine> {
+struct DowncastTraits<LayoutTextCombine> {
   static bool AllowFrom(const LayoutObject& object) {
-    return object.IsLayoutNGTextCombine();
+    return object.IsLayoutTextCombine();
   }
 };
 
 }  // namespace blink
 
-#endif  // THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_NG_INLINE_LAYOUT_NG_TEXT_COMBINE_H_
+#endif  // THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_LAYOUT_TEXT_COMBINE_H_
diff --git a/third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine_test.cc b/third_party/blink/renderer/core/layout/layout_text_combine_test.cc
similarity index 88%
rename from third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine_test.cc
rename to third_party/blink/renderer/core/layout/layout_text_combine_test.cc
index 46cd16b..8b5545bb 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine_test.cc
+++ b/third_party/blink/renderer/core/layout/layout_text_combine_test.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 
 #include <sstream>
 #include "testing/gmock/include/gmock/gmock.h"
@@ -19,7 +19,7 @@
 
 using ::testing::ElementsAre;
 
-class LayoutNGTextCombineTest : public RenderingTest {
+class LayoutTextCombineTest : public RenderingTest {
  protected:
   std::string AsInkOverflowString(const LayoutBlockFlow& root) {
     std::ostringstream ostream;
@@ -39,15 +39,17 @@
   }
 
   static PhysicalRect ContentsInkOverflow(const NGFragmentItem& item) {
-    if (const NGPhysicalBoxFragment* box_fragment = item.BoxFragment())
+    if (const NGPhysicalBoxFragment* box_fragment = item.BoxFragment()) {
       return box_fragment->ContentsInkOverflow();
-    if (!item.HasInkOverflow())
+    }
+    if (!item.HasInkOverflow()) {
       return PhysicalRect();
+    }
     return item.ink_overflow_.Contents(item.InkOverflowType(), item.Size());
   }
 };
 
-TEST_F(LayoutNGTextCombineTest, AppendChild) {
+TEST_F(LayoutTextCombineTest, AppendChild) {
   InsertStyleElement(
       "c { text-combine-upright: all; }"
       "div { writing-mode: vertical-rl; }");
@@ -60,7 +62,7 @@
 LayoutNGBlockFlow DIV id="root"
   +--LayoutText #text "ab"
   +--LayoutInline C id="combine"
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "XY"
   +--LayoutText #text "de"
 )DUMP",
@@ -72,7 +74,7 @@
 LayoutNGBlockFlow DIV id="root"
   +--LayoutText #text "ab"
   +--LayoutInline C id="combine"
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "XY"
   |  |  +--LayoutText #text "Z"
   +--LayoutText #text "de"
@@ -80,7 +82,7 @@
             ToSimpleLayoutTree(root_layout_object));
 }
 
-TEST_F(LayoutNGTextCombineTest, BoxBoundary) {
+TEST_F(LayoutTextCombineTest, BoxBoundary) {
   InsertStyleElement(
       "c { text-combine-upright: all; }"
       "div { writing-mode: vertical-rl; }");
@@ -93,17 +95,17 @@
 LayoutNGBlockFlow DIV id="root"
   +--LayoutText #text "ab"
   +--LayoutInline C id="combine"
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "X"
   |  +--LayoutInline B
-  |  |  +--LayoutNGTextCombine (anonymous)
+  |  |  +--LayoutTextCombine (anonymous)
   |  |  |  +--LayoutText #text "Y"
   +--LayoutText #text "de"
 )DUMP",
             ToSimpleLayoutTree(root_layout_object));
 }
 
-TEST_F(LayoutNGTextCombineTest, DeleteDataToEmpty) {
+TEST_F(LayoutTextCombineTest, DeleteDataToEmpty) {
   InsertStyleElement(
       "c { text-combine-upright: all; }"
       "div { writing-mode: vertical-rl; }");
@@ -116,7 +118,7 @@
 LayoutNGBlockFlow DIV id="root"
   +--LayoutText #text "ab"
   +--LayoutInline C id="combine"
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "XY"
   +--LayoutText #text "de"
 )DUMP",
@@ -135,7 +137,7 @@
 }
 
 // http://crbug.com/1228058
-TEST_F(LayoutNGTextCombineTest, ElementRecalcOwnStyle) {
+TEST_F(LayoutTextCombineTest, ElementRecalcOwnStyle) {
   InsertStyleElement(
       "#root { text-combine-upright: all; writing-mode: vertical-rl; }");
   SetBodyInnerHTML("<div id=root><br id=target></div>");
@@ -145,7 +147,7 @@
 
   EXPECT_EQ(R"DUMP(
 LayoutNGBlockFlow DIV id="root"
-  +--LayoutNGTextCombine (anonymous)
+  +--LayoutTextCombine (anonymous)
   |  +--LayoutBR BR id="target"
 )DUMP",
             ToSimpleLayoutTree(root_layout_object));
@@ -158,14 +160,14 @@
 
   EXPECT_EQ(R"DUMP(
 LayoutNGBlockFlow DIV id="root"
-  +--LayoutNGTextCombine (anonymous)
+  +--LayoutTextCombine (anonymous)
   |  +--LayoutBR BR id="target" style="color: red;"
 )DUMP",
             ToSimpleLayoutTree(root_layout_object));
 }
 
 // http://crbug.com/1241194
-TEST_F(LayoutNGTextCombineTest, HtmlElement) {
+TEST_F(LayoutTextCombineTest, HtmlElement) {
   InsertStyleElement(
       "html {"
       "text-combine-upright: all;"
@@ -184,13 +186,13 @@
 LayoutNGBlockFlow HTML
   +--LayoutNGBlockFlow BODY
   +--LayoutNGBlockFlow (anonymous)
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "X"
 )DUMP",
       ToSimpleLayoutTree(*GetDocument().documentElement()->GetLayoutObject()));
 }
 
-TEST_F(LayoutNGTextCombineTest, InkOverflow) {
+TEST_F(LayoutTextCombineTest, InkOverflow) {
   LoadAhem();
   InsertStyleElement(
       "body { font: 100px/110px Ahem; }"
@@ -230,7 +232,7 @@
             AsInkOverflowString(root));
 
   // Note: text item rect has non-scaled size.
-  const auto& text_combine = *To<LayoutNGTextCombine>(
+  const auto& text_combine = *To<LayoutTextCombine>(
       GetElementById("combine")->GetLayoutObject()->SlowFirstChild());
   EXPECT_EQ(R"DUMP(
 {Line #descendants=2 LTR Standard}
@@ -247,7 +249,7 @@
             AsInkOverflowString(text_combine));
 }
 
-TEST_F(LayoutNGTextCombineTest, InkOverflowEmphasisMark) {
+TEST_F(LayoutTextCombineTest, InkOverflowEmphasisMark) {
   LoadAhem();
   InsertStyleElement(
       "body { font: 100px/110px Ahem; }"
@@ -289,7 +291,7 @@
 
   // Note: Emphasis mark is part of text-combine box instead of combined text.
   // Note: text item rect has non-scaled size.
-  const auto& text_combine = *To<LayoutNGTextCombine>(
+  const auto& text_combine = *To<LayoutTextCombine>(
       GetElementById("combine")->GetLayoutObject()->SlowFirstChild());
   EXPECT_EQ(R"DUMP(
 {Line #descendants=2 LTR Standard}
@@ -306,7 +308,7 @@
             AsInkOverflowString(text_combine));
 }
 
-TEST_F(LayoutNGTextCombineTest, InkOverflowOverline) {
+TEST_F(LayoutTextCombineTest, InkOverflowOverline) {
   LoadAhem();
   InsertStyleElement(
       "body { font: 100px/110px Ahem; }"
@@ -346,7 +348,7 @@
 )DUMP",
             AsInkOverflowString(root));
 
-  const auto& text_combine = *To<LayoutNGTextCombine>(
+  const auto& text_combine = *To<LayoutTextCombine>(
       GetElementById("combine")->GetLayoutObject()->SlowFirstChild());
   EXPECT_EQ(R"DUMP(
 {Line #descendants=2 LTR Standard}
@@ -363,7 +365,7 @@
             AsInkOverflowString(text_combine));
 }
 
-TEST_F(LayoutNGTextCombineTest, InkOverflowUnderline) {
+TEST_F(LayoutTextCombineTest, InkOverflowUnderline) {
   LoadAhem();
   InsertStyleElement(
       "body { font: 100px/110px Ahem; }"
@@ -403,7 +405,7 @@
 )DUMP",
             AsInkOverflowString(root));
 
-  const auto& text_combine = *To<LayoutNGTextCombine>(
+  const auto& text_combine = *To<LayoutTextCombine>(
       GetElementById("combine")->GetLayoutObject()->SlowFirstChild());
   EXPECT_EQ(R"DUMP(
 {Line #descendants=2 LTR Standard}
@@ -420,7 +422,7 @@
             AsInkOverflowString(text_combine));
 }
 
-TEST_F(LayoutNGTextCombineTest, InkOverflowWBR) {
+TEST_F(LayoutTextCombineTest, InkOverflowWBR) {
   LoadAhem();
   InsertStyleElement(
       "body { font: 100px/110px Ahem; }"
@@ -460,7 +462,7 @@
             AsInkOverflowString(root));
 
   // Note: text item rect has non-scaled size.
-  const auto& text_combine = *To<LayoutNGTextCombine>(
+  const auto& text_combine = *To<LayoutTextCombine>(
       GetElementById("combine")->GetLayoutObject()->SlowFirstChild());
   EXPECT_EQ(R"DUMP(
 {Line #descendants=4 LTR Standard}
@@ -487,7 +489,7 @@
             AsInkOverflowString(text_combine));
 }
 
-TEST_F(LayoutNGTextCombineTest, InsertBefore) {
+TEST_F(LayoutTextCombineTest, InsertBefore) {
   InsertStyleElement(
       "c { text-combine-upright: all; }"
       "div { writing-mode: vertical-rl; }");
@@ -500,7 +502,7 @@
 LayoutNGBlockFlow DIV id="root"
   +--LayoutText #text "ab"
   +--LayoutInline C id="combine"
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "XY"
   +--LayoutText #text "de"
 )DUMP",
@@ -513,7 +515,7 @@
 LayoutNGBlockFlow DIV id="root"
   +--LayoutText #text "ab"
   +--LayoutInline C id="combine"
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "Z"
   |  |  +--LayoutText #text "XY"
   +--LayoutText #text "de"
@@ -523,7 +525,7 @@
 
 // http://crbug.com/1258331
 // See also VerticalWritingModeByWBR
-TEST_F(LayoutNGTextCombineTest, InsertBR) {
+TEST_F(LayoutTextCombineTest, InsertBR) {
   InsertStyleElement(
       "br { text-combine-upright: all; writing-mode: vertical-rl; }");
   SetBodyInnerHTML("<div id=root>x</div>");
@@ -540,7 +542,7 @@
             ToSimpleLayoutTree(*root.GetLayoutObject()));
 }
 
-TEST_F(LayoutNGTextCombineTest, LayoutOverflow) {
+TEST_F(LayoutTextCombineTest, LayoutOverflow) {
   LoadAhem();
   InsertStyleElement(
       "div {"
@@ -555,7 +557,7 @@
   // Layout tree is
   //    LayoutNGBlockFlow {DIV} at (0,0) size 100x200
   //      LayoutInline {TCY} at (0,0) size 100x100
-  //        LayoutNGTextCombine (anonymous) at (0,0) size 100x100
+  //        LayoutTextCombine (anonymous) at (0,0) size 100x100
   //          LayoutText {#text} at (0,0) size 110x100
   //            text run at (0,0) width 700: "abcefgh"
   //      LayoutText {#text} at (0,100) size 100x100
@@ -582,7 +584,7 @@
 }
 
 // http://crbug.com/1223015
-TEST_F(LayoutNGTextCombineTest, ListItemStyleToImage) {
+TEST_F(LayoutTextCombineTest, ListItemStyleToImage) {
   InsertStyleElement(
       "li { text-combine-upright: all; }"
       "ol { writing-mode: vertical-rl; }");
@@ -595,7 +597,7 @@
 LayoutNGBlockFlow OL id="root"
   +--LayoutNGListItem LI
   |  +--LayoutNGOutsideListMarker ::marker
-  |  |  +--LayoutNGTextCombine (anonymous)
+  |  |  +--LayoutTextCombine (anonymous)
   |  |  |  +--LayoutTextFragment (anonymous) ("1. ")
 )DUMP",
             ToSimpleLayoutTree(root_layout_object));
@@ -622,7 +624,7 @@
 }
 
 // http://crbug.com/1342520
-TEST_F(LayoutNGTextCombineTest, ListMarkerWidthOfSymbol) {
+TEST_F(LayoutTextCombineTest, ListMarkerWidthOfSymbol) {
   InsertStyleElement(
       "#root {"
       " text-combine-upright: all;"
@@ -637,15 +639,15 @@
   EXPECT_EQ(R"DUMP(
 LayoutNGListItem LI id="root"
   +--LayoutNGInsideListMarker ::marker
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutTextFragment (anonymous) ("\u2022 ")
-  +--LayoutNGTextCombine (anonymous)
+  +--LayoutTextCombine (anonymous)
   |  +--LayoutText #text "ab"
 )DUMP",
             ToSimpleLayoutTree(root_layout_object));
 }
 
-TEST_F(LayoutNGTextCombineTest, MultipleTextNode) {
+TEST_F(LayoutTextCombineTest, MultipleTextNode) {
   InsertStyleElement(
       "c { text-combine-upright: all; }"
       "div { writing-mode: vertical-rl; }");
@@ -658,7 +660,7 @@
 LayoutNGBlockFlow DIV id="root"
   +--LayoutText #text "ab"
   +--LayoutInline C id="combine"
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "X"
   |  |  +--LayoutText #text "Y"
   +--LayoutText #text "de"
@@ -666,7 +668,7 @@
             ToSimpleLayoutTree(root_layout_object));
 }
 
-TEST_F(LayoutNGTextCombineTest, Nested) {
+TEST_F(LayoutTextCombineTest, Nested) {
   InsertStyleElement(
       "c { text-combine-upright: all; }"
       "div { writing-mode: vertical-rl; }");
@@ -680,14 +682,14 @@
   +--LayoutText #text "ab"
   +--LayoutInline C id="combine"
   |  +--LayoutInline B
-  |  |  +--LayoutNGTextCombine (anonymous)
+  |  |  +--LayoutTextCombine (anonymous)
   |  |  |  +--LayoutText #text "XY"
   +--LayoutText #text "de"
 )DUMP",
             ToSimpleLayoutTree(root_layout_object));
 }
 
-TEST_F(LayoutNGTextCombineTest, Outline) {
+TEST_F(LayoutTextCombineTest, Outline) {
   LoadAhem();
   InsertStyleElement(
       "div {"
@@ -703,7 +705,7 @@
   // Layout tree is
   //    LayoutNGBlockFlow {DIV} at (0,0) size 100x200
   //      LayoutInline {TCY} at (0,0) size 100x100
-  //        LayoutNGTextCombine (anonymous) at (0,0) size 100x100
+  //        LayoutTextCombine (anonymous) at (0,0) size 100x100
   //          LayoutText {#text} at (0,0) size 110x100
   //            text run at (0,0) width 700: "abcefgh"
   //      LayoutText {#text} at (0,100) size 100x100
@@ -761,7 +763,7 @@
 }
 
 // http://crbug.com/1256783
-TEST_F(LayoutNGTextCombineTest, PropageWritingModeFromBodyToHorizontal) {
+TEST_F(LayoutTextCombineTest, PropageWritingModeFromBodyToHorizontal) {
   InsertStyleElement(
       "body { writing-mode: horizontal-tb; }"
       "html {"
@@ -786,7 +788,7 @@
       ToSimpleLayoutTree(*GetDocument().documentElement()->GetLayoutObject()));
 }
 
-TEST_F(LayoutNGTextCombineTest, PropageWritingModeFromBodyToVertical) {
+TEST_F(LayoutTextCombineTest, PropageWritingModeFromBodyToVertical) {
   InsertStyleElement(
       "body { writing-mode: vertical-rl; }"
       "html {"
@@ -805,7 +807,7 @@
       R"DUMP(
 LayoutNGBlockFlow HTML
   +--LayoutNGBlockFlow (anonymous)
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "X"
   +--LayoutNGBlockFlow BODY
 )DUMP",
@@ -813,7 +815,7 @@
 }
 
 // http://crbug.com/1222160
-TEST_F(LayoutNGTextCombineTest, RebuildLayoutTreeForDetails) {
+TEST_F(LayoutTextCombineTest, RebuildLayoutTreeForDetails) {
   InsertStyleElement(
       "details { text-combine-upright: all; writing-mode: vertical-rl;  }");
   SetBodyInnerHTML("<details id=root open>ab<summary>XY</summary>cd</details>");
@@ -825,12 +827,12 @@
 LayoutNGBlockFlow DETAILS id="root"
   +--LayoutNGListItem SUMMARY
   |  +--LayoutNGInsideListMarker ::marker
-  |  |  +--LayoutNGTextCombine (anonymous)
+  |  |  +--LayoutTextCombine (anonymous)
   |  |  |  +--LayoutTextFragment (anonymous) ("\u25BE ")
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "XY"
   +--LayoutNGBlockFlow (anonymous)
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "ab"
   |  |  +--LayoutText #text "cd"
 )DUMP",
@@ -845,12 +847,12 @@
 LayoutNGBlockFlow DETAILS id="root" style="color: red !important;"
   +--LayoutNGListItem SUMMARY
   |  +--LayoutNGInsideListMarker ::marker
-  |  |  +--LayoutNGTextCombine (anonymous)
+  |  |  +--LayoutTextCombine (anonymous)
   |  |  |  +--LayoutTextFragment (anonymous) ("\u25BE ")
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "XY"
   +--LayoutNGBlockFlow (anonymous)
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "ab"
   |  |  +--LayoutText #text "cd"
 )DUMP",
@@ -858,7 +860,7 @@
 }
 
 // http;//crbug.com/1233432
-TEST_F(LayoutNGTextCombineTest, RemoveBlockChild) {
+TEST_F(LayoutTextCombineTest, RemoveBlockChild) {
   InsertStyleElement(
       "div { text-combine-upright: all; }"
       "div { writing-mode: vertical-rl; }");
@@ -868,13 +870,13 @@
   EXPECT_EQ(R"DUMP(
 LayoutNGBlockFlow DIV id="root"
   +--LayoutNGBlockFlow (anonymous)
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "ab"
   +--LayoutNGBlockFlow P id="block"
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "XY"
   +--LayoutNGBlockFlow (anonymous)
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "de"
 )DUMP",
             ToSimpleLayoutTree(*root.GetLayoutObject()));
@@ -883,14 +885,14 @@
   RunDocumentLifecycle();
   EXPECT_EQ(R"DUMP(
 LayoutNGBlockFlow DIV id="root"
-  +--LayoutNGTextCombine (anonymous)
+  +--LayoutTextCombine (anonymous)
   |  +--LayoutText #text "ab"
   |  +--LayoutText #text "de"
 )DUMP",
             ToSimpleLayoutTree(*root.GetLayoutObject()));
 }
 
-TEST_F(LayoutNGTextCombineTest, RemoveChildCombine) {
+TEST_F(LayoutTextCombineTest, RemoveChildCombine) {
   InsertStyleElement(
       "c { text-combine-upright: all; }"
       "div { writing-mode: vertical-rl; }");
@@ -903,7 +905,7 @@
 LayoutNGBlockFlow DIV id="root"
   +--LayoutText #text "ab"
   +--LayoutInline C id="combine"
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "XY"
   +--LayoutText #text "de"
 )DUMP",
@@ -919,7 +921,7 @@
             ToSimpleLayoutTree(root_layout_object));
 }
 
-TEST_F(LayoutNGTextCombineTest, RemoveChildToEmpty) {
+TEST_F(LayoutTextCombineTest, RemoveChildToEmpty) {
   InsertStyleElement(
       "c { text-combine-upright: all; }"
       "div { writing-mode: vertical-rl; }");
@@ -932,7 +934,7 @@
 LayoutNGBlockFlow DIV id="root"
   +--LayoutText #text "ab"
   +--LayoutInline C id="combine"
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "XY"
   +--LayoutText #text "de"
 )DUMP",
@@ -950,7 +952,7 @@
 }
 
 // http://crbug.com/1227066
-TEST_F(LayoutNGTextCombineTest, RemoveChildToOneCombinedText) {
+TEST_F(LayoutTextCombineTest, RemoveChildToOneCombinedText) {
   InsertStyleElement(
       "c { text-combine-upright: all; }"
       "div { writing-mode: vertical-rl; }");
@@ -962,12 +964,12 @@
   EXPECT_EQ(R"DUMP(
 LayoutNGBlockFlow DIV id="root"
   +--LayoutInline C
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "a"
   |  +--LayoutInline B id="t"
-  |  |  +--LayoutNGTextCombine (anonymous)
+  |  |  +--LayoutTextCombine (anonymous)
   |  |  |  +--LayoutText #text "x"
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "z"
 )DUMP",
             ToSimpleLayoutTree(root_layout_object));
@@ -978,7 +980,7 @@
   EXPECT_EQ(R"DUMP(
 LayoutNGBlockFlow DIV id="root"
   +--LayoutInline C
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "a"
   |  |  +--LayoutText #text "z"
 )DUMP",
@@ -986,7 +988,7 @@
 }
 
 // http://crbug.com/1227066
-TEST_F(LayoutNGTextCombineTest, ReplaceChildToOneCombinedText) {
+TEST_F(LayoutTextCombineTest, ReplaceChildToOneCombinedText) {
   InsertStyleElement(
       "c { text-combine-upright: all; }"
       "div { writing-mode: vertical-rl; }");
@@ -998,12 +1000,12 @@
   EXPECT_EQ(R"DUMP(
 LayoutNGBlockFlow DIV id="root"
   +--LayoutInline C
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "a"
   |  +--LayoutInline B id="t"
-  |  |  +--LayoutNGTextCombine (anonymous)
+  |  |  +--LayoutTextCombine (anonymous)
   |  |  |  +--LayoutText #text "x"
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "z"
 )DUMP",
             ToSimpleLayoutTree(root_layout_object));
@@ -1016,7 +1018,7 @@
   EXPECT_EQ(R"DUMP(
 LayoutNGBlockFlow DIV id="root"
   +--LayoutInline C
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "a"
   |  |  +--LayoutText #text "X"
   |  |  +--LayoutText #text "z"
@@ -1024,7 +1026,7 @@
             ToSimpleLayoutTree(root_layout_object));
 }
 
-TEST_F(LayoutNGTextCombineTest, SetDataToEmpty) {
+TEST_F(LayoutTextCombineTest, SetDataToEmpty) {
   InsertStyleElement(
       "c { text-combine-upright: all; }"
       "div { writing-mode: vertical-rl; }");
@@ -1037,7 +1039,7 @@
 LayoutNGBlockFlow DIV id="root"
   +--LayoutText #text "ab"
   +--LayoutInline C id="combine"
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "XY"
   +--LayoutText #text "de"
 )DUMP",
@@ -1055,7 +1057,7 @@
       << "We should not have a wrapper.";
 }
 
-TEST_F(LayoutNGTextCombineTest, SplitText) {
+TEST_F(LayoutTextCombineTest, SplitText) {
   V8TestingScope scope;
 
   InsertStyleElement(
@@ -1070,7 +1072,7 @@
 LayoutNGBlockFlow DIV id="root"
   +--LayoutText #text "ab"
   +--LayoutInline C id="combine"
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "XY"
   +--LayoutText #text "de"
 )DUMP",
@@ -1083,7 +1085,7 @@
 LayoutNGBlockFlow DIV id="root"
   +--LayoutText #text "ab"
   +--LayoutInline C id="combine"
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "X"
   |  |  +--LayoutText #text "Y"
   +--LayoutText #text "de"
@@ -1091,7 +1093,7 @@
             ToSimpleLayoutTree(root_layout_object));
 }
 
-TEST_F(LayoutNGTextCombineTest, SplitTextAtZero) {
+TEST_F(LayoutTextCombineTest, SplitTextAtZero) {
   V8TestingScope scope;
 
   InsertStyleElement(
@@ -1106,7 +1108,7 @@
 LayoutNGBlockFlow DIV id="root"
   +--LayoutText #text "ab"
   +--LayoutInline C id="combine"
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "XY"
   +--LayoutText #text "de"
 )DUMP",
@@ -1119,7 +1121,7 @@
 LayoutNGBlockFlow DIV id="root"
   +--LayoutText #text "ab"
   +--LayoutInline C id="combine"
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "XY"
   +--LayoutText #text "de"
 )DUMP",
@@ -1127,7 +1129,7 @@
       << "There are no empty LayoutText.";
 }
 
-TEST_F(LayoutNGTextCombineTest, SplitTextBeforeBox) {
+TEST_F(LayoutTextCombineTest, SplitTextBeforeBox) {
   V8TestingScope scope;
 
   InsertStyleElement(
@@ -1142,10 +1144,10 @@
 LayoutNGBlockFlow DIV id="root"
   +--LayoutText #text "ab"
   +--LayoutInline C id="combine"
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "XY"
   |  +--LayoutInline B
-  |  |  +--LayoutNGTextCombine (anonymous)
+  |  |  +--LayoutTextCombine (anonymous)
   |  |  |  +--LayoutText #text "Z"
   +--LayoutText #text "de"
 )DUMP",
@@ -1158,18 +1160,18 @@
 LayoutNGBlockFlow DIV id="root"
   +--LayoutText #text "ab"
   +--LayoutInline C id="combine"
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "X"
   |  |  +--LayoutText #text "Y"
   |  +--LayoutInline B
-  |  |  +--LayoutNGTextCombine (anonymous)
+  |  |  +--LayoutTextCombine (anonymous)
   |  |  |  +--LayoutText #text "Z"
   +--LayoutText #text "de"
 )DUMP",
             ToSimpleLayoutTree(root_layout_object));
 }
 
-TEST_F(LayoutNGTextCombineTest, StyleToTextCombineUprightAll) {
+TEST_F(LayoutTextCombineTest, StyleToTextCombineUprightAll) {
   InsertStyleElement("div { writing-mode: vertical-rl; }");
   SetBodyInnerHTML("<div id=root>ab<c id=combine><b>XY</b></c>de</div>");
   auto& root = *GetElementById("root");
@@ -1195,7 +1197,7 @@
   +--LayoutText #text "ab"
   +--LayoutInline C id="combine" style="text-combine-upright: all"
   |  +--LayoutInline B
-  |  |  +--LayoutNGTextCombine (anonymous)
+  |  |  +--LayoutTextCombine (anonymous)
   |  |  |  +--LayoutText #text "XY"
   +--LayoutText #text "de"
 )DUMP",
@@ -1203,7 +1205,7 @@
       << "There are no wrapper.";
 }
 
-TEST_F(LayoutNGTextCombineTest, StyleToTextCombineUprightNone) {
+TEST_F(LayoutTextCombineTest, StyleToTextCombineUprightNone) {
   InsertStyleElement(
       "c { text-combine-upright: all; }"
       "div { writing-mode: vertical-rl; }");
@@ -1217,7 +1219,7 @@
   +--LayoutText #text "ab"
   +--LayoutInline C id="combine"
   |  +--LayoutInline B
-  |  |  +--LayoutNGTextCombine (anonymous)
+  |  |  +--LayoutTextCombine (anonymous)
   |  |  |  +--LayoutText #text "XY"
   +--LayoutText #text "de"
 )DUMP",
@@ -1238,7 +1240,7 @@
       << "There are no wrapper.";
 }
 
-TEST_F(LayoutNGTextCombineTest, StyleToHorizontalWritingMode) {
+TEST_F(LayoutTextCombineTest, StyleToHorizontalWritingMode) {
   InsertStyleElement(
       "c { text-combine-upright: all; }"
       "div { writing-mode: vertical-rl; }");
@@ -1252,7 +1254,7 @@
   +--LayoutText #text "ab"
   +--LayoutInline C id="combine"
   |  +--LayoutInline B
-  |  |  +--LayoutNGTextCombine (anonymous)
+  |  |  +--LayoutTextCombine (anonymous)
   |  |  |  +--LayoutText #text "XY"
   +--LayoutText #text "de"
 )DUMP",
@@ -1273,7 +1275,7 @@
       << "There are no wrapper.";
 }
 
-TEST_F(LayoutNGTextCombineTest, StyleToHorizontalWritingModeWithWordBreak) {
+TEST_F(LayoutTextCombineTest, StyleToHorizontalWritingModeWithWordBreak) {
   InsertStyleElement(
       "wbr { text-combine-upright: all; }"
       "div { writing-mode: vertical-rl; }");
@@ -1282,7 +1284,7 @@
 
   EXPECT_EQ(R"DUMP(
 LayoutNGBlockFlow DIV id="root"
-  +--LayoutNGTextCombine (anonymous)
+  +--LayoutTextCombine (anonymous)
   |  +--LayoutWordBreak WBR
 )DUMP",
             ToSimpleLayoutTree(*root.GetLayoutObject()));
@@ -1297,7 +1299,7 @@
             ToSimpleLayoutTree(*root.GetLayoutObject()));
 }
 
-TEST_F(LayoutNGTextCombineTest, StyleToVerticalWritingMode) {
+TEST_F(LayoutTextCombineTest, StyleToVerticalWritingMode) {
   InsertStyleElement("c { text-combine-upright: all; }");
   SetBodyInnerHTML("<div id=root>ab<c id=combine><b>XY</b></c>de</div>");
   auto& root = *GetElementById("root");
@@ -1322,7 +1324,7 @@
   +--LayoutText #text "ab"
   +--LayoutInline C id="combine"
   |  +--LayoutInline B
-  |  |  +--LayoutNGTextCombine (anonymous)
+  |  |  +--LayoutTextCombine (anonymous)
   |  |  |  +--LayoutText #text "XY"
   +--LayoutText #text "de"
 )DUMP",
@@ -1330,7 +1332,7 @@
 }
 
 // http://crbug.com/1222121
-TEST_F(LayoutNGTextCombineTest, VerticalWritingModeByBR) {
+TEST_F(LayoutTextCombineTest, VerticalWritingModeByBR) {
   InsertStyleElement(
       "#sample {  text-combine-upright: all; writing-mode: vertical-rl; }");
   SetBodyInnerHTML("<br id=sample>");
@@ -1345,7 +1347,7 @@
 }
 
 // http://crbug.com/1222121
-TEST_F(LayoutNGTextCombineTest, VerticalWritingModeByWBR) {
+TEST_F(LayoutTextCombineTest, VerticalWritingModeByWBR) {
   InsertStyleElement(
       "#sample {  text-combine-upright: all; writing-mode: vertical-rl; }");
   SetBodyInnerHTML("<wbr id=sample>");
@@ -1360,7 +1362,7 @@
 }
 
 // http://crbug.com/1222069
-TEST_F(LayoutNGTextCombineTest, WithBidiControl) {
+TEST_F(LayoutTextCombineTest, WithBidiControl) {
   InsertStyleElement(
       "c { text-combine-upright: all; -webkit-rtl-ordering: visual; }"
       "div { writing-mode: vertical-rl; }");
@@ -1372,14 +1374,14 @@
 LayoutNGBlockFlow DIV id="root"
   +--LayoutText #text "ab"
   +--LayoutInline C id="combine"
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "XY"
   +--LayoutText #text "de"
 )DUMP",
             ToSimpleLayoutTree(root_layout_object));
 }
 
-TEST_F(LayoutNGTextCombineTest, WithBR) {
+TEST_F(LayoutTextCombineTest, WithBR) {
   InsertStyleElement(
       "c { text-combine-upright: all; }"
       "div { writing-mode: vertical-rl; }");
@@ -1391,7 +1393,7 @@
 LayoutNGBlockFlow DIV id="root"
   +--LayoutText #text "ab"
   +--LayoutInline C id="combine"
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "XY"
   |  |  +--LayoutBR BR
   |  |  +--LayoutText #text "Z"
@@ -1401,7 +1403,7 @@
 }
 
 // http://crbug.com/1060007
-TEST_F(LayoutNGTextCombineTest, WithMarker) {
+TEST_F(LayoutTextCombineTest, WithMarker) {
   InsertStyleElement(
       "li { text-combine-upright: all; }"
       "p {"
@@ -1419,7 +1421,7 @@
   EXPECT_EQ(R"DUMP(
 LayoutNGListItem P id="root"
   +--LayoutNGOutsideListMarker ::marker
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutTextFragment (anonymous) ("<")
   |  |  +--LayoutCounter (anonymous) "1"
   |  |  +--LayoutTextFragment (anonymous) (">")
@@ -1428,7 +1430,7 @@
             ToSimpleLayoutTree(root_layout_object));
 }
 
-TEST_F(LayoutNGTextCombineTest, WithOrderedList) {
+TEST_F(LayoutTextCombineTest, WithOrderedList) {
   InsertStyleElement(
       "li { text-combine-upright: all; }"
       "ol { writing-mode: vertical-rl; }");
@@ -1439,15 +1441,15 @@
 LayoutNGBlockFlow OL id="root"
   +--LayoutNGListItem LI
   |  +--LayoutNGOutsideListMarker ::marker
-  |  |  +--LayoutNGTextCombine (anonymous)
+  |  |  +--LayoutTextCombine (anonymous)
   |  |  |  +--LayoutTextFragment (anonymous) ("1. ")
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "ab"
 )DUMP",
             ToSimpleLayoutTree(root_layout_object));
 }
 
-TEST_F(LayoutNGTextCombineTest, WithQuote) {
+TEST_F(LayoutTextCombineTest, WithQuote) {
   InsertStyleElement(
       "q { text-combine-upright: all; }"
       "div { writing-mode: vertical-rl; }");
@@ -1459,20 +1461,20 @@
   +--LayoutInline Q
   |  +--LayoutInline ::before
   |  |  +--LayoutQuote (anonymous)
-  |  |  |  +--LayoutNGTextCombine (anonymous)
+  |  |  |  +--LayoutTextCombine (anonymous)
   |  |  |  |  +--LayoutTextFragment (anonymous) ("\u201C")
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "XY"
   |  +--LayoutInline ::after
   |  |  +--LayoutQuote (anonymous)
-  |  |  |  +--LayoutNGTextCombine (anonymous)
+  |  |  |  +--LayoutTextCombine (anonymous)
   |  |  |  |  +--LayoutTextFragment (anonymous) ("\u201D")
 )DUMP",
             ToSimpleLayoutTree(root_layout_object));
 }
 
 // http://crbug.com/1223423
-TEST_F(LayoutNGTextCombineTest, WithTab) {
+TEST_F(LayoutTextCombineTest, WithTab) {
   InsertStyleElement(
       "c { text-combine-upright: all; white-space: pre; }"
       "div { writing-mode: vertical-rl; }");
@@ -1484,7 +1486,7 @@
 LayoutNGBlockFlow DIV id="root"
   +--LayoutText #text "ab"
   +--LayoutInline C id="combine"
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "X\tY"
   +--LayoutText #text "de"
 )DUMP",
@@ -1492,7 +1494,7 @@
 }
 
 // http://crbug.com/1242755
-TEST_F(LayoutNGTextCombineTest, WithTextIndent) {
+TEST_F(LayoutTextCombineTest, WithTextIndent) {
   LoadAhem();
   InsertStyleElement(
       "body { font: 20px/30px Ahem; }"
@@ -1509,7 +1511,7 @@
             cursor.Current().RectInContainerFragment());
 }
 
-TEST_F(LayoutNGTextCombineTest, WithWordBreak) {
+TEST_F(LayoutTextCombineTest, WithWordBreak) {
   InsertStyleElement(
       "c { text-combine-upright: all; }"
       "div { writing-mode: vertical-rl; }");
@@ -1521,7 +1523,7 @@
 LayoutNGBlockFlow DIV id="root"
   +--LayoutText #text "ab"
   +--LayoutInline C id="combine"
-  |  +--LayoutNGTextCombine (anonymous)
+  |  +--LayoutTextCombine (anonymous)
   |  |  +--LayoutText #text "XY"
   |  |  +--LayoutWordBreak WBR
   |  |  +--LayoutText #text "Z"
@@ -1531,13 +1533,13 @@
 }
 
 // crbug.com/1430617
-TEST_F(LayoutNGTextCombineTest, ShouldBeParentOfSvg) {
+TEST_F(LayoutTextCombineTest, ShouldBeParentOfSvg) {
   SetBodyInnerHTML(R"HTML(
     <div id="root" style="text-combine-upright: all;">
     <svg>
     <text style="writing-mode: vertical-rl;">Text)HTML");
 
-  // Should have no LayoutNGTextCombine.
+  // Should have no LayoutTextCombine.
   EXPECT_EQ(R"DUMP(
 LayoutNGBlockFlow DIV id="root" style="text-combine-upright: all;"
   +--LayoutSVGRoot svg
@@ -1547,7 +1549,7 @@
             ToSimpleLayoutTree(*GetLayoutObjectByElementId("root")));
 }
 
-TEST_F(LayoutNGTextCombineTest, InHorizontal) {
+TEST_F(LayoutTextCombineTest, InHorizontal) {
   InsertStyleElement(
       "div { writing-mode: horizontal-tb; }"
       "tcy { text-combine-upright: all; }");
@@ -1561,7 +1563,7 @@
             ToSimpleLayoutTree(sample_layout_object));
 }
 
-TEST_F(LayoutNGTextCombineTest, InVertical) {
+TEST_F(LayoutTextCombineTest, InVertical) {
   InsertStyleElement(
       "div { writing-mode: vertical-rl; }"
       "tcy { text-combine-upright: all; }");
@@ -1570,7 +1572,7 @@
 
   EXPECT_EQ(R"DUMP(
 LayoutInline TCY id="sample"
-  +--LayoutNGTextCombine (anonymous)
+  +--LayoutTextCombine (anonymous)
   |  +--LayoutText #text "ab"
 )DUMP",
             ToSimpleLayoutTree(sample_layout_object));
diff --git a/third_party/blink/renderer/core/layout/list_marker.cc b/third_party/blink/renderer/core/layout/list_marker.cc
index 451ac6c6..f86af49 100644
--- a/third_party/blink/renderer/core/layout/list_marker.cc
+++ b/third_party/blink/renderer/core/layout/list_marker.cc
@@ -10,8 +10,8 @@
 #include "third_party/blink/renderer/core/layout/geometry/writing_mode_converter.h"
 #include "third_party/blink/renderer/core/layout/layout_image_resource_style_image.h"
 #include "third_party/blink/renderer/core/layout/layout_list_marker_image.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 #include "third_party/blink/renderer/core/layout/layout_text_fragment.h"
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
 #include "third_party/blink/renderer/core/layout/ng/list/layout_ng_inline_list_item.h"
 #include "third_party/blink/renderer/core/layout/ng/list/layout_ng_inside_list_marker.h"
 #include "third_party/blink/renderer/core/layout/ng/list/layout_ng_list_item.h"
@@ -115,8 +115,9 @@
 LayoutObject* ListMarker::GetContentChild(const LayoutObject& marker) const {
   DCHECK_EQ(Get(&marker), this);
   LayoutObject* const first_child = marker.SlowFirstChild();
-  if (IsA<LayoutNGTextCombine>(first_child))
+  if (IsA<LayoutTextCombine>(first_child)) {
     return first_child->SlowFirstChild();
+  }
   return first_child;
 }
 
@@ -249,10 +250,11 @@
       if (!child->IsLayoutImage() ||
           To<LayoutImage>(child)->ImageResource()->ImagePtr() !=
               list_style_image->Data()) {
-        if (UNLIKELY(IsA<LayoutNGTextCombine>(child->Parent())))
+        if (UNLIKELY(IsA<LayoutTextCombine>(child->Parent()))) {
           child->Parent()->Destroy();
-        else
+        } else {
           child->Destroy();
+        }
         child = nullptr;
       }
     }
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_caret_rect.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_caret_rect.cc
index fef7b5bb..1900f41 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_caret_rect.cc
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_caret_rect.cc
@@ -8,7 +8,7 @@
 #include "third_party/blink/renderer/core/frame/local_frame_view.h"
 #include "third_party/blink/renderer/core/layout/geometry/physical_rect.h"
 #include "third_party/blink/renderer/core/layout/layout_block_flow.h"
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_caret_position.h"
 #include "third_party/blink/renderer/core/layout/ng/ng_physical_box_fragment.h"
 #include "third_party/blink/renderer/platform/wtf/math_extras.h"
@@ -138,7 +138,7 @@
   // Adjust the location to be relative to the inline formatting context.
   PhysicalOffset caret_location = PhysicalOffset(caret_left, caret_top) +
                                   cursor.Current().OffsetInContainerFragment();
-  const auto* const text_combine = DynamicTo<LayoutNGTextCombine>(
+  const auto* const text_combine = DynamicTo<LayoutTextCombine>(
       cursor.Current().GetLayoutObject()->Parent());
   if (UNLIKELY(text_combine)) {
     caret_location =
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_fragment_item.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_fragment_item.cc
index 6e33b5d1..cf68778 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_fragment_item.cc
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_fragment_item.cc
@@ -7,7 +7,7 @@
 #include "base/debug/dump_without_crashing.h"
 #include "third_party/blink/renderer/core/editing/bidi_adjustment.h"
 #include "third_party/blink/renderer/core/editing/position_with_affinity.h"
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_caret_position.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_fragment_items_builder.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_cursor.h"
@@ -927,7 +927,7 @@
     PhysicalRect contents_rect =
         RecalcInkOverflowForDescendantsOf(cursor, inline_context);
     const auto* const text_combine =
-        DynamicTo<LayoutNGTextCombine>(GetLayoutObject());
+        DynamicTo<LayoutTextCombine>(GetLayoutObject());
     if (UNLIKELY(text_combine))
       contents_rect = text_combine->AdjustRectForBoundingBox(contents_rect);
     // Line boxes don't have self overflow. Compute content overflow only.
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_fragment_item.h b/third_party/blink/renderer/core/layout/ng/inline/ng_fragment_item.h
index 28fd314..d8536a7 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_fragment_item.h
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_fragment_item.h
@@ -525,7 +525,7 @@
   FRIEND_TEST_ALL_PREFIXES(NGFragmentItemTest, CopyMove);
   FRIEND_TEST_ALL_PREFIXES(NGFragmentItemTest, SelfPaintingInlineBox);
   FRIEND_TEST_ALL_PREFIXES(StyleChangeTest, NeedsCollectInlinesOnStyle);
-  friend class LayoutNGTextCombineTest;
+  friend class LayoutTextCombineTest;
 
   // Create a text item.
   NGFragmentItem(const NGInlineItem& inline_item,
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_box_state.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_box_state.cc
index b16f7fda..43cbd1c5 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_box_state.cc
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_box_state.cc
@@ -7,7 +7,7 @@
 #include "base/containers/adapters.h"
 #include "third_party/blink/renderer/core/layout/geometry/logical_offset.h"
 #include "third_party/blink/renderer/core/layout/geometry/logical_size.h"
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_item_result.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_line_box_fragment_builder.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_line_utils.h"
@@ -983,7 +983,7 @@
     return kPositionNotPending;
 
   if (UNLIKELY(box->item &&
-               IsA<LayoutNGTextCombine>(box->item->GetLayoutObject()))) {
+               IsA<LayoutTextCombine>(box->item->GetLayoutObject()))) {
     // Text content in text-combine-upright:all is layout in horizontally, so
     // we don't need to move text combine box.
     // See "text-combine-shrink-to-fit.html".
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_cursor.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_cursor.cc
index 73a406e4..d21e6f2 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_cursor.cc
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_cursor.cc
@@ -12,7 +12,7 @@
 #include "third_party/blink/renderer/core/layout/geometry/writing_mode_converter.h"
 #include "third_party/blink/renderer/core/layout/layout_block_flow.h"
 #include "third_party/blink/renderer/core/layout/layout_text.h"
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_fragment_items.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_item_span.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_physical_line_box_fragment.h"
@@ -720,7 +720,7 @@
   DCHECK(container->Type() == NGFragmentItem::kLine ||
          container->Type() == NGFragmentItem::kBox);
   const auto* const text_combine =
-      DynamicTo<LayoutNGTextCombine>(container->GetLayoutObject());
+      DynamicTo<LayoutTextCombine>(container->GetLayoutObject());
   const PhysicalOffset point =
       UNLIKELY(text_combine) ? text_combine->AdjustOffsetForHitTest(point_in)
                              : point_in;
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_item.h b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_item.h
index bdfe92e..63b68db 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_item.h
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_item.h
@@ -150,7 +150,7 @@
     return GetLayoutObject() && GetLayoutObject()->IsRubyColumn();
   }
   bool IsTextCombine() const {
-    return GetLayoutObject() && GetLayoutObject()->IsLayoutNGTextCombine();
+    return GetLayoutObject() && GetLayoutObject()->IsLayoutTextCombine();
   }
 
   void SetOffset(unsigned start, unsigned end) {
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_items_builder.h b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_items_builder.h
index 51667fd..6b67e05 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_items_builder.h
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_items_builder.h
@@ -53,7 +53,7 @@
       : block_flow_(block_flow),
         items_(items),
         text_chunk_offsets_(chunk_offsets),
-        is_text_combine_(block_flow_->IsLayoutNGTextCombine()) {}
+        is_text_combine_(block_flow_->IsLayoutTextCombine()) {}
   ~NGInlineItemsBuilderTemplate();
 
   LayoutBlockFlow* GetLayoutBlockFlow() const { return block_flow_; }
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.cc
index 5c13774c..2ed3399 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.cc
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.cc
@@ -12,7 +12,7 @@
 #include "third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom-shared.h"
 #include "third_party/blink/renderer/core/css/resolver/style_resolver.h"
 #include "third_party/blink/renderer/core/html/forms/html_input_element.h"
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_bidi_paragraph.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_initial_letter_utils.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_box_state.h"
@@ -807,7 +807,7 @@
   NGInlineBoxState* box = box_states_->OnOpenTag(
       ConstraintSpace(), item, *item_result, baseline_type_, *line_box);
 
-  if (LIKELY(!IsA<LayoutNGTextCombine>(layout_object))) {
+  if (LIKELY(!IsA<LayoutTextCombine>(layout_object))) {
     PlaceLayoutResult(item_result, line_box, box, box->margin_inline_start);
   } else {
     // The metrics should be as text instead of atomic inline box.
@@ -900,7 +900,7 @@
     NGInlineItemResult* item_result,
     NGLogicalLineItems* line_box) {
   DCHECK(item_result->layout_result);
-  DCHECK(!IsA<LayoutNGTextCombine>(item.GetLayoutObject()));
+  DCHECK(!IsA<LayoutTextCombine>(item.GetLayoutObject()));
   DCHECK(!item_result->spacing_before);
 
   // Because of the initial letter box should not contribute baseline position
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc
index 5b56adc..bdf880c1 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc
@@ -18,8 +18,8 @@
 #include "third_party/blink/renderer/core/layout/layout_object.h"
 #include "third_party/blink/renderer/core/layout/layout_object_inlines.h"
 #include "third_party/blink/renderer/core/layout/layout_text.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 #include "third_party/blink/renderer/core/layout/list_marker.h"
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_bidi_paragraph.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_initial_letter_utils.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_break_token.h"
@@ -580,8 +580,9 @@
 
     // For "text-combine-upright:all", we choose font to fit layout result in
     // 1em, so font can be different than original font.
-    if (UNLIKELY(IsA<LayoutNGTextCombine>(block_flow_)))
+    if (UNLIKELY(IsA<LayoutTextCombine>(block_flow_))) {
       return nullptr;
+    }
 
     // Because of current text content has secured text, e.g. whole text is
     // "***", all characters including collapsed white spaces are marker, and
@@ -1310,7 +1311,7 @@
     } else {
       DCHECK_EQ(font.GetFontDescription().Orientation(),
                 FontOrientation::kHorizontal);
-      LayoutNGTextCombine::AssertStyleIsValid(start_style);
+      LayoutTextCombine::AssertStyleIsValid(start_style);
       DCHECK(!override_font ||
              font.GetFontDescription().WidthVariant() != kRegularWidth);
     }
@@ -2020,7 +2021,7 @@
   const float content_width = CalculateWidthForTextCombine(ItemsData(false));
   if (UNLIKELY(content_width == 0.0f))
     return;  // See "fast/css/zero-font-size-crash.html".
-  auto& text_combine = *To<LayoutNGTextCombine>(GetLayoutBlockFlow());
+  auto& text_combine = *To<LayoutTextCombine>(GetLayoutBlockFlow());
   const float desired_width = text_combine.DesiredWidth();
   text_combine.ResetLayout();
   if (UNLIKELY(desired_width == 0.0f)) {
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node_test.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node_test.cc
index d241d50..e790d4e 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node_test.cc
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node_test.cc
@@ -11,7 +11,7 @@
 #include "third_party/blink/renderer/core/dom/pseudo_element.h"
 #include "third_party/blink/renderer/core/dom/text.h"
 #include "third_party/blink/renderer/core/html_names.h"
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_child_layout_context.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_cursor.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_item_span.h"
@@ -358,8 +358,8 @@
   //        LayoutText (anonymous) "\x{2022} "
   //   LayoutNGTextCombine (anonymous)
   //     LayoutText {#text} "a"
-  NGInlineNodeForTest node = CreateInlineNode(
-      To<LayoutNGTextCombine>(layout_object_->SlowFirstChild()));
+  NGInlineNodeForTest node =
+      CreateInlineNode(To<LayoutTextCombine>(layout_object_->SlowFirstChild()));
   node.CollectInlines();
   EXPECT_EQ("\u2022", node.Text());
   HeapVector<NGInlineItem>& items = node.Items();
@@ -1606,13 +1606,13 @@
       "}");
   SetBodyInnerHTML("<div id=t1>0123456789</div><div id=t2>0</div>");
 
-  EXPECT_TRUE(To<LayoutNGTextCombine>(
-                  GetLayoutObjectByElementId("t1")->SlowFirstChild())
-                  ->UsesScaleX())
+  EXPECT_TRUE(
+      To<LayoutTextCombine>(GetLayoutObjectByElementId("t1")->SlowFirstChild())
+          ->UsesScaleX())
       << "We paint combined text '0123456789' with scaling in X-axis.";
-  EXPECT_FALSE(To<LayoutNGTextCombine>(
-                   GetLayoutObjectByElementId("t2")->SlowFirstChild())
-                   ->UsesScaleX())
+  EXPECT_FALSE(
+      To<LayoutTextCombine>(GetLayoutObjectByElementId("t2")->SlowFirstChild())
+          ->UsesScaleX())
       << "We paint combined text '0' without scaling in X-axis.";
 }
 
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.cc
index d182511..75cc16d8 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.cc
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.cc
@@ -7,7 +7,7 @@
 #include "base/containers/adapters.h"
 #include "base/ranges/algorithm.h"
 #include "third_party/blink/renderer/core/frame/web_feature.h"
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_bidi_paragraph.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_break_token.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_cursor.h"
@@ -318,10 +318,10 @@
                                          : start_position - end_position;
 }
 
-inline LayoutNGTextCombine* MayBeTextCombine(const NGInlineItem* item) {
+inline LayoutTextCombine* MayBeTextCombine(const NGInlineItem* item) {
   if (!item)
     return nullptr;
-  return DynamicTo<LayoutNGTextCombine>(item->GetLayoutObject());
+  return DynamicTo<LayoutTextCombine>(item->GetLayoutObject());
 }
 
 }  // namespace
@@ -3023,7 +3023,7 @@
   const NGInlineItemResults& item_results = line_info->Results();
   if (item_results.size() >= 2) {
     NGInlineItemResult* last = std::prev(item_result);
-    if (UNLIKELY(IsA<LayoutNGTextCombine>(last->item->GetLayoutObject()))) {
+    if (UNLIKELY(IsA<LayoutTextCombine>(last->item->GetLayoutObject()))) {
       // |can_break_after| for close tag should be as same as text-combine box.
       // See "text-combine-upright-break-inside-001a.html"
       // e.g. A<tcy style="white-space: pre">x y</tcy>B
diff --git a/third_party/blink/renderer/core/layout/ng/list/layout_ng_list_item.cc b/third_party/blink/renderer/core/layout/ng/list/layout_ng_list_item.cc
index 82335d5..53132490 100644
--- a/third_party/blink/renderer/core/layout/ng/list/layout_ng_list_item.cc
+++ b/third_party/blink/renderer/core/layout/ng/list/layout_ng_list_item.cc
@@ -125,8 +125,9 @@
   if (object->IsAnonymousBlock())
     return FindSymbolMarkerLayoutText(GetLayoutObjectForParentNode(object));
 
-  if (object->IsLayoutNGTextCombine())
+  if (object->IsLayoutTextCombine()) {
     return FindSymbolMarkerLayoutText(object->Parent());
+  }
 
   return nullptr;
 }
diff --git a/third_party/blink/renderer/core/layout/ng/list/layout_ng_list_item_test.cc b/third_party/blink/renderer/core/layout/ng/list/layout_ng_list_item_test.cc
index af25759..24ce089 100644
--- a/third_party/blink/renderer/core/layout/ng/list/layout_ng_list_item_test.cc
+++ b/third_party/blink/renderer/core/layout/ng/list/layout_ng_list_item_test.cc
@@ -5,7 +5,7 @@
 #include "third_party/blink/renderer/core/layout/ng/ng_base_layout_algorithm_test.h"
 
 #include "third_party/blink/renderer/core/dom/dom_token_list.h"
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 #include "third_party/blink/renderer/core/layout/ng/list/layout_ng_list_item.h"
 
 namespace blink {
@@ -29,7 +29,7 @@
   const auto* const marker_layout_text =
       LayoutNGListItem::FindSymbolMarkerLayoutText(target.GetLayoutObject());
   const auto* const text_combine =
-      To<LayoutNGTextCombine>(marker_layout_text->Parent());
+      To<LayoutTextCombine>(marker_layout_text->Parent());
   EXPECT_EQ(marker_layout_text,
             LayoutNGListItem::FindSymbolMarkerLayoutText(text_combine));
 }
diff --git a/third_party/blink/renderer/core/layout/ng/ng_layout_input_node.h b/third_party/blink/renderer/core/layout/ng/ng_layout_input_node.h
index 90229bc..66aaa7a 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_layout_input_node.h
+++ b/third_party/blink/renderer/core/layout/ng/ng_layout_input_node.h
@@ -136,7 +136,7 @@
   bool IsSliderThumb() const;
   bool IsSvgText() const;
   bool IsTable() const { return IsBlock() && box_->IsTable(); }
-  bool IsTextCombine() const { return box_->IsLayoutNGTextCombine(); }
+  bool IsTextCombine() const { return box_->IsLayoutTextCombine(); }
 
   bool IsTableCaption() const { return IsBlock() && box_->IsTableCaption(); }
   bool IsTableSection() const { return IsBlock() && box_->IsTableSection(); }
diff --git a/third_party/blink/renderer/core/layout/ng/ng_layout_overflow_calculator.cc b/third_party/blink/renderer/core/layout/ng/ng_layout_overflow_calculator.cc
index 17f2bfc7..4315d429 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_layout_overflow_calculator.cc
+++ b/third_party/blink/renderer/core/layout/ng/ng_layout_overflow_calculator.cc
@@ -7,7 +7,7 @@
 #include "third_party/blink/renderer/core/frame/web_feature.h"
 #include "third_party/blink/renderer/core/layout/geometry/writing_mode_converter.h"
 #include "third_party/blink/renderer/core/layout/layout_box.h"
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_cursor.h"
 #include "third_party/blink/renderer/core/layout/ng/legacy_layout_tree_walking.h"
 #include "third_party/blink/renderer/core/layout/ng/ng_block_node.h"
@@ -134,8 +134,9 @@
 
   // |LayoutNGTextCombine| doesn't not cause layout overflow because combined
   // text fits in 1em by using width variant font or scaling.
-  if (UNLIKELY(IsA<LayoutNGTextCombine>(layout_object)))
+  if (UNLIKELY(IsA<LayoutTextCombine>(layout_object))) {
     return;
+  }
 
   for (const auto& item : items) {
     if (const auto* line_box = item->LineBoxFragment()) {
diff --git a/third_party/blink/renderer/core/layout/ng/ng_physical_box_fragment.cc b/third_party/blink/renderer/core/layout/ng/ng_physical_box_fragment.cc
index fd45a5f..8d09bfe 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_physical_box_fragment.cc
+++ b/third_party/blink/renderer/core/layout/ng/ng_physical_box_fragment.cc
@@ -15,9 +15,9 @@
 #include "third_party/blink/renderer/core/layout/layout_inline.h"
 #include "third_party/blink/renderer/core/layout/layout_object.h"
 #include "third_party/blink/renderer/core/layout/layout_object_inlines.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 #include "third_party/blink/renderer/core/layout/layout_view.h"
 #include "third_party/blink/renderer/core/layout/ng/geometry/ng_box_strut.h"
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_fragment_item.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_cursor.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_item.h"
@@ -1238,7 +1238,7 @@
     // Add text decorations and emphasis mark ink over flow for combined
     // text.
     const auto* const text_combine =
-        DynamicTo<LayoutNGTextCombine>(GetLayoutObject());
+        DynamicTo<LayoutTextCombine>(GetLayoutObject());
     if (UNLIKELY(text_combine)) {
       // Reset the cursor for text combine to provide a current item for
       // decorations.
diff --git a/third_party/blink/renderer/core/layout/ng/ng_physical_fragment.cc b/third_party/blink/renderer/core/layout/ng/ng_physical_fragment.cc
index 0bf414d..855835e 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_physical_fragment.cc
+++ b/third_party/blink/renderer/core/layout/ng/ng_physical_fragment.cc
@@ -9,9 +9,9 @@
 #include "third_party/blink/renderer/core/html/shadow/shadow_element_utils.h"
 #include "third_party/blink/renderer/core/layout/geometry/writing_mode_converter.h"
 #include "third_party/blink/renderer/core/layout/layout_block.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 #include "third_party/blink/renderer/core/layout/layout_view.h"
 #include "third_party/blink/renderer/core/layout/ng/geometry/ng_box_strut.h"
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_cursor.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_physical_line_box_fragment.h"
@@ -806,7 +806,7 @@
     const LayoutBoxModelObject* containing_block,
     NGInlineCursor* cursor) const {
   const auto* const text_combine =
-      DynamicTo<LayoutNGTextCombine>(containing_block);
+      DynamicTo<LayoutTextCombine>(containing_block);
   while (*cursor) {
     DCHECK(cursor->Current().Item());
     const NGFragmentItem& item = *cursor->Current().Item();
diff --git a/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.cc b/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.cc
index 87a2264..acc174c 100644
--- a/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.cc
+++ b/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.cc
@@ -14,9 +14,9 @@
 #include "third_party/blink/renderer/core/layout/hit_test_location.h"
 #include "third_party/blink/renderer/core/layout/hit_test_result.h"
 #include "third_party/blink/renderer/core/layout/layout_inline.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 #include "third_party/blink/renderer/core/layout/layout_view.h"
 #include "third_party/blink/renderer/core/layout/ng/geometry/ng_box_strut.h"
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_fragment_items.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_cursor.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_physical_line_box_fragment.h"
@@ -439,7 +439,7 @@
   absl::optional<DrawingRecorder> recorder;
   absl::optional<GraphicsContextStateSaver> graphics_context_state_saver;
   const auto* const text_combine =
-      DynamicTo<LayoutNGTextCombine>(box_fragment_.GetLayoutObject());
+      DynamicTo<LayoutTextCombine>(box_fragment_.GetLayoutObject());
   if (UNLIKELY(text_combine)) {
     if (text_combine->NeedsAffineTransformInPaint()) {
       if (original_phase == PaintPhase::kForeground)
@@ -2127,7 +2127,7 @@
   }
 
   const auto* const text_combine =
-      DynamicTo<LayoutNGTextCombine>(box_fragment_.GetLayoutObject());
+      DynamicTo<LayoutTextCombine>(box_fragment_.GetLayoutObject());
 
   // TODO(layout-dev): Clip to line-top/bottom.
   const PhysicalRect rect =
diff --git a/third_party/blink/renderer/core/paint/ng/ng_text_combine_painter.cc b/third_party/blink/renderer/core/paint/ng/ng_text_combine_painter.cc
index eb3ed0a..75466bb 100644
--- a/third_party/blink/renderer/core/paint/ng/ng_text_combine_painter.cc
+++ b/third_party/blink/renderer/core/paint/ng/ng_text_combine_painter.cc
@@ -4,7 +4,7 @@
 
 #include "third_party/blink/renderer/core/paint/ng/ng_text_combine_painter.h"
 
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 #include "third_party/blink/renderer/core/layout/ng/ng_text_decoration_offset.h"
 #include "third_party/blink/renderer/core/paint/paint_auto_dark_mode.h"
 #include "third_party/blink/renderer/core/paint/paint_info.h"
@@ -31,7 +31,7 @@
 
 void NGTextCombinePainter::Paint(const PaintInfo& paint_info,
                                  const PhysicalOffset& paint_offset,
-                                 const LayoutNGTextCombine& text_combine) {
+                                 const LayoutTextCombine& text_combine) {
   if (paint_info.phase == PaintPhase::kBlockBackground ||
       paint_info.phase == PaintPhase::kForcedColorsModeBackplate ||
       paint_info.phase == PaintPhase::kFloat ||
@@ -79,8 +79,7 @@
 }
 
 // static
-bool NGTextCombinePainter::ShouldPaint(
-    const LayoutNGTextCombine& text_combine) {
+bool NGTextCombinePainter::ShouldPaint(const LayoutTextCombine& text_combine) {
   const auto& style = text_combine.Parent()->StyleRef();
   return style.HasAppliedTextDecorations() ||
          style.GetTextEmphasisMark() != TextEmphasisMark::kNone;
diff --git a/third_party/blink/renderer/core/paint/ng/ng_text_combine_painter.h b/third_party/blink/renderer/core/paint/ng/ng_text_combine_painter.h
index b426874..0c4060d5 100644
--- a/third_party/blink/renderer/core/paint/ng/ng_text_combine_painter.h
+++ b/third_party/blink/renderer/core/paint/ng/ng_text_combine_painter.h
@@ -10,7 +10,7 @@
 namespace blink {
 
 class ComputedStyle;
-class LayoutNGTextCombine;
+class LayoutTextCombine;
 
 // The painter for painting text decorations and emphasis marks for
 // LayoutNGTextCombine.
@@ -23,9 +23,9 @@
 
   static void Paint(const PaintInfo& paint_info,
                     const PhysicalOffset& paint_offset,
-                    const LayoutNGTextCombine& text_combine);
+                    const LayoutTextCombine& text_combine);
 
-  static bool ShouldPaint(const LayoutNGTextCombine& text_combine);
+  static bool ShouldPaint(const LayoutTextCombine& text_combine);
 
  protected:
   void ClipDecorationsStripe(const NGTextFragmentPaintInfo&,
diff --git a/third_party/blink/renderer/core/paint/ng/ng_text_fragment_painter.cc b/third_party/blink/renderer/core/paint/ng/ng_text_fragment_painter.cc
index 2f65466..db6918b 100644
--- a/third_party/blink/renderer/core/paint/ng/ng_text_fragment_painter.cc
+++ b/third_party/blink/renderer/core/paint/ng/ng_text_fragment_painter.cc
@@ -14,8 +14,8 @@
 #include "third_party/blink/renderer/core/layout/layout_counter.h"
 #include "third_party/blink/renderer/core/layout/layout_ruby_column.h"
 #include "third_party/blink/renderer/core/layout/layout_ruby_text.h"
+#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
 #include "third_party/blink/renderer/core/layout/list_marker.h"
-#include "third_party/blink/renderer/core/layout/ng/inline/layout_ng_text_combine.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_cursor.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_offset_mapping.h"
 #include "third_party/blink/renderer/core/layout/ng/ng_physical_box_fragment.h"
@@ -57,11 +57,10 @@
   return *cursor.Current().GetDisplayItemClient();
 }
 
-inline PhysicalRect BoxInPhysicalSpace(
-    const NGInlineCursor& cursor,
-    const PhysicalOffset& paint_offset,
-    const PhysicalOffset& parent_offset,
-    const LayoutNGTextCombine* text_combine) {
+inline PhysicalRect BoxInPhysicalSpace(const NGInlineCursor& cursor,
+                                       const PhysicalOffset& paint_offset,
+                                       const PhysicalOffset& parent_offset,
+                                       const LayoutTextCombine* text_combine) {
   PhysicalRect box_rect;
   if (const auto* svg_data = cursor.CurrentItem()->SvgFragmentData()) {
     box_rect = PhysicalRect::FastAndLossyFromRectF(svg_data->rect);
@@ -118,7 +117,7 @@
     return false;
   // Note: We set text-emphasis-style:none for combined text and we paint
   // emphasis mark at left/right side of |LayoutNGTextCombine|.
-  DCHECK(!IsA<LayoutNGTextCombine>(layout_object.Parent()));
+  DCHECK(!IsA<LayoutTextCombine>(layout_object.Parent()));
   const LayoutObject* containing_block = layout_object.ContainingBlock();
   if (!containing_block || !containing_block->IsRubyBase())
     return true;
@@ -274,12 +273,12 @@
   // pattern or feImage (element reference.)
   const bool is_rendering_resource = paint_info.IsRenderingResourceSubtree();
   const auto* const text_combine =
-      DynamicTo<LayoutNGTextCombine>(layout_object->Parent());
+      DynamicTo<LayoutTextCombine>(layout_object->Parent());
   const PhysicalRect physical_box =
       BoxInPhysicalSpace(cursor_, paint_offset, parent_offset_, text_combine);
 #if DCHECK_IS_ON()
   if (UNLIKELY(text_combine))
-    LayoutNGTextCombine::AssertStyleIsValid(style);
+    LayoutTextCombine::AssertStyleIsValid(style);
 #endif
 
   ObjectPainter object_painter(*layout_object);