Deprecate YGConfigSetUseLegacyStretchBehaviour (#37117)
Summary: X-link: https://github.com/facebook/react-native/pull/37117 Pull Request resolved: https://github.com/facebook/yoga/pull/1265 This deprecates `YGConfigSetUseLegacyStretchBehaviour` and `YGConfigGetUseLegacyStretchBehaviour`and points users to errata APIs instead. Using the C API will fire deprecation warnings, which should create errors in builds with `-Werror`, though they can be ignored if truly needed (like we do with the language bindings which need to expose their own deprecated interface). Reviewed By: rshest Differential Revision: D45337198 fbshipit-source-id: 7f069623e38834171f5702382bbf47c37a556a22
This commit is contained in:
committed by
Facebook GitHub Bot
parent
893b3e3957
commit
f32d37a3d5
@@ -102,7 +102,10 @@ static void jni_YGConfigSetUseLegacyStretchBehaviourJNI(
|
|||||||
jlong nativePointer,
|
jlong nativePointer,
|
||||||
jboolean useLegacyStretchBehaviour) {
|
jboolean useLegacyStretchBehaviour) {
|
||||||
const YGConfigRef config = _jlong2YGConfigRef(nativePointer);
|
const YGConfigRef config = _jlong2YGConfigRef(nativePointer);
|
||||||
|
#pragma clang diagnostic push
|
||||||
|
#pragma clang diagnostic ignored "-Wdeprecated"
|
||||||
YGConfigSetUseLegacyStretchBehaviour(config, useLegacyStretchBehaviour);
|
YGConfigSetUseLegacyStretchBehaviour(config, useLegacyStretchBehaviour);
|
||||||
|
#pragma clang diagnostic pop
|
||||||
}
|
}
|
||||||
|
|
||||||
static void jni_YGConfigSetErrataJNI(
|
static void jni_YGConfigSetErrataJNI(
|
||||||
|
@@ -33,7 +33,10 @@ void Config::setPointScaleFactor(float pixelsInPoint) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Config::setUseLegacyStretchBehaviour(bool useLegacyStretchBehaviour) {
|
void Config::setUseLegacyStretchBehaviour(bool useLegacyStretchBehaviour) {
|
||||||
|
#pragma clang diagnostic push
|
||||||
|
#pragma clang diagnostic ignored "-Wdeprecated"
|
||||||
YGConfigSetUseLegacyStretchBehaviour(m_config, useLegacyStretchBehaviour);
|
YGConfigSetUseLegacyStretchBehaviour(m_config, useLegacyStretchBehaviour);
|
||||||
|
#pragma clang diagnostic pop
|
||||||
}
|
}
|
||||||
|
|
||||||
void Config::setErrata(int errata) {
|
void Config::setErrata(int errata) {
|
||||||
@@ -50,7 +53,10 @@ bool Config::isExperimentalFeatureEnabled(int feature) const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool Config::useLegacyStretchBehaviour() const {
|
bool Config::useLegacyStretchBehaviour() const {
|
||||||
|
#pragma clang diagnostic push
|
||||||
|
#pragma clang diagnostic ignored "-Wdeprecated"
|
||||||
return YGConfigGetUseLegacyStretchBehaviour(m_config);
|
return YGConfigGetUseLegacyStretchBehaviour(m_config);
|
||||||
|
#pragma clang diagnostic pop
|
||||||
}
|
}
|
||||||
|
|
||||||
int Config::getErrata() const {
|
int Config::getErrata() const {
|
||||||
|
@@ -118,7 +118,7 @@ TEST(YogaTest, assert_webdefault_values_reset) {
|
|||||||
|
|
||||||
TEST(YogaTest, assert_legacy_stretch_behaviour) {
|
TEST(YogaTest, assert_legacy_stretch_behaviour) {
|
||||||
YGConfig* config = YGConfigNew();
|
YGConfig* config = YGConfigNew();
|
||||||
YGConfigSetUseLegacyStretchBehaviour(config, true);
|
YGConfigSetErrata(config, YGErrataStretchFlexBasis);
|
||||||
const YGNodeRef root = YGNodeNewWithConfig(config);
|
const YGNodeRef root = YGNodeNewWithConfig(config);
|
||||||
YGNodeStyleSetWidth(root, 500);
|
YGNodeStyleSetWidth(root, 500);
|
||||||
YGNodeStyleSetHeight(root, 500);
|
YGNodeStyleSetHeight(root, 500);
|
||||||
|
@@ -19,6 +19,14 @@
|
|||||||
#define YG_EXTERN_C_END
|
#define YG_EXTERN_C_END
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#define YG_DEPRECATED(message) [[deprecated(message)]]
|
||||||
|
#elif defined(_MSC_VER)
|
||||||
|
#define YG_DEPRECATED(message) __declspec(depreacted(message))
|
||||||
|
#else
|
||||||
|
#define YG_DEPRECATED(message) __attribute__((deprecated(message)))
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef _WINDLL
|
#ifdef _WINDLL
|
||||||
#define WIN_EXPORT __declspec(dllexport)
|
#define WIN_EXPORT __declspec(dllexport)
|
||||||
#else
|
#else
|
||||||
|
15
yoga/Yoga.h
15
yoga/Yoga.h
@@ -323,8 +323,19 @@ WIN_EXPORT void YGConfigSetPointScaleFactor(
|
|||||||
// resulted in implicit behaviour similar to align-self: stretch; Because this
|
// resulted in implicit behaviour similar to align-self: stretch; Because this
|
||||||
// was such a long-standing bug we must allow legacy users to switch back to
|
// was such a long-standing bug we must allow legacy users to switch back to
|
||||||
// this behaviour.
|
// this behaviour.
|
||||||
WIN_EXPORT bool YGConfigGetUseLegacyStretchBehaviour(YGConfigRef config);
|
WIN_EXPORT YG_DEPRECATED(
|
||||||
WIN_EXPORT void YGConfigSetUseLegacyStretchBehaviour(
|
"Please use "
|
||||||
|
"\"YGConfigGetErrata()\"") bool YGConfigGetUseLegacyStretchBehaviour(YGConfigRef
|
||||||
|
config);
|
||||||
|
WIN_EXPORT
|
||||||
|
YG_DEPRECATED(
|
||||||
|
"\"YGConfigSetUseLegacyStretchBehaviour\" will be removed in the next "
|
||||||
|
"release. Usage should be replaced with \"YGConfigSetErrata(YGErrataAll)\" "
|
||||||
|
"to opt out of all future breaking conformance fixes, or "
|
||||||
|
"\"YGConfigSetErrata(YGErrataStretchFlexBasis)\" to opt out of the "
|
||||||
|
"specific conformance fix previously disabled by "
|
||||||
|
"\"UseLegacyStretchBehaviour\".")
|
||||||
|
void YGConfigSetUseLegacyStretchBehaviour(
|
||||||
YGConfigRef config,
|
YGConfigRef config,
|
||||||
bool useLegacyStretchBehaviour);
|
bool useLegacyStretchBehaviour);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user