Implement standard interface for toggling experimental features
Summary: We want to start experimenting with changes to the library in a more controlled and easier to measure manner. This diff adds the basics of an experiment layer to csslayout. Reviewed By: gkassabli Differential Revision: D4174260 fbshipit-source-id: ad3667183810c02833fba9a1276f89286e848fcd
This commit is contained in:
committed by
Facebook Github Bot
parent
b99172d28b
commit
e6702e1168
@@ -2512,3 +2512,13 @@ void CSSLog(CSSLogLevel level, const char *format, ...) {
|
||||
gLogger(level, format, args);
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
static bool experimentalFeatures[CSSExperimentalFeatureCount];
|
||||
|
||||
void CSSLayoutSetExperimentalFeatureEnabled(CSSExperimentalFeature feature, bool enabled) {
|
||||
experimentalFeatures[feature] = enabled;
|
||||
}
|
||||
|
||||
bool CSSLayoutIsExperimentalFeatureEnabled(CSSExperimentalFeature feature) {
|
||||
return experimentalFeatures[feature];
|
||||
}
|
||||
|
@@ -123,6 +123,10 @@ typedef enum CSSLogLevel {
|
||||
CSSLogLevelVerbose,
|
||||
} CSSLogLevel;
|
||||
|
||||
typedef enum CSSExperimentalFeature {
|
||||
CSSExperimentalFeatureCount,
|
||||
} CSSExperimentalFeature;
|
||||
|
||||
typedef struct CSSNode *CSSNodeRef;
|
||||
typedef CSSSize (*CSSMeasureFunc)(CSSNodeRef node,
|
||||
float width,
|
||||
@@ -238,4 +242,7 @@ CSS_NODE_LAYOUT_PROPERTY(CSSDirection, Direction);
|
||||
WIN_EXPORT void CSSLayoutSetLogger(CSSLogger logger);
|
||||
WIN_EXPORT void CSSLog(CSSLogLevel level, const char *message, ...);
|
||||
|
||||
WIN_EXPORT void CSSLayoutSetExperimentalFeatureEnabled(CSSExperimentalFeature feature, bool enabled);
|
||||
WIN_EXPORT bool CSSLayoutIsExperimentalFeatureEnabled(CSSExperimentalFeature feature);
|
||||
|
||||
CSS_EXTERN_C_END
|
||||
|
Reference in New Issue
Block a user