-
Notifications
You must be signed in to change notification settings - Fork 4.6k
Block Editor: Remove block selection clearer handling from iframe #73753
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
Conversation
|
Size Change: -56 B (0%) Total Size: 2.58 MB
ℹ️ View Unchanged
|
| const bodyRef = useMergeRefs( [ | ||
| useBubbleEvents( iframeDocument ), | ||
| contentRef, | ||
| clearerRef, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This probably doesn't make a difference? Not sure why it's both added here and ExperimentalBlockCanvas. Maybe we should keep one, not sure why it was ever added to ExperimentalBlockCanvas.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do you mean by difference? The current removal fixes the mentioned.
I thought one in ExperimentalBlockCanvas was responsible for both iframed and non-iframed editors.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm curious why it fixes the issue if it's still added by ExperimentalBlockCanvas?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The clearerRef( documentElement ); attaches events to the iframe document, which then react to clicks on the scrollbar.
The one from ExperimentalBlockCanvas is attached to the body and doesn't have the same problem. This was introduced as part of general framework improvements (#54209).
In my tests, removing the ref callback from this component fixes the bug without introducing any regressions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ellatrix, let me know if there's a different path/solution you want me to pursue.
P.S. I tried deleting the click the scrollbar, but, to my understanding, it's almost impossible to do correctly across browsers and OS.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ExperimentalBlockCanvas adds the clearer as the contentRef, which is added to the same element through the line above this one. I don't get what the difference is? Is there a bug because it is added twice to the same element?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, this one is also added to the body. So why remove it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe the problem is that the removed ref callback was attached to the html, which was causing the bug.
As far as I can tell, this doesn't introduce any regressions, so let's merge it.
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
What?
Partially reverts #31385.
Closes #73547.
PR removes
useBlockSelectionClearerto avoid clearing block selection when clicking on the canvas scrollbar in the iframed editor. This matches the behavior of non-iframed editors.Why?
Testing Instructions
Testing Instructions for Keyboard
Same.
Screenshots or screencast
CleanShot.2025-12-04.at.16.39.34.mp4