Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix handling of delete in Chrome when inline void node is selected #4307

Conversation

clauderic
Copy link
Collaborator

@clauderic clauderic commented Jun 1, 2021

Description
This PR fixes deletion of selected inline void nodes in Chrome. Chrome does not fire a beforeinput event when deleting backwards within an inline void node, so we need to add special logic to handle this edge-case for Chrome only.

Both Firefox and Safari do not exhibit this behaviour, and fire the deleteContentBackward / deleteContentForward beforeinput event when deleting backward/forward in a void inline node.

Issue
Fixes: #3456

Example

Before.-.Delete.backward.in.inline.void.on.Chrome.mp4
Before.-.Delete.forward.in.inline.void.on.Chrome.mp4
After.-.Delete.backward.in.inline.void.on.Chrome.mp4
After.-.Delete.forward.in.inline.void.on.Chrome.mp4

Checks

  • The new code matches the existing patterns and styles.
  • The tests pass with yarn test.
  • The linter passes with yarn lint. (Fix errors with yarn fix.)
  • The relevant examples still work. (Run examples with yarn start.)
  • You've added a changeset if changing functionality. (Add one with yarn changeset add.)

@clauderic clauderic changed the title Fix delete backward in Chrome when inline void node is selected Fix handling of delete in Chrome when inline void node is selected Jun 1, 2021
@clauderic clauderic force-pushed the fix-chrome-inline-void-delete-backward branch from 8ad215a to 2b14269 Compare June 1, 2021 17:45
@changeset-bot
Copy link

changeset-bot bot commented Jun 1, 2021

🦋 Changeset detected

Latest commit: 18044d5

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
slate-react Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@clauderic clauderic force-pushed the fix-chrome-inline-void-delete-backward branch from 2b14269 to 18044d5 Compare June 1, 2021 17:59
@clauderic clauderic self-assigned this Jun 1, 2021
@clauderic clauderic merged commit a7e3a18 into ianstormtaylor:main Jun 1, 2021
@clauderic clauderic deleted the fix-chrome-inline-void-delete-backward branch June 1, 2021 18:11
@github-actions github-actions bot mentioned this pull request Jun 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Inline void elements cannot be deleted when selected
1 participant