dictionaryPopupInfoForRange() can change selection temporarily; updates should not be sent to the UIProcess. rdar://problem/28312297
Created attachment 288931 [details] Patch
Comment on attachment 288931 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=288931&action=review > Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm:420 > + m_isGettingDictionaryPopupInfo = true; Can we use a TemporaryChange<bool> here?
(In reply to comment #2) > Comment on attachment 288931 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=288931&action=review > > > Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm:420 > > + m_isGettingDictionaryPopupInfo = true; > > Can we use a TemporaryChange<bool> here? Oh, yes!
Created attachment 288966 [details] Patch
Comment on attachment 288966 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=288966&action=review > Source/WebKit2/WebProcess/WebPage/WebPage.cpp:4841 > + // Specifically, if there is a caret selection, it will change to a range selection of the word around the caret. And > + // then it will change back. Anything that makes a TextIndicator (among probably a few other things) will have this problem too. Find-in-page, force touch, etc.
(In reply to comment #5) > Comment on attachment 288966 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=288966&action=review > > > Source/WebKit2/WebProcess/WebPage/WebPage.cpp:4841 > > + // Specifically, if there is a caret selection, it will change to a range selection of the word around the caret. And > > + // then it will change back. > > Anything that makes a TextIndicator (among probably a few other things) will > have this problem too. Find-in-page, force touch, etc. This will cover many of those cases, but not find in page. https://trac.webkit.org/changeset/205983 Thanks Tim!