@@ -47,7 +47,10 @@ import {IS_EVENT_HANDLE_NON_MANAGED_NODE} from '../EventSystemFlags';
4747import  getEventCharCode  from  '../getEventCharCode' ; 
4848import  { IS_CAPTURE_PHASE }  from  '../EventSystemFlags' ; 
4949
50- import  { enableCreateEventHandleAPI }  from  'shared/ReactFeatureFlags' ; 
50+ import  { 
51+   enableCreateEventHandleAPI , 
52+   disableOnScrollBubbling , 
53+ }  from  'shared/ReactFeatureFlags' ; 
5154
5255function  extractEvents ( 
5356  dispatchQueue : DispatchQueue , 
@@ -182,13 +185,15 @@ function extractEvents(
182185    // In the past, React has always bubbled them, but this can be surprising. 
183186    // We're going to try aligning closer to the browser behavior by not bubbling 
184187    // them in React either. We'll start by not bubbling onScroll, and then expand. 
185-     const  accumulateTargetOnly  = 
186-       ! inCapturePhase  && 
187-       // TODO: ideally, we'd eventually add all events from 
188-       // nonDelegatedEvents list in DOMPluginEventSystem. 
189-       // Then we can remove this special list. 
190-       // This is a breaking change that can wait until React 18. 
191-       domEventName  ===  'scroll' ; 
188+     let  accumulateTargetOnly  =  false ; 
189+     if  ( disableOnScrollBubbling )  { 
190+       accumulateTargetOnly  = 
191+         ! inCapturePhase  && 
192+         // TODO: ideally, we'd eventually add all events from 
193+         // nonDelegatedEvents list in DOMPluginEventSystem. 
194+         // Then we can remove this special list. 
195+         domEventName  ===  'scroll' ; 
196+     } 
192197
193198    accumulateSinglePhaseListeners ( 
194199      targetInst , 
0 commit comments