<rdar://problem/8455376> When the size of WebView is larger than the containing view (i.e. the scroll bar is shown). The correction panel ends up showing the bubble outside of the window. Because the coordinate used for displaying the panel is in the page's system not the view's.
Created attachment 68945 [details] Proposed patch (v1)
Comment on attachment 68945 [details] Proposed patch (v1) View in context: https://bugs.webkit.org/attachment.cgi?id=68945&action=review > WebCore/editing/Editor.cpp:2719 > + RefPtr<ClientRect> clientRect = rangeToReplace->getBoundingClientRect(); I don’t think getBoundingClientRect() is appropriate here. It is high-level DOM API which calls updateLayoutIgnorePendingStylesheets() and creates a DOM object (ClientRect) which you don’t need for the client interface. I think you should call getBorderAndTextQuads() directly to get a vector of quads in view coordinates.
Created attachment 69067 [details] Proposed patch (v2) Revised per comment #2.
Comment on attachment 69067 [details] Proposed patch (v2) Clearing flags on attachment: 69067 Committed r68547: <http://trac.webkit.org/changeset/68547>
All reviewed patches have been landed. Closing bug.