<rdar://problem/64211161>
Created attachment 401608 [details] Patch
Comment on attachment 401608 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=401608&action=review > Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:4252 > + completionHandler([WKAutocorrectionContext autocorrectionContextWithWebContext:_lastAutocorrectionContext]); Is it ever OK to do this twice? If not, then can we std::exchange to clear out _lastAutocorrectionContext here?
Comment on attachment 401608 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=401608&action=review Thanks for the review! >> Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:4252 >> + completionHandler([WKAutocorrectionContext autocorrectionContextWithWebContext:_lastAutocorrectionContext]); > > Is it ever OK to do this twice? If not, then can we std::exchange to clear out _lastAutocorrectionContext here? It’s /theoretically/ okay to do this twice (UIKit could potentially call into this twice in a row while handling a DOM paste request), so I would prefer to not std::exchange it with { }. (That said, I don’t think multiple calls would happen often in practice, if at all)
Comment on attachment 401608 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=401608&action=review >>> Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:4252 >>> + completionHandler([WKAutocorrectionContext autocorrectionContextWithWebContext:_lastAutocorrectionContext]); >> >> Is it ever OK to do this twice? If not, then can we std::exchange to clear out _lastAutocorrectionContext here? > > It’s /theoretically/ okay to do this twice (UIKit could potentially call into this twice in a row while handling a DOM paste request), so I would prefer to not std::exchange it with { }. > > (That said, I don’t think multiple calls would happen often in practice, if at all) What was worried about was keeping _lastAutocorrectionContext around indefinitely. But I guess what I missed is that the code above is in a method named cleanUpInteraction.
Committed r262891: <https://trac.webkit.org/changeset/262891> All reviewed patches have been landed. Closing bug and clearing flags on attachment 401608 [details].