mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
Fix <embed> not triggering onLoad (#15614)
This commit is contained in:
committed by
Philipp Spiess
parent
f961050a37
commit
4bf88ddeca
@@ -446,4 +446,31 @@ describe('ReactDOMEventListener', () => {
|
||||
document.body.removeChild(container);
|
||||
}
|
||||
});
|
||||
|
||||
it('should dispatch load for embed elements', () => {
|
||||
const container = document.createElement('div');
|
||||
document.body.appendChild(container);
|
||||
|
||||
try {
|
||||
const ref = React.createRef();
|
||||
const handleLoad = jest.fn();
|
||||
|
||||
ReactDOM.render(
|
||||
<div>
|
||||
<embed ref={ref} onLoad={handleLoad} />
|
||||
</div>,
|
||||
container,
|
||||
);
|
||||
|
||||
ref.current.dispatchEvent(
|
||||
new ProgressEvent('load', {
|
||||
bubbles: false,
|
||||
}),
|
||||
);
|
||||
|
||||
expect(handleLoad).toHaveBeenCalledTimes(1);
|
||||
} finally {
|
||||
document.body.removeChild(container);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
@@ -522,6 +522,7 @@ export function setInitialProperties(
|
||||
switch (tag) {
|
||||
case 'iframe':
|
||||
case 'object':
|
||||
case 'embed':
|
||||
trapBubbledEvent(TOP_LOAD, domElement);
|
||||
props = rawProps;
|
||||
break;
|
||||
@@ -916,6 +917,7 @@ export function diffHydratedProperties(
|
||||
switch (tag) {
|
||||
case 'iframe':
|
||||
case 'object':
|
||||
case 'embed':
|
||||
trapBubbledEvent(TOP_LOAD, domElement);
|
||||
break;
|
||||
case 'video':
|
||||
|
||||
Reference in New Issue
Block a user