Fix <embed> not triggering onLoad (#15614)

This commit is contained in:
Andrew Cherniavskii
2019-05-16 11:05:20 +02:00
committed by Philipp Spiess
parent f961050a37
commit 4bf88ddeca
2 changed files with 29 additions and 0 deletions
@@ -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);
}
});
});
+2
View File
@@ -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':