Remove public APIs for YGNodePrint and YGConfigSetPrintTreeFlag (#1567)
Summary: X-link: https://github.com/facebook/react-native/pull/42688 We are planning on overhauling NodeToString to output JSON instead of HTML for the purposes of better benchmarking and capturing trees in JSON format to benchmark later. This gives us a bit of a headache as we have to revise several build files to ensure this new library works, ensure that it is only included in certain debug builds, and deal with the benchmark <-> internal cross boundary that arises as the benchmark code (which is a separate binary) tries to interact with it. On top of it all this is really not used at all. The plan is to rip out this functionality and just put it in a separate binary that one can include if they really want to debug. That means that it cannot exist in the public API, so I am removing it here. Private internals come next Changelog: [Internal] Reviewed By: NickGerleman Differential Revision: D53137544
This commit is contained in:
committed by
Facebook GitHub Bot
parent
58aa090774
commit
6d982a39ad
@@ -15,8 +15,6 @@ public abstract class YogaConfig {
|
||||
|
||||
public abstract void setUseWebDefaults(boolean useWebDefaults);
|
||||
|
||||
public abstract void setPrintTreeFlag(boolean enable);
|
||||
|
||||
public abstract void setPointScaleFactor(float pixelsInPoint);
|
||||
|
||||
public abstract void setErrata(YogaErrata errata);
|
||||
|
@@ -35,10 +35,6 @@ public abstract class YogaConfigJNIBase extends YogaConfig {
|
||||
YogaNative.jni_YGConfigSetUseWebDefaultsJNI(mNativePointer, useWebDefaults);
|
||||
}
|
||||
|
||||
public void setPrintTreeFlag(boolean enable) {
|
||||
YogaNative.jni_YGConfigSetPrintTreeFlagJNI(mNativePointer, enable);
|
||||
}
|
||||
|
||||
public void setPointScaleFactor(float pixelsInPoint) {
|
||||
YogaNative.jni_YGConfigSetPointScaleFactorJNI(mNativePointer, pixelsInPoint);
|
||||
}
|
||||
|
@@ -22,7 +22,6 @@ public class YogaNative {
|
||||
static native void jni_YGConfigFreeJNI(long nativePointer);
|
||||
static native void jni_YGConfigSetExperimentalFeatureEnabledJNI(long nativePointer, int feature, boolean enabled);
|
||||
static native void jni_YGConfigSetUseWebDefaultsJNI(long nativePointer, boolean useWebDefaults);
|
||||
static native void jni_YGConfigSetPrintTreeFlagJNI(long nativePointer, boolean enable);
|
||||
static native void jni_YGConfigSetPointScaleFactorJNI(long nativePointer, float pixelsInPoint);
|
||||
static native void jni_YGConfigSetErrataJNI(long nativePointer, int errata);
|
||||
static native int jni_YGConfigGetErrataJNI(long nativePointer);
|
||||
@@ -111,7 +110,6 @@ public class YogaNative {
|
||||
static native void jni_YGNodeStyleSetGapJNI(long nativePointer, int gutter, float gapLength);
|
||||
static native void jni_YGNodeSetHasMeasureFuncJNI(long nativePointer, boolean hasMeasureFunc);
|
||||
static native void jni_YGNodeSetHasBaselineFuncJNI(long nativePointer, boolean hasMeasureFunc);
|
||||
static native void jni_YGNodePrintJNI(long nativePointer);
|
||||
static native void jni_YGNodeSetStyleInputsJNI(long nativePointer, float[] styleInputsArray, int size);
|
||||
static native long jni_YGNodeCloneJNI(long nativePointer);
|
||||
static native void jni_YGNodeSetAlwaysFormsContainingBlockJNI(long nativePointer, boolean alwaysFormContainingBlock);
|
||||
|
@@ -221,8 +221,6 @@ public abstract class YogaNode implements YogaProps {
|
||||
@Nullable
|
||||
public abstract Object getData();
|
||||
|
||||
public abstract void print();
|
||||
|
||||
public abstract YogaNode cloneWithoutChildren();
|
||||
|
||||
public abstract YogaNode cloneWithChildren();
|
||||
|
@@ -556,14 +556,6 @@ public abstract class YogaNodeJNIBase extends YogaNode implements Cloneable {
|
||||
return mData;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use the set logger (defaults to adb log) to print out the styles, children, and computed layout
|
||||
* of the tree rooted at this node.
|
||||
*/
|
||||
public void print() {
|
||||
YogaNative.jni_YGNodePrintJNI(mNativePointer);
|
||||
}
|
||||
|
||||
/**
|
||||
* This method replaces the child at childIndex position with the newNode received by parameter.
|
||||
* This is different than calling removeChildAt and addChildAt because this method ONLY replaces
|
||||
|
@@ -66,15 +66,6 @@ static void jni_YGConfigSetUseWebDefaultsJNI(
|
||||
YGConfigSetUseWebDefaults(config, useWebDefaults);
|
||||
}
|
||||
|
||||
static void jni_YGConfigSetPrintTreeFlagJNI(
|
||||
JNIEnv* /*env*/,
|
||||
jobject /*obj*/,
|
||||
jlong nativePointer,
|
||||
jboolean enable) {
|
||||
const YGConfigRef config = _jlong2YGConfigRef(nativePointer);
|
||||
YGConfigSetPrintTreeFlag(config, enable);
|
||||
}
|
||||
|
||||
static void jni_YGConfigSetPointScaleFactorJNI(
|
||||
JNIEnv* /*env*/,
|
||||
jobject /*obj*/,
|
||||
@@ -690,18 +681,6 @@ static void jni_YGNodeSetAlwaysFormsContainingBlockJNI(
|
||||
_jlong2YGNodeRef(nativePointer), alwaysFormsContainingBlock);
|
||||
}
|
||||
|
||||
static void
|
||||
jni_YGNodePrintJNI(JNIEnv* /*env*/, jobject /*obj*/, jlong nativePointer) {
|
||||
#ifdef DEBUG
|
||||
const YGNodeRef node = _jlong2YGNodeRef(nativePointer);
|
||||
YGNodePrint(
|
||||
node,
|
||||
(YGPrintOptions)(YGPrintOptionsStyle | YGPrintOptionsLayout | YGPrintOptionsChildren));
|
||||
#else
|
||||
(void)nativePointer;
|
||||
#endif
|
||||
}
|
||||
|
||||
static jlong
|
||||
jni_YGNodeCloneJNI(JNIEnv* /*env*/, jobject /*obj*/, jlong nativePointer) {
|
||||
auto node = _jlong2YGNodeRef(nativePointer);
|
||||
@@ -744,9 +723,6 @@ static JNINativeMethod methods[] = {
|
||||
{"jni_YGConfigSetUseWebDefaultsJNI",
|
||||
"(JZ)V",
|
||||
(void*)jni_YGConfigSetUseWebDefaultsJNI},
|
||||
{"jni_YGConfigSetPrintTreeFlagJNI",
|
||||
"(JZ)V",
|
||||
(void*)jni_YGConfigSetPrintTreeFlagJNI},
|
||||
{"jni_YGConfigSetPointScaleFactorJNI",
|
||||
"(JF)V",
|
||||
(void*)jni_YGConfigSetPointScaleFactorJNI},
|
||||
@@ -970,7 +946,6 @@ static JNINativeMethod methods[] = {
|
||||
{"jni_YGNodeSetAlwaysFormsContainingBlockJNI",
|
||||
"(JZ)V",
|
||||
(void*)jni_YGNodeSetAlwaysFormsContainingBlockJNI},
|
||||
{"jni_YGNodePrintJNI", "(J)V", (void*)jni_YGNodePrintJNI},
|
||||
{"jni_YGNodeCloneJNI", "(J)J", (void*)jni_YGNodeCloneJNI},
|
||||
};
|
||||
|
||||
|
@@ -1,137 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
#include <stdarg.h>
|
||||
#include <yoga/Yoga.h>
|
||||
|
||||
#if DEBUG
|
||||
|
||||
namespace {
|
||||
char writeBuffer[4096];
|
||||
int _unmanagedLogger(
|
||||
const YGConfigConstRef /*config*/,
|
||||
const YGNodeConstRef /*node*/,
|
||||
YGLogLevel /*level*/,
|
||||
const char* format,
|
||||
va_list args) {
|
||||
return vsnprintf(
|
||||
writeBuffer + strlen(writeBuffer),
|
||||
sizeof(writeBuffer) - strlen(writeBuffer),
|
||||
format,
|
||||
args);
|
||||
}
|
||||
} // namespace
|
||||
|
||||
TEST(YogaTest, config_print_tree_enabled) {
|
||||
writeBuffer[0] = '\0';
|
||||
const YGConfigRef config = YGConfigNew();
|
||||
YGConfigSetPrintTreeFlag(config, true);
|
||||
YGConfigSetLogger(config, _unmanagedLogger);
|
||||
const YGNodeRef root = YGNodeNewWithConfig(config);
|
||||
const YGNodeRef child0 = YGNodeNewWithConfig(config);
|
||||
const YGNodeRef child1 = YGNodeNewWithConfig(config);
|
||||
YGNodeInsertChild(root, child0, 0);
|
||||
YGNodeInsertChild(root, child1, 1);
|
||||
YGNodeCalculateLayout(root, YGUnitUndefined, YGUnitUndefined, YGDirectionLTR);
|
||||
YGConfigSetLogger(config, NULL);
|
||||
YGNodeFreeRecursive(root);
|
||||
|
||||
const char* expected =
|
||||
"<div layout=\"width: 0; height: 0; top: 0; left: 0;\" style=\"\" >\n "
|
||||
"<div layout=\"width: 0; height: 0; top: 0; left: 0;\" style=\"\" "
|
||||
"></div>\n <div layout=\"width: 0; height: 0; top: 0; left: 0;\" "
|
||||
"style=\"\" ></div>\n</div>";
|
||||
ASSERT_STREQ(expected, writeBuffer);
|
||||
}
|
||||
|
||||
TEST(YogaTest, config_print_tree_disabled) {
|
||||
writeBuffer[0] = '\0';
|
||||
const YGConfigRef config = YGConfigNew();
|
||||
YGConfigSetPrintTreeFlag(config, false);
|
||||
YGConfigSetLogger(config, _unmanagedLogger);
|
||||
const YGNodeRef root = YGNodeNewWithConfig(config);
|
||||
const YGNodeRef child0 = YGNodeNewWithConfig(config);
|
||||
const YGNodeRef child1 = YGNodeNewWithConfig(config);
|
||||
YGNodeInsertChild(root, child0, 0);
|
||||
YGNodeInsertChild(root, child1, 1);
|
||||
YGNodeCalculateLayout(root, YGUnitUndefined, YGUnitUndefined, YGDirectionLTR);
|
||||
YGConfigSetLogger(config, NULL);
|
||||
YGNodeFreeRecursive(root);
|
||||
|
||||
const char* expected = "";
|
||||
ASSERT_STREQ(expected, writeBuffer);
|
||||
}
|
||||
|
||||
TEST(YogaTest, logger_default_node_should_print_no_style_info) {
|
||||
writeBuffer[0] = '\0';
|
||||
const YGConfigRef config = YGConfigNew();
|
||||
YGConfigSetLogger(config, _unmanagedLogger);
|
||||
const YGNodeRef root = YGNodeNewWithConfig(config);
|
||||
YGNodeCalculateLayout(root, YGUnitUndefined, YGUnitUndefined, YGDirectionLTR);
|
||||
YGNodePrint(
|
||||
root,
|
||||
(YGPrintOptions)(YGPrintOptionsLayout | YGPrintOptionsChildren | YGPrintOptionsStyle));
|
||||
YGConfigSetLogger(config, NULL);
|
||||
YGNodeFree(root);
|
||||
|
||||
const char* expected =
|
||||
"<div layout=\"width: 0; height: 0; top: 0; left: 0;\" style=\"\" "
|
||||
"></div>";
|
||||
ASSERT_STREQ(expected, writeBuffer);
|
||||
}
|
||||
|
||||
TEST(YogaTest, logger_node_with_percentage_absolute_position_and_margin) {
|
||||
writeBuffer[0] = '\0';
|
||||
const YGConfigRef config = YGConfigNew();
|
||||
YGConfigSetLogger(config, _unmanagedLogger);
|
||||
const YGNodeRef root = YGNodeNewWithConfig(config);
|
||||
YGNodeStyleSetPositionType(root, YGPositionTypeAbsolute);
|
||||
YGNodeStyleSetWidthPercent(root, 50);
|
||||
YGNodeStyleSetHeightPercent(root, 75);
|
||||
YGNodeStyleSetFlex(root, 1);
|
||||
YGNodeStyleSetMargin(root, YGEdgeRight, 10);
|
||||
YGNodeStyleSetMarginAuto(root, YGEdgeLeft);
|
||||
YGNodeCalculateLayout(root, YGUnitUndefined, YGUnitUndefined, YGDirectionLTR);
|
||||
YGNodePrint(
|
||||
root,
|
||||
(YGPrintOptions)(YGPrintOptionsLayout | YGPrintOptionsChildren | YGPrintOptionsStyle));
|
||||
YGConfigSetLogger(config, NULL);
|
||||
YGNodeFree(root);
|
||||
|
||||
const char* expected =
|
||||
"<div layout=\"width: 0; height: 0; top: 0; left: 0;\" style=\"flex: 1; "
|
||||
"margin-left: auto; margin-right: 10px; width: 50%; height: 75%; "
|
||||
"position: absolute; \" ></div>";
|
||||
ASSERT_STREQ(expected, writeBuffer);
|
||||
}
|
||||
|
||||
TEST(YogaTest, logger_node_with_children_should_print_indented) {
|
||||
writeBuffer[0] = '\0';
|
||||
const YGConfigRef config = YGConfigNew();
|
||||
YGConfigSetLogger(config, _unmanagedLogger);
|
||||
const YGNodeRef root = YGNodeNewWithConfig(config);
|
||||
const YGNodeRef child0 = YGNodeNewWithConfig(config);
|
||||
const YGNodeRef child1 = YGNodeNewWithConfig(config);
|
||||
YGNodeInsertChild(root, child0, 0);
|
||||
YGNodeInsertChild(root, child1, 1);
|
||||
YGNodeCalculateLayout(root, YGUnitUndefined, YGUnitUndefined, YGDirectionLTR);
|
||||
YGNodePrint(
|
||||
root,
|
||||
(YGPrintOptions)(YGPrintOptionsLayout | YGPrintOptionsChildren | YGPrintOptionsStyle));
|
||||
YGConfigSetLogger(config, NULL);
|
||||
YGNodeFreeRecursive(root);
|
||||
|
||||
const char* expected =
|
||||
"<div layout=\"width: 0; height: 0; top: 0; left: 0;\" style=\"\" >\n "
|
||||
"<div layout=\"width: 0; height: 0; top: 0; left: 0;\" style=\"\" "
|
||||
"></div>\n <div layout=\"width: 0; height: 0; top: 0; left: 0;\" "
|
||||
"style=\"\" ></div>\n</div>";
|
||||
ASSERT_STREQ(expected, writeBuffer);
|
||||
}
|
||||
|
||||
#endif
|
@@ -90,7 +90,3 @@ void YGConfigSetCloneNodeFunc(
|
||||
const YGCloneNodeFunc callback) {
|
||||
resolveRef(config)->setCloneNodeCallback(callback);
|
||||
}
|
||||
|
||||
void YGConfigSetPrintTreeFlag(YGConfigRef config, bool enabled) {
|
||||
resolveRef(config)->setShouldPrintTree(enabled);
|
||||
}
|
||||
|
@@ -155,9 +155,4 @@ YG_EXPORT void YGConfigSetCloneNodeFunc(
|
||||
YGConfigRef config,
|
||||
YGCloneNodeFunc callback);
|
||||
|
||||
/**
|
||||
* Allows printing the Yoga node tree during layout for debugging purposes.
|
||||
*/
|
||||
YG_EXPORT void YGConfigSetPrintTreeFlag(YGConfigRef config, bool enabled);
|
||||
|
||||
YG_EXTERN_C_END
|
||||
|
@@ -11,7 +11,6 @@
|
||||
#include <yoga/algorithm/CalculateLayout.h>
|
||||
#include <yoga/debug/AssertFatal.h>
|
||||
#include <yoga/debug/Log.h>
|
||||
#include <yoga/debug/NodeToString.h>
|
||||
#include <yoga/event/event.h>
|
||||
#include <yoga/node/Node.h>
|
||||
|
||||
@@ -330,12 +329,6 @@ void YGNodeSetAlwaysFormsContainingBlock(
|
||||
resolveRef(node)->setAlwaysFormsContainingBlock(alwaysFormsContainingBlock);
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
void YGNodePrint(const YGNodeConstRef node, const YGPrintOptions options) {
|
||||
yoga::print(resolveRef(node), scopedEnum(options));
|
||||
}
|
||||
#endif
|
||||
|
||||
// TODO: This leaks internal details to the public API. Remove after removing
|
||||
// ComponentKit usage of it.
|
||||
bool YGNodeCanUseCachedMeasurement(
|
||||
|
@@ -273,11 +273,6 @@ YG_EXPORT void YGNodeSetAlwaysFormsContainingBlock(
|
||||
YGNodeRef node,
|
||||
bool alwaysFormsContainingBlock);
|
||||
|
||||
/**
|
||||
* Print a node to log output.
|
||||
*/
|
||||
YG_EXPORT void YGNodePrint(YGNodeConstRef node, YGPrintOptions options);
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
|
Reference in New Issue
Block a user