@samitouri / QOS-React-2 / commits / ab1a4f249e

Move eventSystemFlags to last argument in event plugin extractors (#16978)

Fix for necolas/react-native-web#1443

Nicolas Gallagher committed Oct 2, 2019 at 10:31 UTC ab1a4f249e61045d523ddbbfb840e868afbbf785
14 files changed +18 -18
packages/legacy-events/EventPluginHub.js
+4 -4
@@ -132,10 +132,10 @@ export function getListener(inst: Fiber, registrationName: string) {
132 */
133 function extractPluginEvents(
134 topLevelType: TopLevelType,
135 - eventSystemFlags: EventSystemFlags,
135 targetInst: null | Fiber,
136 nativeEvent: AnyNativeEvent,
137 nativeEventTarget: EventTarget,
138 + eventSystemFlags: EventSystemFlags,
139 ): Array<ReactSyntheticEvent> | ReactSyntheticEvent | null {
140 let events = null;
141 for (let i = 0; i < plugins.length; i++) {
@@ -144,10 +144,10 @@ function extractPluginEvents(
144 if (possiblePlugin) {
145 const extractedEvents = possiblePlugin.extractEvents(
146 topLevelType,
147 - eventSystemFlags,
147 targetInst,
148 nativeEvent,
149 nativeEventTarget,
150 + eventSystemFlags,
151 );
152 if (extractedEvents) {
153 events = accumulateInto(events, extractedEvents);
@@ -159,17 +159,17 @@ function extractPluginEvents(
159
160 export function runExtractedPluginEventsInBatch(
161 topLevelType: TopLevelType,
162 - eventSystemFlags: EventSystemFlags,
162 targetInst: null | Fiber,
163 nativeEvent: AnyNativeEvent,
164 nativeEventTarget: EventTarget,
165 + eventSystemFlags: EventSystemFlags,
166 ) {
167 const events = extractPluginEvents(
168 topLevelType,
169 - eventSystemFlags,
169 targetInst,
170 nativeEvent,
171 nativeEventTarget,
172 + eventSystemFlags,
173 );
174 runEventsInBatch(events);
175 }
packages/legacy-events/PluginModuleType.js
+1 -1
@@ -25,10 +25,10 @@ export type PluginModule<NativeEvent> = {
25 eventTypes: EventTypes,
26 extractEvents: (
27 topLevelType: TopLevelType,
28 - eventSystemFlags: EventSystemFlags,
28 targetInst: null | Fiber,
29 nativeTarget: NativeEvent,
30 nativeEventTarget: EventTarget,
31 + eventSystemFlags: EventSystemFlags,
32 ) => ?ReactSyntheticEvent,
33 tapMoveThreshold?: number,
34 };
packages/legacy-events/ResponderEventPlugin.js
+1 -1
@@ -504,10 +504,10 @@ const ResponderEventPlugin = {
504 */
505 extractEvents: function(
506 topLevelType,
507 - eventSystemFlags,
507 targetInst,
508 nativeEvent,
509 nativeEventTarget,
510 + eventSystemFlags,
511 ) {
512 if (isStartish(topLevelType)) {
513 trackedTouchCount += 1;
packages/legacy-events/__tests__/ResponderEventPlugin-test.internal.js
+1 -1
@@ -314,10 +314,10 @@ const run = function(config, hierarchyConfig, nativeEventConfig) {
314 // Trigger the event
315 const extractedEvents = ResponderEventPlugin.extractEvents(
316 nativeEventConfig.topLevelType,
317 - PLUGIN_EVENT_SYSTEM,
317 nativeEventConfig.targetInst,
318 nativeEventConfig.nativeEvent,
319 nativeEventConfig.target,
320 + PLUGIN_EVENT_SYSTEM,
321 );
322
323 // At this point the negotiation events have been dispatched as part of the
packages/react-devtools-shell/src/app/ReactNativeWeb/index.js
+2 -2
@@ -11,7 +11,7 @@ import React, {Fragment, useState} from 'react';
11 import {Button, Text, View} from 'react-native-web';
12
13 export default function ReactNativeWeb() {
14 - const [backgroundColor, setBackgroundColor] = useState('blue');
14 + const [backgroundColor, setBackgroundColor] = useState('purple');
15 const toggleColor = () =>
16 setBackgroundColor(backgroundColor === 'purple' ? 'green' : 'purple');
17 return (
@@ -29,8 +29,8 @@ export default function ReactNativeWeb() {
29 left
30 </Text>
31 <Button
32 + color={backgroundColor}
33 onPress={toggleColor}
33 - style={{backgroundColor}}
34 title={`Switch background color to "${
35 backgroundColor === 'purple' ? 'green' : 'purple'
36 }"`}
packages/react-dom/src/events/BeforeInputEventPlugin.js
+1 -1
@@ -464,10 +464,10 @@ const BeforeInputEventPlugin = {
464
465 extractEvents: function(
466 topLevelType,
467 - eventSystemFlags,
467 targetInst,
468 nativeEvent,
469 nativeEventTarget,
470 + eventSystemFlags,
471 ) {
472 const composition = extractCompositionEvent(
473 topLevelType,
packages/react-dom/src/events/ChangeEventPlugin.js
+1 -1
@@ -262,10 +262,10 @@ const ChangeEventPlugin = {
262
263 extractEvents: function(
264 topLevelType,
265 - eventSystemFlags,
265 targetInst,
266 nativeEvent,
267 nativeEventTarget,
268 + eventSystemFlags,
269 ) {
270 const targetNode = targetInst ? getNodeFromInstance(targetInst) : window;
271
packages/react-dom/src/events/EnterLeaveEventPlugin.js
+1 -1
@@ -54,10 +54,10 @@ const EnterLeaveEventPlugin = {
54 */
55 extractEvents: function(
56 topLevelType,
57 - eventSystemFlags,
57 targetInst,
58 nativeEvent,
59 nativeEventTarget,
60 + eventSystemFlags,
61 ) {
62 const isOverEvent =
63 topLevelType === TOP_MOUSE_OVER || topLevelType === TOP_POINTER_OVER;
packages/react-dom/src/events/ReactDOMEventListener.js
+1 -1
@@ -178,10 +178,10 @@ function handleTopLevel(bookKeeping: BookKeepingInstance) {
178
179 runExtractedPluginEventsInBatch(
180 topLevelType,
181 - bookKeeping.eventSystemFlags,
181 targetInst,
182 nativeEvent,
183 eventTarget,
184 + bookKeeping.eventSystemFlags,
185 );
186 }
187 }
packages/react-dom/src/events/SelectEventPlugin.js
+1 -1
@@ -162,10 +162,10 @@ const SelectEventPlugin = {
162
163 extractEvents: function(
164 topLevelType,
165 - eventSystemFlags,
165 targetInst,
166 nativeEvent,
167 nativeEventTarget,
168 + eventSystemFlags,
169 ) {
170 const doc = getEventTargetDocument(nativeEventTarget);
171 // Track whether all listeners exists for this plugin. If none exist, we do
packages/react-dom/src/events/SimpleEventPlugin.js
+1 -1
@@ -248,10 +248,10 @@ const SimpleEventPlugin: PluginModule<MouseEvent> & {
248
249 extractEvents: function(
250 topLevelType: TopLevelType,
251 - eventSystemFlags: EventSystemFlags,
251 targetInst: null | Fiber,
252 nativeEvent: MouseEvent,
253 nativeEventTarget: EventTarget,
254 + eventSystemFlags: EventSystemFlags,
255 ): null | ReactSyntheticEvent {
256 const dispatchConfig = topLevelEventsToDispatchConfig[topLevelType];
257 if (!dispatchConfig) {
packages/react-native-renderer/src/ReactFabricEventEmitter.js
+1 -1
@@ -42,10 +42,10 @@ export function dispatchEvent(
42 // Heritage plugin event system
43 runExtractedPluginEventsInBatch(
44 topLevelType,
45 - PLUGIN_EVENT_SYSTEM,
45 targetFiber,
46 nativeEvent,
47 nativeEvent.target,
48 + PLUGIN_EVENT_SYSTEM,
49 );
50 });
51 // React Native doesn't use ReactControlledComponent but if it did, here's
packages/react-native-renderer/src/ReactNativeBridgeEventPlugin.js
+1 -1
@@ -33,10 +33,10 @@ const ReactNativeBridgeEventPlugin = {
33 */
34 extractEvents: function(
35 topLevelType: TopLevelType,
36 - eventSystemFlags: EventSystemFlags,
36 targetInst: null | Object,
37 nativeEvent: AnyNativeEvent,
38 nativeEventTarget: Object,
39 + eventSystemFlags: EventSystemFlags,
40 ): ?Object {
41 if (targetInst == null) {
42 // Probably a node belonging to another renderer's tree.
packages/react-native-renderer/src/ReactNativeEventEmitter.js
+1 -1
@@ -101,10 +101,10 @@ function _receiveRootNodeIDEvent(
101 batchedUpdates(function() {
102 runExtractedPluginEventsInBatch(
103 topLevelType,
104 - PLUGIN_EVENT_SYSTEM,
104 inst,
105 nativeEvent,
106 nativeEvent.target,
107 + PLUGIN_EVENT_SYSTEM,
108 );
109 });
110 // React Native doesn't use ReactControlledComponent but if it did, here's