So I took a look at this crash again out of morbid curiosity. This is the code which fails (in https://draftjs.org/main.429b13eb.js): ``` o ? (u = r, s = i.stateNode, 8 === u.nodeType ? u.parentNode.removeChild(s) : u.removeChild(s)) : r.removeChild(i.stateNode) ``` That line is called twice upon an emoji being inserted with the STR (on an empty line), in both Chrome and Firefox: 1: <div class="DraftEditor-root"> .parentNode.removeChild( <div class="class="public-DraftEditorPlaceholder-root public-DraftEditorPlaceholder-hasFocus">) 2: <span data-offset-key="#####-0-0"> .parentNode.removeChild(<br data-text="true">) So Chrome is also adding a <br> node which they are removing... good to know. However, in Firefox the second line fails because that <br> node.. has a null parentNode? That's very strange. I'll continue investigating ASAP.
Bug 1739489 Comment 12 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
So I took a look at this crash again out of morbid curiosity. This is the code which fails (in https://draftjs.org/main.429b13eb.js): ``` o ? (u = r, s = i.stateNode, 8 === u.nodeType ? u.parentNode.removeChild(s) : u.removeChild(s)) : r.removeChild(i.stateNode) ``` That line is called twice upon an emoji being inserted with the STR (on an empty line), in both Chrome and Firefox: ``` 1: <div class="DraftEditor-root"> .parentNode.removeChild( <div class="class="public-DraftEditorPlaceholder-root public-DraftEditorPlaceholder-hasFocus">) 2: <span data-offset-key="#####-0-0"> .parentNode.removeChild(<br data-text="true">) ``` So Chrome is also adding a <br> node which they are removing... good to know. However, in Firefox the second line fails because that <br> node.. has a null parentNode? That's very strange. I'll continue investigating ASAP.