@samitouri / QOS-React-1 / commits / 4842fbea02

[react-dom] Add support for `onFullscreenChange` and `onFullscreenError` events (#34621)

chirokas committed Feb 18, 2026 at 09:34 UTC 4842fbea02c48fa5cfcb28eb6ceaec12f6f41a45
4 files changed +38
packages/react-dom-bindings/src/events/DOMEventNames.js
+1
@@ -51,6 +51,7 @@ export type DOMEventName =
51 | 'focusin'
52 | 'focusout'
53 | 'fullscreenchange'
54 + | 'fullscreenerror'
55 | 'gotpointercapture'
56 | 'hashchange'
57 | 'input'
packages/react-dom-bindings/src/events/DOMEventProperties.js
+2
@@ -62,6 +62,8 @@ const simpleEventPluginEvents = [
62 'encrypted',
63 'ended',
64 'error',
65 + 'fullscreenChange',
66 + 'fullscreenError',
67 'gotPointerCapture',
68 'input',
69 'invalid',
packages/react-dom-bindings/src/events/ReactDOMEventListener.js
+1
@@ -362,6 +362,7 @@ export function getEventPriority(domEventName: DOMEventName): EventPriority {
362 case 'beforeinput':
363 case 'blur':
364 case 'fullscreenchange':
365 + case 'fullscreenerror':
366 case 'focus':
367 case 'hashchange':
368 case 'popstate':
packages/react-dom/src/__tests__/ReactDOMEventPropagation-test.js
+34
@@ -834,6 +834,40 @@ describe('ReactDOMEventListener', () => {
834 },
835 });
836 });
837 +
838 + it('onFullscreenChange', async () => {
839 + await testNativeBubblingEvent({
840 + type: 'div',
841 + reactEvent: 'onFullscreenChange',
842 + reactEventType: 'fullscreenchange',
843 + nativeEvent: 'fullscreenchange',
844 + dispatch(node) {
845 + node.dispatchEvent(
846 + new Event('fullscreenchange', {
847 + bubbles: true,
848 + cancelable: false,
849 + }),
850 + );
851 + },
852 + });
853 + });
854 +
855 + it('onFullscreenError', async () => {
856 + await testNativeBubblingEvent({
857 + type: 'div',
858 + reactEvent: 'onFullscreenError',
859 + reactEventType: 'fullscreenerror',
860 + nativeEvent: 'fullscreenerror',
861 + dispatch(node) {
862 + node.dispatchEvent(
863 + new Event('fullscreenerror', {
864 + bubbles: true,
865 + cancelable: false,
866 + }),
867 + );
868 + },
869 + });
870 + });
871 });
872
873 describe('non-bubbling events that bubble in React', () => {