diff --git a/packages/block-library/src/navigation-link/edit.js b/packages/block-library/src/navigation-link/edit.js index 3791d7e103cdc4..b1dc3338c801e9 100644 --- a/packages/block-library/src/navigation-link/edit.js +++ b/packages/block-library/src/navigation-link/edit.js @@ -64,6 +64,8 @@ const useIsDraggingWithin = ( elementRef ) => { const [ isDraggingWithin, setIsDraggingWithin ] = useState( false ); useEffect( () => { + const { ownerDocument } = elementRef.current; + function handleDragStart( event ) { // Check the first time when the dragging starts. handleDragEnter( event ); @@ -84,15 +86,16 @@ const useIsDraggingWithin = ( elementRef ) => { } // Bind these events to the document to catch all drag events. - // Ideally, we can also use `event.relatedTarget`, but sadly that doesn't work in Safari. - document.addEventListener( 'dragstart', handleDragStart ); - document.addEventListener( 'dragend', handleDragEnd ); - document.addEventListener( 'dragenter', handleDragEnter ); + // Ideally, we can also use `event.relatedTarget`, but sadly that + // doesn't work in Safari. + ownerDocument.addEventListener( 'dragstart', handleDragStart ); + ownerDocument.addEventListener( 'dragend', handleDragEnd ); + ownerDocument.addEventListener( 'dragenter', handleDragEnter ); return () => { - document.removeEventListener( 'dragstart', handleDragStart ); - document.removeEventListener( 'dragend', handleDragEnd ); - document.removeEventListener( 'dragenter', handleDragEnter ); + ownerDocument.removeEventListener( 'dragstart', handleDragStart ); + ownerDocument.removeEventListener( 'dragend', handleDragEnd ); + ownerDocument.removeEventListener( 'dragenter', handleDragEnter ); }; }, [] ); diff --git a/packages/components/src/sandbox/index.js b/packages/components/src/sandbox/index.js index 82b72f4c583098..aaf57e88490bac 100644 --- a/packages/components/src/sandbox/index.js +++ b/packages/components/src/sandbox/index.js @@ -209,16 +209,19 @@ export default function Sandbox( { setHeight( data.height ); } + const { ownerDocument } = ref.current; + const { defaultView } = ownerDocument; + // This used to be registered using