Add flag in YGConfig for running experiments
Summary: Add flag in YGConfig for running experiments Reviewed By: emilsjolander Differential Revision: D6948702 fbshipit-source-id: 009fe2d64b6098f8c3a0289f0e6939dea5ce0d37
This commit is contained in:
committed by
Facebook Github Bot
parent
402ee11273
commit
b08bd572ef
@@ -215,6 +215,7 @@ struct YGConfig {
|
||||
bool experimentalFeatures[YGExperimentalFeatureCount + 1];
|
||||
bool useWebDefaults;
|
||||
bool useLegacyStretchBehaviour;
|
||||
bool shouldDiffLayoutWithoutLegacyStretchBehaviour;
|
||||
float pointScaleFactor;
|
||||
YGLogger logger;
|
||||
YGNodeClonedFunc cloneNodeCallback;
|
||||
|
@@ -47,6 +47,7 @@ static YGConfig gYGConfigDefaults = {
|
||||
},
|
||||
.useWebDefaults = false,
|
||||
.useLegacyStretchBehaviour = false,
|
||||
.shouldDiffLayoutWithoutLegacyStretchBehaviour = false,
|
||||
.pointScaleFactor = 1.0f,
|
||||
#ifdef ANDROID
|
||||
.logger = &YGAndroidLog,
|
||||
@@ -3613,14 +3614,15 @@ void YGNodeCalculateLayout(const YGNodeRef node,
|
||||
}
|
||||
}
|
||||
|
||||
bool didUseLegacyFlag = node->didUseLegacyFlag();
|
||||
|
||||
// We want to get rid off `useLegacyStretchBehaviour` from YGConfig. But we
|
||||
// aren't sure whether client's of yoga have gotten rid off this flag or not.
|
||||
// So logging this in YGLayout would help to find out the call sites depending
|
||||
// on this flag. This check would be removed once we are sure no one is
|
||||
// dependent on this flag anymore.
|
||||
if (didUseLegacyFlag) {
|
||||
// dependent on this flag anymore. The flag
|
||||
// `shouldDiffLayoutWithoutLegacyStretchBehaviour` in YGConfig will help to
|
||||
// run experiments.
|
||||
if (node->getConfig()->shouldDiffLayoutWithoutLegacyStretchBehaviour &&
|
||||
node->didUseLegacyFlag()) {
|
||||
const YGNodeRef originalNode = YGNodeDeepClone(node);
|
||||
originalNode->resolveDimension();
|
||||
// Recursively mark nodes as dirty
|
||||
|
Reference in New Issue
Block a user