This began after r242801, but it's really due to an existing (long-standing) bug wherein position information requests will change the focused frame: InteractionInformationAtPosition WebPage::positionInformation(const InteractionInformationRequest& request) { … if (!elementIsLinkOrImage) { HitTestResult result = m_page->mainFrame().eventHandler().hitTestResultAtPoint(request.point, HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::DisallowUserAgentShadowContent | HitTestRequest::AllowChildFrameContent); hitNode = result.innerNode(); // Hit test could return HTMLHtmlElement that has no renderer, if the body is smaller than the document. if (hitNode && hitNode->renderer()) { RenderObject* renderer = hitNode->renderer(); m_page->focusController().setFocusedFrame(result.innerNodeFrame()); ^^^^^^^^^^^^^^^ This line in particular info.bounds = renderer->absoluteBoundingBoxRect(true); // We don't want to select blocks that are larger than 97% of the visible area of the document. …
(In reply to Wenson Hsieh from comment #0) > > m_page->focusController().setFocusedFrame(result.innerNodeFrame()); > ^^^^^^^^^^^^^^^ > This line in particular ...it was added to fix <https://bugs.webkit.org/show_bug.cgi?id=128264>.
<rdar://problem/48892367>
Created attachment 364677 [details] Patch
This will bring back <rdar://problem/48020610>, but I have a different plan to make that work.
Comment on attachment 364677 [details] Patch Clearing flags on attachment: 364677 Committed r242968: <https://trac.webkit.org/changeset/242968>
All reviewed patches have been landed. Closing bug.