Move function bodies to ng_offset_mapping_result.cc

Bug: 699017
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng
Change-Id: I1911243a6f465e84f559992951568ee7cbc1ce0b
Reviewed-on: https://chromium-review.googlesource.com/585901
Commit-Queue: Koji Ishii <kojii@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489606}
diff --git a/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_node.cc b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_node.cc
index d025f2de..cebf9379 100644
--- a/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_node.cc
+++ b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_node.cc
@@ -700,26 +700,6 @@
   return result.GetMappingUnitForDOMOffset(ToLayoutText(layout_object), offset);
 }
 
-// TODO(xiaochengh): Move this function body to ng_offset_mapping_result.cc
-const NGOffsetMappingUnit* NGOffsetMappingResult::GetMappingUnitForDOMOffset(
-    const LayoutText* layout_text,
-    unsigned offset) const {
-  unsigned range_start;
-  unsigned range_end;
-  std::tie(range_start, range_end) = ranges_.at(layout_text);
-  if (range_start == range_end || units_[range_start].DOMStart() > offset)
-    return nullptr;
-  // Find the last unit where unit.dom_start <= offset
-  const NGOffsetMappingUnit* unit = std::prev(std::upper_bound(
-      units_.begin() + range_start, units_.begin() + range_end, offset,
-      [](unsigned offset, const NGOffsetMappingUnit& unit) {
-        return offset < unit.DOMStart();
-      }));
-  if (unit->DOMEnd() < offset)
-    return nullptr;
-  return unit;
-}
-
 size_t NGInlineNode::GetTextContentOffset(const Node& node, unsigned offset) {
   const NGOffsetMappingUnit* unit = GetMappingUnitForDOMOffset(node, offset);
   if (!unit)
@@ -727,22 +707,4 @@
   return unit->ConvertDOMOffsetToTextContent(offset);
 }
 
-// TODO(xiaochengh): Move this function body to ng_offset_mapping_result.cc
-unsigned NGOffsetMappingUnit::ConvertDOMOffsetToTextContent(
-    unsigned offset) const {
-  DCHECK_GE(offset, dom_start_);
-  DCHECK_LE(offset, dom_end_);
-  // DOM start is always mapped to text content start.
-  if (offset == dom_start_)
-    return text_content_start_;
-  // DOM end is always mapped to text content end.
-  if (offset == dom_end_)
-    return text_content_end_;
-  // Handle collapsed mapping.
-  if (text_content_start_ == text_content_end_)
-    return text_content_start_;
-  // Handle has identity mapping.
-  return offset - dom_start_ + text_content_start_;
-}
-
 }  // namespace blink
diff --git a/third_party/WebKit/Source/core/layout/ng/inline/ng_offset_mapping_result.cc b/third_party/WebKit/Source/core/layout/ng/inline/ng_offset_mapping_result.cc
index c2143ca..98b5751 100644
--- a/third_party/WebKit/Source/core/layout/ng/inline/ng_offset_mapping_result.cc
+++ b/third_party/WebKit/Source/core/layout/ng/inline/ng_offset_mapping_result.cc
@@ -19,6 +19,23 @@
       text_content_start_(text_content_start),
       text_content_end_(text_content_end) {}
 
+unsigned NGOffsetMappingUnit::ConvertDOMOffsetToTextContent(
+    unsigned offset) const {
+  DCHECK_GE(offset, dom_start_);
+  DCHECK_LE(offset, dom_end_);
+  // DOM start is always mapped to text content start.
+  if (offset == dom_start_)
+    return text_content_start_;
+  // DOM end is always mapped to text content end.
+  if (offset == dom_end_)
+    return text_content_end_;
+  // Handle collapsed mapping.
+  if (text_content_start_ == text_content_end_)
+    return text_content_start_;
+  // Handle has identity mapping.
+  return offset - dom_start_ + text_content_start_;
+}
+
 NGOffsetMappingResult::NGOffsetMappingResult(NGOffsetMappingResult&& other)
     : NGOffsetMappingResult(std::move(other.units_), std::move(other.ranges_)) {
 }
@@ -27,4 +44,23 @@
                                              RangeMap&& ranges)
     : units_(units), ranges_(ranges) {}
 
+const NGOffsetMappingUnit* NGOffsetMappingResult::GetMappingUnitForDOMOffset(
+    const LayoutText* layout_text,
+    unsigned offset) const {
+  unsigned range_start;
+  unsigned range_end;
+  std::tie(range_start, range_end) = ranges_.at(layout_text);
+  if (range_start == range_end || units_[range_start].DOMStart() > offset)
+    return nullptr;
+  // Find the last unit where unit.dom_start <= offset
+  const NGOffsetMappingUnit* unit = std::prev(std::upper_bound(
+      units_.begin() + range_start, units_.begin() + range_end, offset,
+      [](unsigned offset, const NGOffsetMappingUnit& unit) {
+        return offset < unit.DOMStart();
+      }));
+  if (unit->DOMEnd() < offset)
+    return nullptr;
+  return unit;
+}
+
 }  // namespace blink