<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[163739] trunk/Source</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/163739">163739</a></dd>
<dt>Author</dt> <dd>rniwa@webkit.org</dd>
<dt>Date</dt> <dd>2014-02-08 20:58:12 -0800 (Sat, 08 Feb 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Cleanup the interface of FrameSelection
https://bugs.webkit.org/show_bug.cgi?id=128481

Reviewed by Andreas Kling.

Source/WebCore:

Removed FrameSelection::end() as intended in <a href="http://trac.webkit.org/projects/webkit/changeset/163232">r163232</a>, and the stale declaration of
paintDragCaret() which was supposed to be removed when we extracted DragCaretController.

Renamed caretRenderer() to caretRendererWithoutUpdatingLayout() to clarify the contract
as the only caller of this function is RenderBlock::paintCaret. Also renamed bounds()
to selectionBounds() to make it more easily identifiable / grep'able.

In addition, made recomputeCaretRect() and invalidateCaretRect() private.

* WebCore.exp.in:
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::caretRendererWithoutUpdatingLayout):
(WebCore::FrameSelection::selectionBounds):
(WebCore::FrameSelection::revealSelection):
* editing/FrameSelection.h:
(WebCore::FrameSelection::setCaretVisible):
* page/DragController.cpp:
(WebCore::dragLocForSelectionDrag):
* page/FrameSnapshotting.cpp:
(WebCore::snapshotSelection):
* page/win/FrameWin.cpp:
(WebCore::imageFromSelection):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintCaret):
* testing/Internals.cpp:
(WebCore::Internals::selectionBounds):

Source/WebKit/efl:

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
(DumpRenderTreeSupportEfl::selectionRectangle):

Source/WebKit/gtk:

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
(DumpRenderTreeSupportGtk::rectangleForSelection):

Source/WebKit/mac:

* WebView/WebHTMLView.mm:
(-[WebHTMLView _lookUpInDictionaryFromMenu:]):
(-[WebHTMLView selectionRect]):
(-[WebHTMLView selectionImageRect]):

Source/WebKit/win:

* WebView.cpp:
(WebView::selectionRect):

Source/WebKit2:

* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::getFindIndicatorBitmapAndRect):
(WebKit::FindController::drawRect):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::scaledSnapshotWithOptions):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreWebCoreexpin">trunk/Source/WebCore/WebCore.exp.in</a></li>
<li><a href="#trunkSourceWebCoreeditingFrameSelectioncpp">trunk/Source/WebCore/editing/FrameSelection.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingFrameSelectionh">trunk/Source/WebCore/editing/FrameSelection.h</a></li>
<li><a href="#trunkSourceWebCorepageDragControllercpp">trunk/Source/WebCore/page/DragController.cpp</a></li>
<li><a href="#trunkSourceWebCorepageFrameSnapshottingcpp">trunk/Source/WebCore/page/FrameSnapshotting.cpp</a></li>
<li><a href="#trunkSourceWebCorepagewinFrameWincpp">trunk/Source/WebCore/page/win/FrameWin.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBlockcpp">trunk/Source/WebCore/rendering/RenderBlock.cpp</a></li>
<li><a href="#trunkSourceWebCoretestingInternalscpp">trunk/Source/WebCore/testing/Internals.cpp</a></li>
<li><a href="#trunkSourceWebKitWebKitvcxprojWebKitExportGeneratorWebKitExportsdefin">trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in</a></li>
<li><a href="#trunkSourceWebKiteflChangeLog">trunk/Source/WebKit/efl/ChangeLog</a></li>
<li><a href="#trunkSourceWebKiteflWebCoreSupportDumpRenderTreeSupportEflcpp">trunk/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp</a></li>
<li><a href="#trunkSourceWebKitgtkChangeLog">trunk/Source/WebKit/gtk/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitgtkWebCoreSupportDumpRenderTreeSupportGtkcpp">trunk/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp</a></li>
<li><a href="#trunkSourceWebKitmacChangeLog">trunk/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitmacWebViewWebHTMLViewmm">trunk/Source/WebKit/mac/WebView/WebHTMLView.mm</a></li>
<li><a href="#trunkSourceWebKitwinChangeLog">trunk/Source/WebKit/win/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitwinWebViewcpp">trunk/Source/WebKit/win/WebView.cpp</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageFindControllercpp">trunk/Source/WebKit2/WebProcess/WebPage/FindController.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPagecpp">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (163738 => 163739)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-02-09 04:31:18 UTC (rev 163738)
+++ trunk/Source/WebCore/ChangeLog        2014-02-09 04:58:12 UTC (rev 163739)
</span><span class="lines">@@ -1,3 +1,37 @@
</span><ins>+2014-02-08  Ryosuke Niwa  &lt;rniwa@webkit.org&gt;
+
+        Cleanup the interface of FrameSelection
+        https://bugs.webkit.org/show_bug.cgi?id=128481
+
+        Reviewed by Andreas Kling.
+
+        Removed FrameSelection::end() as intended in r163232, and the stale declaration of
+        paintDragCaret() which was supposed to be removed when we extracted DragCaretController.
+
+        Renamed caretRenderer() to caretRendererWithoutUpdatingLayout() to clarify the contract
+        as the only caller of this function is RenderBlock::paintCaret. Also renamed bounds()
+        to selectionBounds() to make it more easily identifiable / grep'able.
+
+        In addition, made recomputeCaretRect() and invalidateCaretRect() private.
+
+        * WebCore.exp.in:
+        * editing/FrameSelection.cpp:
+        (WebCore::FrameSelection::caretRendererWithoutUpdatingLayout):
+        (WebCore::FrameSelection::selectionBounds):
+        (WebCore::FrameSelection::revealSelection):
+        * editing/FrameSelection.h:
+        (WebCore::FrameSelection::setCaretVisible):
+        * page/DragController.cpp:
+        (WebCore::dragLocForSelectionDrag):
+        * page/FrameSnapshotting.cpp:
+        (WebCore::snapshotSelection):
+        * page/win/FrameWin.cpp:
+        (WebCore::imageFromSelection):
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::paintCaret):
+        * testing/Internals.cpp:
+        (WebCore::Internals::selectionBounds):
+
</ins><span class="cx"> 2014-02-08  Dan Bernstein  &lt;mitz@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Reverted part of r163734, because the assertion it enabled still fails when running
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCoreexpin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.exp.in (163738 => 163739)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.exp.in        2014-02-09 04:31:18 UTC (rev 163738)
+++ trunk/Source/WebCore/WebCore.exp.in        2014-02-09 04:58:12 UTC (rev 163739)
</span><span class="lines">@@ -1555,10 +1555,10 @@
</span><span class="cx"> __ZNK7WebCore14DocumentMarker11descriptionEv
</span><span class="cx"> __ZNK7WebCore14FrameSelection11currentFormEv
</span><span class="cx"> __ZNK7WebCore14FrameSelection15copyTypingStyleEv
</span><ins>+__ZNK7WebCore14FrameSelection15selectionBoundsEb
</ins><span class="cx"> __ZNK7WebCore14FrameSelection18isFocusedAndActiveEv
</span><span class="cx"> __ZNK7WebCore14FrameSelection31getClippedVisibleTextRectanglesERN3WTF6VectorINS_9FloatRectELm0ENS1_15CrashOnOverflowEEE
</span><span class="cx"> __ZNK7WebCore14FrameSelection36rootEditableElementOrDocumentElementEv
</span><del>-__ZNK7WebCore14FrameSelection6boundsEb
</del><span class="cx"> __ZNK7WebCore14InsertionPoint8isActiveEv
</span><span class="cx"> __ZNK7WebCore14RenderListItem10markerTextEv
</span><span class="cx"> __ZNK7WebCore14ResourceBuffer4dataEv
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingFrameSelectioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/FrameSelection.cpp (163738 => 163739)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/FrameSelection.cpp        2014-02-09 04:31:18 UTC (rev 163738)
+++ trunk/Source/WebCore/editing/FrameSelection.cpp        2014-02-09 04:58:12 UTC (rev 163739)
</span><span class="lines">@@ -1344,7 +1344,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RenderObject* FrameSelection::caretRenderer() const
</del><ins>+RenderObject* FrameSelection::caretRendererWithoutUpdatingLayout() const
</ins><span class="cx"> {
</span><span class="cx">     return WebCore::caretRenderer(m_selection.start().deprecatedNode());
</span><span class="cx"> }
</span><span class="lines">@@ -1977,7 +1977,7 @@
</span><span class="cx">     return m_frame-&gt;editor().client()-&gt;shouldDeleteRange(selection.toNormalizedRange().get());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-FloatRect FrameSelection::bounds(bool clipToVisibleContent) const
</del><ins>+FloatRect FrameSelection::selectionBounds(bool clipToVisibleContent) const
</ins><span class="cx"> {
</span><span class="cx">     if (!m_frame-&gt;document())
</span><span class="cx">         return LayoutRect();
</span><span class="lines">@@ -2065,7 +2065,7 @@
</span><span class="cx">         rect = absoluteCaretBounds();
</span><span class="cx">         break;
</span><span class="cx">     case VisibleSelection::RangeSelection:
</span><del>-        rect = revealExtentOption == RevealExtent ? VisiblePosition(m_selection.extent()).absoluteCaretBounds() : enclosingIntRect(bounds(false));
</del><ins>+        rect = revealExtentOption == RevealExtent ? VisiblePosition(m_selection.extent()).absoluteCaretBounds() : enclosingIntRect(selectionBounds(false));
</ins><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingFrameSelectionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/FrameSelection.h (163738 => 163739)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/FrameSelection.h        2014-02-09 04:31:18 UTC (rev 163738)
+++ trunk/Source/WebCore/editing/FrameSelection.h        2014-02-09 04:58:12 UTC (rev 163739)
</span><span class="lines">@@ -165,10 +165,8 @@
</span><span class="cx">     void setExtent(const VisiblePosition&amp;, EUserTriggered = NotUserTriggered);
</span><span class="cx">     void setExtent(const Position&amp;, EAffinity, EUserTriggered = NotUserTriggered);
</span><span class="cx"> 
</span><del>-    Position end() const { return m_selection.end(); }
-
</del><span class="cx">     // Return the renderer that is responsible for painting the caret (in the selection start node)
</span><del>-    RenderObject* caretRenderer() const;
</del><ins>+    RenderObject* caretRendererWithoutUpdatingLayout() const;
</ins><span class="cx"> 
</span><span class="cx">     // Caret rect local to the caret's renderer
</span><span class="cx">     LayoutRect localCaretRect();
</span><span class="lines">@@ -193,8 +191,6 @@
</span><span class="cx">     void textWasReplaced(CharacterData*, unsigned offset, unsigned oldLength, unsigned newLength);
</span><span class="cx"> 
</span><span class="cx">     void setCaretVisible(bool caretIsVisible) { setCaretVisibility(caretIsVisible ? Visible : Hidden); }
</span><del>-    bool recomputeCaretRect();
-    void invalidateCaretRect();
</del><span class="cx">     void paintCaret(GraphicsContext*, const LayoutPoint&amp;, const LayoutRect&amp; clipRect);
</span><span class="cx"> 
</span><span class="cx">     // Used to suspend caret blinking while the mouse is down.
</span><span class="lines">@@ -257,14 +253,12 @@
</span><span class="cx">     enum EndPointsAdjustmentMode { AdjustEndpointsAtBidiBoundary, DoNotAdjsutEndpoints };
</span><span class="cx">     void setSelectionByMouseIfDifferent(const VisibleSelection&amp;, TextGranularity, EndPointsAdjustmentMode = DoNotAdjsutEndpoints);
</span><span class="cx"> 
</span><del>-    void paintDragCaret(GraphicsContext*, const LayoutPoint&amp;, const LayoutRect&amp; clipRect) const;
-
</del><span class="cx">     EditingStyle* typingStyle() const;
</span><span class="cx">     PassRefPtr&lt;MutableStyleProperties&gt; copyTypingStyle() const;
</span><span class="cx">     void setTypingStyle(PassRefPtr&lt;EditingStyle&gt;);
</span><span class="cx">     void clearTypingStyle();
</span><span class="cx"> 
</span><del>-    FloatRect bounds(bool clipToVisibleContent = true) const;
</del><ins>+    FloatRect selectionBounds(bool clipToVisibleContent = true) const;
</ins><span class="cx"> 
</span><span class="cx">     void getClippedVisibleTextRectangles(Vector&lt;FloatRect&gt;&amp;) const;
</span><span class="cx"> 
</span><span class="lines">@@ -317,6 +311,8 @@
</span><span class="cx">     void caretBlinkTimerFired(Timer&lt;FrameSelection&gt;&amp;);
</span><span class="cx"> 
</span><span class="cx">     void setCaretVisibility(CaretVisibility);
</span><ins>+    bool recomputeCaretRect();
+    void invalidateCaretRect();
</ins><span class="cx"> 
</span><span class="cx">     bool dispatchSelectStart();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepageDragControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DragController.cpp (163738 => 163739)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/DragController.cpp        2014-02-09 04:31:18 UTC (rev 163738)
+++ trunk/Source/WebCore/page/DragController.cpp        2014-02-09 04:58:12 UTC (rev 163739)
</span><span class="lines">@@ -697,7 +697,7 @@
</span><span class="cx"> 
</span><span class="cx"> static IntPoint dragLocForSelectionDrag(Frame&amp; src)
</span><span class="cx"> {
</span><del>-    IntRect draggingRect = enclosingIntRect(src.selection().bounds());
</del><ins>+    IntRect draggingRect = enclosingIntRect(src.selection().selectionBounds());
</ins><span class="cx">     int xpos = draggingRect.maxX();
</span><span class="cx">     xpos = draggingRect.x() &lt; xpos ? draggingRect.x() : xpos;
</span><span class="cx">     int ypos = draggingRect.maxY();
</span></span></pre></div>
<a id="trunkSourceWebCorepageFrameSnapshottingcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/FrameSnapshotting.cpp (163738 => 163739)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/FrameSnapshotting.cpp        2014-02-09 04:31:18 UTC (rev 163738)
+++ trunk/Source/WebCore/page/FrameSnapshotting.cpp        2014-02-09 04:58:12 UTC (rev 163739)
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     options |= SnapshotOptionsPaintSelectionOnly;
</span><del>-    return snapshotFrameRect(frame, enclosingIntRect(frame.selection().bounds()), options);
</del><ins>+    return snapshotFrameRect(frame, enclosingIntRect(frame.selection().selectionBounds()), options);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> std::unique_ptr&lt;ImageBuffer&gt; snapshotNode(Frame&amp; frame, Node&amp; node)
</span></span></pre></div>
<a id="trunkSourceWebCorepagewinFrameWincpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/win/FrameWin.cpp (163738 => 163739)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/win/FrameWin.cpp        2014-02-09 04:31:18 UTC (rev 163738)
+++ trunk/Source/WebCore/page/win/FrameWin.cpp        2014-02-09 04:58:12 UTC (rev 163739)
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx">     frame-&gt;document()-&gt;updateLayout();
</span><span class="cx"> 
</span><span class="cx">     frame-&gt;view()-&gt;setPaintBehavior(PaintBehaviorSelectionOnly | (forceBlackText ? PaintBehaviorForceBlackText : 0));
</span><del>-    FloatRect fr = frame-&gt;selection().bounds();
</del><ins>+    FloatRect fr = frame-&gt;selection().selectionBounds();
</ins><span class="cx">     IntRect ir(static_cast&lt;int&gt;(fr.x()), static_cast&lt;int&gt;(fr.y()), static_cast&lt;int&gt;(fr.width()), static_cast&lt;int&gt;(fr.height()));
</span><span class="cx">     GDIObject&lt;HBITMAP&gt; image = imageFromRect(frame, ir);
</span><span class="cx">     frame-&gt;view()-&gt;setPaintBehavior(PaintBehaviorNormal);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBlockcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (163738 => 163739)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBlock.cpp        2014-02-09 04:31:18 UTC (rev 163738)
+++ trunk/Source/WebCore/rendering/RenderBlock.cpp        2014-02-09 04:58:12 UTC (rev 163739)
</span><span class="lines">@@ -2277,7 +2277,7 @@
</span><span class="cx">     RenderObject* caretPainter;
</span><span class="cx">     bool isContentEditable;
</span><span class="cx">     if (type == CursorCaret) {
</span><del>-        caretPainter = frame().selection().caretRenderer();
</del><ins>+        caretPainter = frame().selection().caretRendererWithoutUpdatingLayout();
</ins><span class="cx">         isContentEditable = frame().selection().selection().hasEditableStyle();
</span><span class="cx">     } else {
</span><span class="cx">         caretPainter = frame().page()-&gt;dragCaretController().caretRenderer();
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.cpp (163738 => 163739)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.cpp        2014-02-09 04:31:18 UTC (rev 163738)
+++ trunk/Source/WebCore/testing/Internals.cpp        2014-02-09 04:58:12 UTC (rev 163739)
</span><span class="lines">@@ -2135,7 +2135,7 @@
</span><span class="cx">         return ClientRect::create();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return ClientRect::create(document-&gt;frame()-&gt;selection().bounds());
</del><ins>+    return ClientRect::create(document-&gt;frame()-&gt;selection().selectionBounds());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(VIBRATION)
</span></span></pre></div>
<a id="trunkSourceWebKitWebKitvcxprojWebKitExportGeneratorWebKitExportsdefin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in (163738 => 163739)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in        2014-02-09 04:31:18 UTC (rev 163738)
+++ trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in        2014-02-09 04:58:12 UTC (rev 163739)
</span><span class="lines">@@ -198,7 +198,7 @@
</span><span class="cx">         symbolWithPointer(?absoluteCaretBounds@FrameSelection@WebCore@@QAE?AVIntRect@2@XZ, ?absoluteCaretBounds@FrameSelection@WebCore@@QEAA?AVIntRect@2@XZ)
</span><span class="cx">         symbolWithPointer(?afterPseudoElement@Element@WebCore@@QBEPAVPseudoElement@2@XZ, ?afterPseudoElement@Element@WebCore@@QEBAPEAVPseudoElement@2@XZ)
</span><span class="cx">         symbolWithPointer(?beforePseudoElement@Element@WebCore@@QBEPAVPseudoElement@2@XZ, ?beforePseudoElement@Element@WebCore@@QEBAPEAVPseudoElement@2@XZ)
</span><del>-        symbolWithPointer(?bounds@FrameSelection@WebCore@@QBE?AVFloatRect@2@_N@Z, ?bounds@FrameSelection@WebCore@@QEBA?AVFloatRect@2@_N@Z)
</del><ins>+        symbolWithPointer(?selectionBounds@FrameSelection@WebCore@@QBE?AVFloatRect@2@_N@Z, ?bounds@FrameSelection@WebCore@@QEBA?AVFloatRect@2@_N@Z)
</ins><span class="cx">         symbolWithPointer(?fromUTF8@String@WTF@@SA?AV12@PBE@Z, ?fromUTF8@String@WTF@@SA?AV12@PEBE_K@Z)
</span><span class="cx">         symbolWithPointer(?fromUTF8WithLatin1Fallback@String@WTF@@SA?AV12@PBEI@Z, ?fromUTF8WithLatin1Fallback@String@WTF@@SA?AV12@PEBE_K@Z)
</span><span class="cx">         symbolWithPointer(?garbageCollectDocumentResources@CachedResourceLoader@WebCore@@QAEXXZ, ?garbageCollectDocumentResources@CachedResourceLoader@WebCore@@QEAAXXZ)
</span></span></pre></div>
<a id="trunkSourceWebKiteflChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/efl/ChangeLog (163738 => 163739)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/efl/ChangeLog        2014-02-09 04:31:18 UTC (rev 163738)
+++ trunk/Source/WebKit/efl/ChangeLog        2014-02-09 04:58:12 UTC (rev 163739)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2014-02-08  Ryosuke Niwa  &lt;rniwa@webkit.org&gt;
+
+        Cleanup the interface of FrameSelection
+        https://bugs.webkit.org/show_bug.cgi?id=128481
+
+        Reviewed by Andreas Kling.
+
+        * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+        (DumpRenderTreeSupportEfl::selectionRectangle):
+
</ins><span class="cx"> 2014-02-08  Darin Adler  &lt;darin@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Change TextIterator to use StringView, preparing to wean it from deprecatedCharacters
</span></span></pre></div>
<a id="trunkSourceWebKiteflWebCoreSupportDumpRenderTreeSupportEflcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp (163738 => 163739)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp        2014-02-09 04:31:18 UTC (rev 163738)
+++ trunk/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp        2014-02-09 04:58:12 UTC (rev 163739)
</span><span class="lines">@@ -199,7 +199,7 @@
</span><span class="cx"> {
</span><span class="cx">     DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, WebCore::IntRect());
</span><span class="cx"> 
</span><del>-    return enclosingIntRect(frame-&gt;selection().bounds());
</del><ins>+    return enclosingIntRect(frame-&gt;selection().selectionBounds());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // Compare with &quot;WebKit/Tools/DumpRenderTree/mac/FrameLoadDelegate.mm
</span></span></pre></div>
<a id="trunkSourceWebKitgtkChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/gtk/ChangeLog (163738 => 163739)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/gtk/ChangeLog        2014-02-09 04:31:18 UTC (rev 163738)
+++ trunk/Source/WebKit/gtk/ChangeLog        2014-02-09 04:58:12 UTC (rev 163739)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2014-02-08  Ryosuke Niwa  &lt;rniwa@webkit.org&gt;
+
+        Cleanup the interface of FrameSelection
+        https://bugs.webkit.org/show_bug.cgi?id=128481
+
+        Reviewed by Andreas Kling.
+
+        * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
+        (DumpRenderTreeSupportGtk::rectangleForSelection):
+
</ins><span class="cx"> 2014-02-08  Darin Adler  &lt;darin@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Change TextIterator to use StringView, preparing to wean it from deprecatedCharacters
</span></span></pre></div>
<a id="trunkSourceWebKitgtkWebCoreSupportDumpRenderTreeSupportGtkcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp (163738 => 163739)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp        2014-02-09 04:31:18 UTC (rev 163738)
+++ trunk/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp        2014-02-09 04:58:12 UTC (rev 163739)
</span><span class="lines">@@ -500,7 +500,7 @@
</span><span class="cx">     if (!coreFrame)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    IntRect bounds = enclosingIntRect(coreFrame-&gt;selection().bounds());
</del><ins>+    IntRect bounds = enclosingIntRect(coreFrame-&gt;selection().selectionBounds());
</ins><span class="cx">     rectangle-&gt;x = bounds.x();
</span><span class="cx">     rectangle-&gt;y = bounds.y();
</span><span class="cx">     rectangle-&gt;width = bounds.width();
</span></span></pre></div>
<a id="trunkSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/ChangeLog (163738 => 163739)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/ChangeLog        2014-02-09 04:31:18 UTC (rev 163738)
+++ trunk/Source/WebKit/mac/ChangeLog        2014-02-09 04:58:12 UTC (rev 163739)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2014-02-08  Ryosuke Niwa  &lt;rniwa@webkit.org&gt;
+
+        Cleanup the interface of FrameSelection
+        https://bugs.webkit.org/show_bug.cgi?id=128481
+
+        Reviewed by Andreas Kling.
+
+        * WebView/WebHTMLView.mm:
+        (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
+        (-[WebHTMLView selectionRect]):
+        (-[WebHTMLView selectionImageRect]):
+
</ins><span class="cx"> 2014-02-08  Dan Bernstein  &lt;mitz@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Remove use of PLATFORM(MAC) from WebKit/mac
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebViewWebHTMLViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebView/WebHTMLView.mm (163738 => 163739)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebView/WebHTMLView.mm        2014-02-09 04:31:18 UTC (rev 163738)
+++ trunk/Source/WebKit/mac/WebView/WebHTMLView.mm        2014-02-09 04:58:12 UTC (rev 163739)
</span><span class="lines">@@ -5682,7 +5682,7 @@
</span><span class="cx">     if (!coreFrame)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    NSRect rect = coreFrame-&gt;selection().bounds();
</del><ins>+    NSRect rect = coreFrame-&gt;selection().selectionBounds();
</ins><span class="cx"> 
</span><span class="cx">     NSDictionary *attributes = [attrString fontAttributesInRange:NSMakeRange(0,1)];
</span><span class="cx">     NSFont *font = [attributes objectForKey:NSFontAttributeName];
</span><span class="lines">@@ -6528,7 +6528,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (![self _hasSelection])
</span><span class="cx">         return NSZeroRect;
</span><del>-    return core([self _frame])-&gt;selection().bounds();
</del><ins>+    return core([self _frame])-&gt;selection().selectionBounds();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (NSArray *)selectionTextRects
</span><span class="lines">@@ -6579,7 +6579,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (![self _hasSelection])
</span><span class="cx">         return NSZeroRect;
</span><del>-    return core([self _frame])-&gt;selection().bounds();
</del><ins>+    return core([self _frame])-&gt;selection().selectionBounds();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if !PLATFORM(IOS)
</span></span></pre></div>
<a id="trunkSourceWebKitwinChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/ChangeLog (163738 => 163739)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/ChangeLog        2014-02-09 04:31:18 UTC (rev 163738)
+++ trunk/Source/WebKit/win/ChangeLog        2014-02-09 04:58:12 UTC (rev 163739)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2014-02-08  Ryosuke Niwa  &lt;rniwa@webkit.org&gt;
+
+        Cleanup the interface of FrameSelection
+        https://bugs.webkit.org/show_bug.cgi?id=128481
+
+        Reviewed by Andreas Kling.
+
+        * WebView.cpp:
+        (WebView::selectionRect):
+
</ins><span class="cx"> 2014-02-08  Darin Adler  &lt;darin@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Change TextIterator to use StringView, preparing to wean it from deprecatedCharacters
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebView.cpp (163738 => 163739)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebView.cpp        2014-02-09 04:31:18 UTC (rev 163738)
+++ trunk/Source/WebKit/win/WebView.cpp        2014-02-09 04:58:12 UTC (rev 163739)
</span><span class="lines">@@ -3605,7 +3605,7 @@
</span><span class="cx"> {
</span><span class="cx">     WebCore::Frame&amp; frame = m_page-&gt;focusController().focusedOrMainFrame();
</span><span class="cx"> 
</span><del>-    IntRect ir = enclosingIntRect(frame.selection().bounds());
</del><ins>+    IntRect ir = enclosingIntRect(frame.selection().selectionBounds());
</ins><span class="cx">     ir = frame.view()-&gt;convertToContainingWindow(ir);
</span><span class="cx">     ir.move(-frame.view()-&gt;scrollOffset().width(), -frame.view()-&gt;scrollOffset().height());
</span><span class="cx">     rc-&gt;left = ir.x();
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (163738 => 163739)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2014-02-09 04:31:18 UTC (rev 163738)
+++ trunk/Source/WebKit2/ChangeLog        2014-02-09 04:58:12 UTC (rev 163739)
</span><span class="lines">@@ -1,3 +1,16 @@
</span><ins>+2014-02-08  Ryosuke Niwa  &lt;rniwa@webkit.org&gt;
+
+        Cleanup the interface of FrameSelection
+        https://bugs.webkit.org/show_bug.cgi?id=128481
+
+        Reviewed by Andreas Kling.
+
+        * WebProcess/WebPage/FindController.cpp:
+        (WebKit::FindController::getFindIndicatorBitmapAndRect):
+        (WebKit::FindController::drawRect):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::scaledSnapshotWithOptions):
+
</ins><span class="cx"> 2014-02-08  Brady Eidson  &lt;beidson@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         IDB: storage/indexeddb/mozilla/cursors.html fails
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageFindControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/FindController.cpp (163738 => 163739)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/FindController.cpp        2014-02-09 04:31:18 UTC (rev 163738)
+++ trunk/Source/WebKit2/WebProcess/WebPage/FindController.cpp        2014-02-09 04:58:12 UTC (rev 163739)
</span><span class="lines">@@ -201,7 +201,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool FindController::getFindIndicatorBitmapAndRect(Frame* frame, ShareableBitmap::Handle&amp; handle, IntRect&amp; selectionRect)
</span><span class="cx"> {
</span><del>-    selectionRect = enclosingIntRect(frame-&gt;selection().bounds());
</del><ins>+    selectionRect = enclosingIntRect(frame-&gt;selection().selectionBounds());
</ins><span class="cx"> 
</span><span class="cx">     // Selection rect can be empty for matches that are currently obscured from view.
</span><span class="cx">     if (selectionRect.isEmpty())
</span><span class="lines">@@ -427,7 +427,7 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     if (Frame* selectedFrame = frameWithSelection(m_webPage-&gt;corePage())) {
</span><del>-        IntRect findIndicatorRect = selectedFrame-&gt;view()-&gt;contentsToWindow(enclosingIntRect(selectedFrame-&gt;selection().bounds()));
</del><ins>+        IntRect findIndicatorRect = selectedFrame-&gt;view()-&gt;contentsToWindow(enclosingIntRect(selectedFrame-&gt;selection().selectionBounds()));
</ins><span class="cx"> 
</span><span class="cx">         if (findIndicatorRect != m_findIndicatorRect)
</span><span class="cx">             hideFindIndicator();
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (163738 => 163739)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2014-02-09 04:31:18 UTC (rev 163738)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2014-02-09 04:58:12 UTC (rev 163739)
</span><span class="lines">@@ -1524,7 +1524,7 @@
</span><span class="cx">     frameView-&gt;paintContentsForSnapshot(graphicsContext.get(), rect, shouldPaintSelection, coordinateSpace);
</span><span class="cx"> 
</span><span class="cx">     if (options &amp; SnapshotOptionsPaintSelectionRectangle) {
</span><del>-        FloatRect selectionRectangle = m_mainFrame-&gt;coreFrame()-&gt;selection().bounds();
</del><ins>+        FloatRect selectionRectangle = m_mainFrame-&gt;coreFrame()-&gt;selection().selectionBounds();
</ins><span class="cx">         graphicsContext-&gt;setStrokeColor(Color(0xFF, 0, 0), ColorSpaceDeviceRGB);
</span><span class="cx">         graphicsContext-&gt;strokeRect(selectionRectangle, 1);
</span><span class="cx">     }
</span></span></pre>
</div>
</div>

</body>
</html>