[webkit-reviews] review granted: [Bug 235184] Crash in Document::updateStyleIfNeeded() when removing a node containing the drag caret : [Attachment 449069] For EWS

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Jan 13 09:53:54 PST 2022


Darin Adler <darin at apple.com> has granted Wenson Hsieh
<wenson_hsieh at apple.com>'s request for review:
Bug 235184: Crash in Document::updateStyleIfNeeded() when removing a node
containing the drag caret
https://bugs.webkit.org/show_bug.cgi?id=235184

Attachment 449069: For EWS

https://bugs.webkit.org/attachment.cgi?id=449069&action=review




--- Comment #3 from Darin Adler <darin at apple.com> ---
Comment on attachment 449069
  --> https://bugs.webkit.org/attachment.cgi?id=449069
For EWS

View in context: https://bugs.webkit.org/attachment.cgi?id=449069&action=review

> Source/WebCore/editing/FrameSelection.cpp:543
> -    clear();
> +    if (RefPtr node = m_position.deepEquivalent().anchorNode())
> +	   invalidateCaretRect(node.get(), true);
> +
> +    m_position = { };
> +    clearCaretRect();

I worry that nothing is left behind here other than the regression test to
explain the subtle reason why this must not call clear().

Is there any way we can make this subtle point more obvious? Function naming?
Some discipline across this entire class that more explicitly addresses repaint
issues? Some kind of comment?


More information about the webkit-reviews mailing list