Skip to content

Commit f0f6240

Browse files
rubennortemeta-codesync[bot]
authored andcommitted
Expose Event, EventTarget and CustomEvent as globals (#56416)
Summary: Pull Request resolved: #56416 Registers Event, EventTarget and CustomEvent as global polyfills in `setUpDOM.js`. These are standard Web APIs that DOM nodes need access to. Removes the Event/EventTarget polyfills from the Fantom test setup since they are now provided globally by setUpDOM.js. Changelog: [internal] Marking as internal for now, until we ship to stable, even though this isn't gated. We shouldn't communicate this yet. Reviewed By: javache Differential Revision: D100462548 fbshipit-source-id: 3e30be760d4f524ca823ebf1320d9a607abeabf9
1 parent 2e508b9 commit f0f6240

2 files changed

Lines changed: 12 additions & 22 deletions

File tree

packages/react-native/src/private/setup/setUpDOM.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,4 +73,16 @@ export default function setUpDOM() {
7373
'HTMLElement',
7474
() => require('../webapis/dom/nodes/ReactNativeElement').default,
7575
);
76+
77+
polyfillGlobal('Event', () => require('../webapis/dom/events/Event').default);
78+
79+
polyfillGlobal(
80+
'EventTarget',
81+
() => require('../webapis/dom/events/EventTarget').default,
82+
);
83+
84+
polyfillGlobal(
85+
'CustomEvent',
86+
() => require('../webapis/dom/events/CustomEvent').default,
87+
);
7688
}

private/react-native-fantom/src/index.js

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -712,26 +712,4 @@ function getNode(nodeOrRef: NodeOrRef): ReadOnlyNode {
712712
}
713713
}
714714

715-
/**
716-
* Quick and dirty polyfills required by tinybench.
717-
*/
718-
719-
if (typeof global.Event === 'undefined') {
720-
global.Event =
721-
require('react-native/src/private/webapis/dom/events/Event').default;
722-
} else {
723-
console.warn(
724-
'The global Event class is already defined. If this API is already defined by React Native, you might want to remove this logic.',
725-
);
726-
}
727-
728-
if (typeof global.EventTarget === 'undefined') {
729-
global.EventTarget =
730-
require('react-native/src/private/webapis/dom/events/EventTarget').default;
731-
} else {
732-
console.warn(
733-
'The global Event class is already defined. If this API is already defined by React Native, you might want to remove this logic.',
734-
);
735-
}
736-
737715
global.__FANTOM_PACKAGE_LOADED__ = true;

0 commit comments

Comments
 (0)