Chromium Code Reviews| Index: third_party/WebKit/Source/core/dom/Range.cpp |
| diff --git a/third_party/WebKit/Source/core/dom/Range.cpp b/third_party/WebKit/Source/core/dom/Range.cpp |
| index 7f598f340de157985908109b614033d8150d43fd..de056bbffe1d70c4388b1d4ddd094fde4bebe475 100644 |
| --- a/third_party/WebKit/Source/core/dom/Range.cpp |
| +++ b/third_party/WebKit/Source/core/dom/Range.cpp |
| @@ -1440,56 +1440,6 @@ Node* Range::PastLastNode() const { |
| return EndPosition().NodeAsRangePastLastNode(); |
| } |
| -static void CollectAbsoluteBoundsForRange(unsigned start, |
| - unsigned end, |
| - const LayoutText& layout_text, |
| - Vector<IntRect>& rects) { |
| - layout_text.AbsoluteRectsForRange(rects, start, end); |
| -} |
| - |
| -static void CollectAbsoluteBoundsForRange(unsigned start, |
| - unsigned end, |
| - const LayoutText& layout_text, |
| - Vector<FloatQuad>& quads) { |
| - layout_text.AbsoluteQuadsForRange(quads, start, end); |
| -} |
| - |
| -template <typename RectType> |
| -static Vector<RectType> ComputeTextBounds(const EphemeralRange& range) { |
| - const Position& start_position = range.StartPosition(); |
| - const Position& end_position = range.EndPosition(); |
| - Node* const start_container = start_position.ComputeContainerNode(); |
| - DCHECK(start_container); |
| - Node* const end_container = end_position.ComputeContainerNode(); |
| - DCHECK(end_container); |
| - |
| - Vector<RectType> result; |
| - for (const Node& node : range.Nodes()) { |
| - LayoutObject* const layoutObject = node.GetLayoutObject(); |
|
Xiaocheng
2017/05/11 18:28:20
Good catch! Thanks!
|
| - if (!layoutObject || !layoutObject->IsText()) |
| - continue; |
| - const LayoutText* layout_text = ToLayoutText(layoutObject); |
| - unsigned start_offset = |
| - node == start_container ? start_position.OffsetInContainerNode() : 0; |
| - unsigned end_offset = node == end_container |
| - ? end_position.OffsetInContainerNode() |
| - : std::numeric_limits<unsigned>::max(); |
| - CollectAbsoluteBoundsForRange(start_offset, end_offset, *layout_text, |
| - result); |
| - } |
| - return result; |
| -} |
| - |
| -static Vector<IntRect> ComputeTextRects(const EphemeralRange& range) { |
| - return ComputeTextBounds<IntRect>(range); |
| -} |
| - |
| -// TODO(tanvir.rizvi): We will replace Range::TextQuads with ComputeTextQuads |
| -// and get rid of Range::TextQuads. |
| -static Vector<FloatQuad> ComputeTextQuads(const EphemeralRange& range) { |
| - return ComputeTextBounds<FloatQuad>(range); |
| -} |
| - |
| IntRect Range::BoundingBox() const { |
| IntRect result; |
| const Vector<IntRect>& rects = ComputeTextRects(EphemeralRange(this)); |
| @@ -1498,6 +1448,8 @@ IntRect Range::BoundingBox() const { |
| return result; |
| } |
| +// TODO(tanvir.rizvi): We will replace Range::TextQuads with |
| +// ComputeTextQuads(in VisibleUnits) and get rid of Range::TextQuads. |
| void Range::TextQuads(Vector<FloatQuad>& quads) const { |
| quads.AppendVector(ComputeTextQuads(EphemeralRange(this))); |
| } |