Skip to content

Commit

Permalink
Back out "Revert D18626496: Partial React Sync from 6cff70a74...bb185…
Browse files Browse the repository at this point in the history
…3f73"

Summary:
Original commit changeset: d982163fe3f5

Landing the original but with the feature flag disabled. *doh*

Changelog:
[General][Changed] Partial React Sync from 6cff70a74...bb1853f73

Reviewed By: mdvacca

Differential Revision: D18649739

fbshipit-source-id: c9a15f511595fe0ae76dd49db7a7097d1bfa3853
  • Loading branch information
TheSavior authored and facebook-github-bot committed Nov 22, 2019
1 parent be324ca commit 390d089
Show file tree
Hide file tree
Showing 13 changed files with 309 additions and 154 deletions.
87 changes: 54 additions & 33 deletions Libraries/Renderer/implementations/ReactFabric-dev.fb.js
Original file line number Diff line number Diff line change
Expand Up @@ -2566,18 +2566,56 @@ injection.injectEventPluginsByName({
ReactNativeBridgeEventPlugin: ReactNativeBridgeEventPlugin
});

// Uncomment to re-export dynamic flags from the fbsource version.
var _require = require("../shims/ReactFeatureFlags");
var enableNativeTargetAsInstance = _require.enableNativeTargetAsInstance; // The rest of the flags are static for better dead code elimination.

var enableUserTimingAPI = true;
var enableProfilerTimer = true;
var enableSchedulerTracing = true;
var enableSuspenseServerRenderer = false;

var debugRenderPhaseSideEffectsForStrictMode = true;

var replayFailedUnitOfWorkWithInvokeGuardedCallback = true;
var warnAboutDeprecatedLifecycles = true;
var enableFlareAPI = false;
var enableFundamentalAPI = false;
var enableScopeAPI = false;

var warnAboutUnmockedScheduler = true;
var flushSuspenseFallbacksInTests = true;
var enableSuspenseCallback = false;
var warnAboutDefaultPropsOnFunctionComponents = false;
var warnAboutStringRefs = false;
var disableLegacyContext = false;
var disableSchedulerTimeoutBasedOnReactExpirationTime = false;
// Only used in www builds.

// Flow magic to verify the exports of this file match the original version.

function getInstanceFromInstance(instanceHandle) {
return instanceHandle;
}

function getTagFromInstance(inst) {
var tag = inst.stateNode.canonical._nativeTag;
if (enableNativeTargetAsInstance) {
var nativeInstance = inst.stateNode.canonical;

if (!tag) {
throw Error("All native instances should have a tag.");
}
if (!nativeInstance._nativeTag) {
throw Error("All native instances should have a tag.");
}

return nativeInstance;
} else {
var tag = inst.stateNode.canonical._nativeTag;

if (!tag) {
throw Error("All native instances should have a tag.");
}

return tag;
return tag;
}
}

function getFiberCurrentPropsFromNode$1(inst) {
Expand Down Expand Up @@ -2920,33 +2958,6 @@ var ShouldCapture =
/* */
4096;

// Uncomment to re-export dynamic flags from the fbsource version.
// export const {} = require('../shims/ReactFeatureFlags');
// The rest of the flags are static for better dead code elimination.
var enableUserTimingAPI = true;
var enableProfilerTimer = true;
var enableSchedulerTracing = true;
var enableSuspenseServerRenderer = false;

var debugRenderPhaseSideEffectsForStrictMode = true;

var replayFailedUnitOfWorkWithInvokeGuardedCallback = true;
var warnAboutDeprecatedLifecycles = true;
var enableFlareAPI = false;
var enableFundamentalAPI = false;
var enableScopeAPI = false;

var warnAboutUnmockedScheduler = true;
var flushSuspenseFallbacksInTests = true;
var enableSuspenseCallback = false;
var warnAboutDefaultPropsOnFunctionComponents = false;
var warnAboutStringRefs = false;
var disableLegacyContext = false;
var disableSchedulerTimeoutBasedOnReactExpirationTime = false;
// Only used in www builds.

// Flow magic to verify the exports of this file match the original version.

var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;
function getNearestMountedFiber(fiber) {
var node = fiber;
Expand Down Expand Up @@ -4380,13 +4391,23 @@ function dispatchEvent(target, topLevelType, nativeEvent) {
dispatchEventForResponderEventSystem(topLevelType, target, nativeEvent);
}

var eventTarget = null;

if (enableNativeTargetAsInstance) {
if (targetFiber != null) {
eventTarget = targetFiber.stateNode.canonical;
}
} else {
eventTarget = nativeEvent.target;
}

batchedUpdates(function() {
// Heritage plugin event system
runExtractedPluginEventsInBatch(
topLevelType,
targetFiber,
nativeEvent,
nativeEvent.target,
eventTarget,
PLUGIN_EVENT_SYSTEM
);
}); // React Native doesn't use ReactControlledComponent but if it did, here's
Expand Down
79 changes: 50 additions & 29 deletions Libraries/Renderer/implementations/ReactFabric-dev.js
Original file line number Diff line number Diff line change
Expand Up @@ -2567,18 +2567,52 @@ injection.injectEventPluginsByName({
ReactNativeBridgeEventPlugin: ReactNativeBridgeEventPlugin
});

var debugRenderPhaseSideEffectsForStrictMode = false;
var enableUserTimingAPI = true;
var replayFailedUnitOfWorkWithInvokeGuardedCallback = true;
var warnAboutDeprecatedLifecycles = true;
var enableProfilerTimer = true;
var enableSchedulerTracing = true;
var enableSuspenseServerRenderer = false;

var enableFlareAPI = false;
var enableFundamentalAPI = false;
var enableScopeAPI = false;

var warnAboutUnmockedScheduler = false;
var flushSuspenseFallbacksInTests = true;
var enableSuspenseCallback = false;
var warnAboutDefaultPropsOnFunctionComponents = false;
var warnAboutStringRefs = false;
var disableLegacyContext = false;
var disableSchedulerTimeoutBasedOnReactExpirationTime = false;

var enableNativeTargetAsInstance = false; // Only used in www builds.

// Flow magic to verify the exports of this file match the original version.

function getInstanceFromInstance(instanceHandle) {
return instanceHandle;
}

function getTagFromInstance(inst) {
var tag = inst.stateNode.canonical._nativeTag;
if (enableNativeTargetAsInstance) {
var nativeInstance = inst.stateNode.canonical;

if (!tag) {
throw Error("All native instances should have a tag.");
}
if (!nativeInstance._nativeTag) {
throw Error("All native instances should have a tag.");
}

return nativeInstance;
} else {
var tag = inst.stateNode.canonical._nativeTag;

if (!tag) {
throw Error("All native instances should have a tag.");
}

return tag;
return tag;
}
}

function getFiberCurrentPropsFromNode$1(inst) {
Expand Down Expand Up @@ -2921,29 +2955,6 @@ var ShouldCapture =
/* */
4096;

var debugRenderPhaseSideEffectsForStrictMode = false;
var enableUserTimingAPI = true;
var replayFailedUnitOfWorkWithInvokeGuardedCallback = true;
var warnAboutDeprecatedLifecycles = true;
var enableProfilerTimer = true;
var enableSchedulerTracing = true;
var enableSuspenseServerRenderer = false;

var enableFlareAPI = false;
var enableFundamentalAPI = false;
var enableScopeAPI = false;

var warnAboutUnmockedScheduler = false;
var flushSuspenseFallbacksInTests = true;
var enableSuspenseCallback = false;
var warnAboutDefaultPropsOnFunctionComponents = false;
var warnAboutStringRefs = false;
var disableLegacyContext = false;
var disableSchedulerTimeoutBasedOnReactExpirationTime = false;
// Only used in www builds.

// Flow magic to verify the exports of this file match the original version.

var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;
function getNearestMountedFiber(fiber) {
var node = fiber;
Expand Down Expand Up @@ -4377,13 +4388,23 @@ function dispatchEvent(target, topLevelType, nativeEvent) {
dispatchEventForResponderEventSystem(topLevelType, target, nativeEvent);
}

var eventTarget = null;

if (enableNativeTargetAsInstance) {
if (targetFiber != null) {
eventTarget = targetFiber.stateNode.canonical;
}
} else {
eventTarget = nativeEvent.target;
}

batchedUpdates(function() {
// Heritage plugin event system
runExtractedPluginEventsInBatch(
topLevelType,
targetFiber,
nativeEvent,
nativeEvent.target,
eventTarget,
PLUGIN_EVENT_SYSTEM
);
}); // React Native doesn't use ReactControlledComponent but if it did, here's
Expand Down
14 changes: 13 additions & 1 deletion Libraries/Renderer/implementations/ReactFabric-prod.fb.js
Original file line number Diff line number Diff line change
Expand Up @@ -989,6 +989,8 @@ injection.injectEventPluginsByName({
}
}
});
var enableNativeTargetAsInstance = require("../shims/ReactFeatureFlags")
.enableNativeTargetAsInstance;
function getInstanceFromInstance(instanceHandle) {
return instanceHandle;
}
Expand All @@ -997,6 +999,12 @@ getFiberCurrentPropsFromNode = function(inst) {
};
getInstanceFromNode = getInstanceFromInstance;
getNodeFromInstance = function(inst) {
if (enableNativeTargetAsInstance) {
inst = inst.stateNode.canonical;
if (!inst._nativeTag)
throw Error("All native instances should have a tag.");
return inst;
}
inst = inst.stateNode.canonical._nativeTag;
if (!inst) throw Error("All native instances should have a tag.");
return inst;
Expand Down Expand Up @@ -1507,8 +1515,12 @@ function _inheritsLoose(subClass, superClass) {
})(React.Component);
new Map();
function dispatchEvent(target, topLevelType, nativeEvent) {
var eventTarget = null;
enableNativeTargetAsInstance
? null != target && (eventTarget = target.stateNode.canonical)
: (eventTarget = nativeEvent.target);
batchedUpdates(function() {
var events = nativeEvent.target;
var events = eventTarget;
for (var events$jscomp$0 = null, i = 0; i < plugins.length; i++) {
var possiblePlugin = plugins[i];
possiblePlugin &&
Expand Down
4 changes: 3 additions & 1 deletion Libraries/Renderer/implementations/ReactFabric-prod.js
Original file line number Diff line number Diff line change
Expand Up @@ -1508,8 +1508,10 @@ function _inheritsLoose(subClass, superClass) {
})(React.Component);
new Map();
function dispatchEvent(target, topLevelType, nativeEvent) {
var eventTarget = null;
eventTarget = nativeEvent.target;
batchedUpdates(function() {
var events = nativeEvent.target;
var events = eventTarget;
for (var events$jscomp$0 = null, i = 0; i < plugins.length; i++) {
var possiblePlugin = plugins[i];
possiblePlugin &&
Expand Down
14 changes: 13 additions & 1 deletion Libraries/Renderer/implementations/ReactFabric-profiling.fb.js
Original file line number Diff line number Diff line change
Expand Up @@ -990,6 +990,8 @@ injection.injectEventPluginsByName({
}
}
});
var enableNativeTargetAsInstance = require("../shims/ReactFeatureFlags")
.enableNativeTargetAsInstance;
function getInstanceFromInstance(instanceHandle) {
return instanceHandle;
}
Expand All @@ -998,6 +1000,12 @@ getFiberCurrentPropsFromNode = function(inst) {
};
getInstanceFromNode = getInstanceFromInstance;
getNodeFromInstance = function(inst) {
if (enableNativeTargetAsInstance) {
inst = inst.stateNode.canonical;
if (!inst._nativeTag)
throw Error("All native instances should have a tag.");
return inst;
}
inst = inst.stateNode.canonical._nativeTag;
if (!inst) throw Error("All native instances should have a tag.");
return inst;
Expand Down Expand Up @@ -1508,8 +1516,12 @@ function _inheritsLoose(subClass, superClass) {
})(React.Component);
new Map();
function dispatchEvent(target, topLevelType, nativeEvent) {
var eventTarget = null;
enableNativeTargetAsInstance
? null != target && (eventTarget = target.stateNode.canonical)
: (eventTarget = nativeEvent.target);
batchedUpdates(function() {
var events = nativeEvent.target;
var events = eventTarget;
for (var events$jscomp$0 = null, i = 0; i < plugins.length; i++) {
var possiblePlugin = plugins[i];
possiblePlugin &&
Expand Down
4 changes: 3 additions & 1 deletion Libraries/Renderer/implementations/ReactFabric-profiling.js
Original file line number Diff line number Diff line change
Expand Up @@ -1509,8 +1509,10 @@ function _inheritsLoose(subClass, superClass) {
})(React.Component);
new Map();
function dispatchEvent(target, topLevelType, nativeEvent) {
var eventTarget = null;
eventTarget = nativeEvent.target;
batchedUpdates(function() {
var events = nativeEvent.target;
var events = eventTarget;
for (var events$jscomp$0 = null, i = 0; i < plugins.length; i++) {
var possiblePlugin = plugins[i];
possiblePlugin &&
Expand Down
Loading

0 comments on commit 390d089

Please sign in to comment.