Title: [222677] trunk/Source/WebCore
Revision
222677
Author
[email protected]
Date
2017-09-29 21:31:29 -0700 (Fri, 29 Sep 2017)

Log Message

Remove redundant RenderObject::selectionRoot and dependencies
https://bugs.webkit.org/show_bug.cgi?id=177696

Reviewed by Ryosuke Niwa.

There's only one selection root (RenderView).

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::selectionState):
(WebCore::InlineTextBox::selectionStartEnd const):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::selectionRoot const): Deleted.
(WebCore::RenderObject::selectionStartEnd const): Deleted.
* rendering/RenderObject.h:
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::isSelected const):
* rendering/RenderText.cpp:
(WebCore::RenderText::collectSelectionRectsForLineBoxes):
* rendering/RenderTextLineBoxes.cpp:
(WebCore::RenderTextLineBoxes::setSelectionState):
* rendering/RenderView.h:
* rendering/SelectionSubtreeRoot.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (222676 => 222677)


--- trunk/Source/WebCore/ChangeLog	2017-09-30 02:11:20 UTC (rev 222676)
+++ trunk/Source/WebCore/ChangeLog	2017-09-30 04:31:29 UTC (rev 222677)
@@ -1,3 +1,28 @@
+2017-09-29  Zalan Bujtas  <[email protected]>
+
+        Remove redundant RenderObject::selectionRoot and dependencies
+        https://bugs.webkit.org/show_bug.cgi?id=177696
+
+        Reviewed by Ryosuke Niwa.
+
+        There's only one selection root (RenderView).
+
+        * rendering/InlineTextBox.cpp:
+        (WebCore::InlineTextBox::selectionState):
+        (WebCore::InlineTextBox::selectionStartEnd const):
+        * rendering/RenderObject.cpp:
+        (WebCore::RenderObject::selectionRoot const): Deleted.
+        (WebCore::RenderObject::selectionStartEnd const): Deleted.
+        * rendering/RenderObject.h:
+        * rendering/RenderReplaced.cpp:
+        (WebCore::RenderReplaced::isSelected const):
+        * rendering/RenderText.cpp:
+        (WebCore::RenderText::collectSelectionRectsForLineBoxes):
+        * rendering/RenderTextLineBoxes.cpp:
+        (WebCore::RenderTextLineBoxes::setSelectionState):
+        * rendering/RenderView.h:
+        * rendering/SelectionSubtreeRoot.h:
+
 2017-09-29  Chris Dumez  <[email protected]>
 
         http/tests/preconnect/link-rel-preconnect-https.html is flaky

Modified: trunk/Source/WebCore/rendering/InlineTextBox.cpp (222676 => 222677)


--- trunk/Source/WebCore/rendering/InlineTextBox.cpp	2017-09-30 02:11:20 UTC (rev 222676)
+++ trunk/Source/WebCore/rendering/InlineTextBox.cpp	2017-09-30 04:31:29 UTC (rev 222677)
@@ -145,7 +145,7 @@
     RenderObject::SelectionState state = renderer().selectionState();
     if (state == RenderObject::SelectionStart || state == RenderObject::SelectionEnd || state == RenderObject::SelectionBoth) {
         unsigned startPos, endPos;
-        renderer().selectionStartEnd(startPos, endPos);
+        renderer().view().getSelectionStartEnd(startPos, endPos);
         // The position after a hard line break is considered to be past its end.
         ASSERT(start() + len() >= (isLineBreak() ? 1 : 0));
         unsigned lastSelectable = start() + len() - (isLineBreak() ? 1 : 0);
@@ -641,7 +641,7 @@
     
     unsigned start;
     unsigned end;
-    renderer().selectionStartEnd(start, end);
+    renderer().view().getSelectionStartEnd(start, end);
     if (selectionState == RenderObject::SelectionStart)
         end = renderer().textLength();
     else if (selectionState == RenderObject::SelectionEnd)

Modified: trunk/Source/WebCore/rendering/RenderObject.cpp (222676 => 222677)


--- trunk/Source/WebCore/rendering/RenderObject.cpp	2017-09-30 02:11:20 UTC (rev 222676)
+++ trunk/Source/WebCore/rendering/RenderObject.cpp	2017-09-30 04:31:29 UTC (rev 222677)
@@ -1202,26 +1202,6 @@
 
 #endif // NDEBUG
 
-SelectionSubtreeRoot& RenderObject::selectionRoot() const
-{
-    RenderFragmentedFlow* fragmentedFlow = enclosingFragmentedFlow();
-    if (!fragmentedFlow)
-        return view();
-
-    if (is<RenderMultiColumnFlow>(*fragmentedFlow)) {
-        if (!fragmentedFlow->containingBlock())
-            return view();
-        return fragmentedFlow->containingBlock()->selectionRoot();
-    }
-    ASSERT_NOT_REACHED();
-    return view();
-}
-
-void RenderObject::selectionStartEnd(unsigned& spos, unsigned& epos) const
-{
-    selectionRoot().selectionData().selectionStartEndPositions(spos, epos);
-}
-
 FloatPoint RenderObject::localToAbsolute(const FloatPoint& localPoint, MapCoordinatesFlags mode, bool* wasFixed) const
 {
     TransformState transformState(TransformState::ApplyTransformDirection, localPoint);

Modified: trunk/Source/WebCore/rendering/RenderObject.h (222676 => 222677)


--- trunk/Source/WebCore/rendering/RenderObject.h	2017-09-30 02:11:20 UTC (rev 222676)
+++ trunk/Source/WebCore/rendering/RenderObject.h	2017-09-30 04:31:29 UTC (rev 222677)
@@ -752,9 +752,6 @@
     void imageChanged(CachedImage*, const IntRect* = nullptr) override;
     virtual void imageChanged(WrappedImagePtr, const IntRect* = nullptr) { }
 
-    SelectionSubtreeRoot& selectionRoot() const;
-    void selectionStartEnd(unsigned& spos, unsigned& epos) const;
-    
     void removeFromParent();
 
     CSSAnimationController& animation() const;

Modified: trunk/Source/WebCore/rendering/RenderReplaced.cpp (222676 => 222677)


--- trunk/Source/WebCore/rendering/RenderReplaced.cpp	2017-09-30 02:11:20 UTC (rev 222676)
+++ trunk/Source/WebCore/rendering/RenderReplaced.cpp	2017-09-30 04:31:29 UTC (rev 222677)
@@ -651,7 +651,7 @@
         return true;
 
     unsigned selectionStart, selectionEnd;
-    selectionStartEnd(selectionStart, selectionEnd);
+    view().getSelectionStartEnd(selectionStart, selectionEnd);
     if (s == SelectionStart)
         return selectionStart == 0;
         

Modified: trunk/Source/WebCore/rendering/RenderText.cpp (222676 => 222677)


--- trunk/Source/WebCore/rendering/RenderText.cpp	2017-09-30 02:11:20 UTC (rev 222676)
+++ trunk/Source/WebCore/rendering/RenderText.cpp	2017-09-30 04:31:29 UTC (rev 222677)
@@ -1447,7 +1447,7 @@
         startPos = 0;
         endPos = textLength();
     } else {
-        selectionStartEnd(startPos, endPos);
+        view().getSelectionStartEnd(startPos, endPos);
         if (selectionState() == SelectionStart)
             endPos = textLength();
         else if (selectionState() == SelectionEnd)

Modified: trunk/Source/WebCore/rendering/RenderTextLineBoxes.cpp (222676 => 222677)


--- trunk/Source/WebCore/rendering/RenderTextLineBoxes.cpp	2017-09-30 02:11:20 UTC (rev 222676)
+++ trunk/Source/WebCore/rendering/RenderTextLineBoxes.cpp	2017-09-30 04:31:29 UTC (rev 222677)
@@ -30,6 +30,7 @@
 #include "InlineTextBox.h"
 #include "RenderBlock.h"
 #include "RenderStyle.h"
+#include "RenderView.h"
 #include "RootInlineBox.h"
 
 namespace WebCore {
@@ -446,7 +447,7 @@
     }
 
     unsigned start, end;
-    renderer.selectionStartEnd(start, end);
+    renderer.view().getSelectionStartEnd(start, end);
     if (state == RenderObject::SelectionStart) {
         end = renderer.textLength();
 

Modified: trunk/Source/WebCore/rendering/RenderView.h (222676 => 222677)


--- trunk/Source/WebCore/rendering/RenderView.h	2017-09-30 02:11:20 UTC (rev 222676)
+++ trunk/Source/WebCore/rendering/RenderView.h	2017-09-30 04:31:29 UTC (rev 222677)
@@ -93,6 +93,7 @@
     RenderObject* selectionUnsplitEnd() const { return m_selectionUnsplitEnd; }
     IntRect selectionBounds(bool clipToVisibleContent = true) const;
     void repaintSelection() const;
+    void getSelectionStartEnd(unsigned& start, unsigned& end) const { selectionData().selectionStartEndPositions(start, end); }
 
     bool printing() const;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to