Title: [212860] trunk/Source/WebCore
Revision
212860
Author
[email protected]
Date
2017-02-22 15:55:34 -0800 (Wed, 22 Feb 2017)

Log Message

Replace SimpleLineLayout::Range by WTF::IteratorRange
https://bugs.webkit.org/show_bug.cgi?id=168742

Reviewed by Zalan Bujtas.

Kill a redundant custom type.

* rendering/SimpleLineLayoutResolver.cpp:
(WebCore::SimpleLineLayout::RunResolver::rangeForRect):
(WebCore::SimpleLineLayout::RunResolver::rangeForRenderer):
(WebCore::SimpleLineLayout::RunResolver::rangeForRendererWithOffsets):
* rendering/SimpleLineLayoutResolver.h:
(WebCore::SimpleLineLayout::LineResolver::rangeForRect):
(WebCore::SimpleLineLayout::Range::Range): Deleted.
(WebCore::SimpleLineLayout::Range::begin): Deleted.
(WebCore::SimpleLineLayout::Range::end): Deleted.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (212859 => 212860)


--- trunk/Source/WebCore/ChangeLog	2017-02-22 23:44:53 UTC (rev 212859)
+++ trunk/Source/WebCore/ChangeLog	2017-02-22 23:55:34 UTC (rev 212860)
@@ -1,3 +1,22 @@
+2017-02-22  Antti Koivisto  <[email protected]>
+
+        Replace SimpleLineLayout::Range by WTF::IteratorRange
+        https://bugs.webkit.org/show_bug.cgi?id=168742
+
+        Reviewed by Zalan Bujtas.
+
+        Kill a redundant custom type.
+
+        * rendering/SimpleLineLayoutResolver.cpp:
+        (WebCore::SimpleLineLayout::RunResolver::rangeForRect):
+        (WebCore::SimpleLineLayout::RunResolver::rangeForRenderer):
+        (WebCore::SimpleLineLayout::RunResolver::rangeForRendererWithOffsets):
+        * rendering/SimpleLineLayoutResolver.h:
+        (WebCore::SimpleLineLayout::LineResolver::rangeForRect):
+        (WebCore::SimpleLineLayout::Range::Range): Deleted.
+        (WebCore::SimpleLineLayout::Range::begin): Deleted.
+        (WebCore::SimpleLineLayout::Range::end): Deleted.
+
 2017-02-22  Simon Fraser  <[email protected]>
 
         Add the Web Authentication API as "Under Consideration".

Modified: trunk/Source/WebCore/rendering/SimpleLineLayoutResolver.cpp (212859 => 212860)


--- trunk/Source/WebCore/rendering/SimpleLineLayoutResolver.cpp	2017-02-22 23:44:53 UTC (rev 212859)
+++ trunk/Source/WebCore/rendering/SimpleLineLayoutResolver.cpp	2017-02-22 23:55:34 UTC (rev 212860)
@@ -145,10 +145,10 @@
     return std::min<unsigned>(y / m_lineHeight, m_layout.lineCount() - 1);
 }
 
-Range<RunResolver::Iterator> RunResolver::rangeForRect(const LayoutRect& rect) const
+WTF::IteratorRange<RunResolver::Iterator> RunResolver::rangeForRect(const LayoutRect& rect) const
 { 
     if (!m_lineHeight)
-        return Range<Iterator>(begin(), end());
+        return { begin(), end() };
 
     unsigned firstLine = lineIndexForHeight(rect.y(), IndexType::First);
     unsigned lastLine = std::max(firstLine, lineIndexForHeight(rect.maxY(), IndexType::Last));
@@ -155,17 +155,17 @@
 
     auto rangeBegin = begin().advanceLines(firstLine);
     if (rangeBegin == end())
-        return Range<Iterator>(end(), end());
+        return { end(), end() };
     auto rangeEnd = rangeBegin;
     ASSERT(lastLine >= firstLine);
     rangeEnd.advanceLines(lastLine - firstLine + 1);
-    return Range<Iterator>(rangeBegin, rangeEnd);
+    return { rangeBegin, rangeEnd };
 }
 
-Range<RunResolver::Iterator> RunResolver::rangeForRenderer(const RenderObject& renderer) const
+WTF::IteratorRange<RunResolver::Iterator> RunResolver::rangeForRenderer(const RenderObject& renderer) const
 {
     if (begin() == end())
-        return Range<Iterator>(end(), end());
+        return { end(), end() };
     FlowContents::Iterator segment = m_flowContents.begin();
     auto run = begin();
     ASSERT(segment->start <= (*run).start());
@@ -183,7 +183,7 @@
     // Do we actually have a run for this renderer?
     // Collapsed whitespace with dedicated renderer could end up with no run at all.
     if (run == end() || (segment->start != segment->end && segment->end <= (*run).start()))
-        return Range<Iterator>(end(), end());
+        return { end(), end() };
 
     auto rangeBegin = run;
     // Move beyond the end of the segment.
@@ -192,7 +192,7 @@
     // Special case when segment == run.
     if (run == rangeBegin)
         ++run;
-    return Range<Iterator>(rangeBegin, run);
+    return { rangeBegin, run };
 }
 
 RunResolver::Iterator RunResolver::runForPoint(const LayoutPoint& point) const
@@ -219,7 +219,7 @@
     return --it;
 }
 
-Range<RunResolver::Iterator> RunResolver::rangeForRendererWithOffsets(const RenderObject& renderer, unsigned startOffset, unsigned endOffset) const
+WTF::IteratorRange<RunResolver::Iterator> RunResolver::rangeForRendererWithOffsets(const RenderObject& renderer, unsigned startOffset, unsigned endOffset) const
 {
     ASSERT(startOffset <= endOffset);
     auto range = rangeForRenderer(renderer);

Modified: trunk/Source/WebCore/rendering/SimpleLineLayoutResolver.h (212859 => 212860)


--- trunk/Source/WebCore/rendering/SimpleLineLayoutResolver.h	2017-02-22 23:44:53 UTC (rev 212859)
+++ trunk/Source/WebCore/rendering/SimpleLineLayoutResolver.h	2017-02-22 23:55:34 UTC (rev 212860)
@@ -29,24 +29,12 @@
 #include "RenderBlockFlow.h"
 #include "SimpleLineLayoutFlowContents.h"
 #include "SimpleLineLayoutFunctions.h"
+#include <wtf/IteratorRange.h>
 #include <wtf/text/WTFString.h>
 
 namespace WebCore {
 namespace SimpleLineLayout {
 
-template <class IteratorType>
-class Range {
-public:
-    Range(IteratorType begin, IteratorType end) : m_begin(begin), m_end(end) { }
-
-    IteratorType begin() const { return m_begin; }
-    IteratorType end() const { return m_end; }
-
-private:
-    IteratorType m_begin;
-    IteratorType m_end;
-};
-
 class RunResolver {
     WTF_MAKE_FAST_ALLOCATED;
 public:
@@ -113,10 +101,10 @@
     Iterator begin() const;
     Iterator end() const;
 
-    Range<Iterator> rangeForRect(const LayoutRect&) const;
-    Range<Iterator> rangeForRenderer(const RenderObject&) const;
+    WTF::IteratorRange<Iterator> rangeForRect(const LayoutRect&) const;
+    WTF::IteratorRange<Iterator> rangeForRenderer(const RenderObject&) const;
     Iterator runForPoint(const LayoutPoint&) const;
-    Range<Iterator> rangeForRendererWithOffsets(const RenderObject&, unsigned start, unsigned end) const;
+    WTF::IteratorRange<Iterator> rangeForRendererWithOffsets(const RenderObject&, unsigned start, unsigned end) const;
 
 private:
     enum class IndexType { First, Last };
@@ -158,7 +146,7 @@
     Iterator begin() const;
     Iterator end() const;
 
-    Range<Iterator> rangeForRect(const LayoutRect&) const;
+    WTF::IteratorRange<Iterator> rangeForRect(const LayoutRect&) const;
 
 private:
     RunResolver m_runResolver;
@@ -296,10 +284,10 @@
     return Iterator(m_runResolver.end());
 }
 
-inline Range<LineResolver::Iterator> LineResolver::rangeForRect(const LayoutRect& rect) const
+inline WTF::IteratorRange<LineResolver::Iterator> LineResolver::rangeForRect(const LayoutRect& rect) const
 {
     auto runRange = m_runResolver.rangeForRect(rect);
-    return Range<Iterator>(Iterator(runRange.begin()), Iterator(runRange.end()));
+    return { Iterator(runRange.begin()), Iterator(runRange.end()) };
 }
 
 inline RunResolver runResolver(const RenderBlockFlow& flow, const Layout& layout)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to