use array for passing measure callback reasons count
Summary: Use an array for counting measure callbacks due to each reason. and this is now added as qpl metadata in Layout Calculation qpl event Reviewed By: davidaurelio Differential Revision: D16666786 fbshipit-source-id: ff85fba835148f06b9c5d90c4604e552a813777a
This commit is contained in:
committed by
Facebook Github Bot
parent
d1e188341b
commit
90cded3819
@@ -1644,13 +1644,8 @@ static void YGNodeWithMeasureFuncSetMeasuredDimensions(
|
|||||||
layoutContext);
|
layoutContext);
|
||||||
|
|
||||||
layoutMarkerData.measureCallbacks += 1;
|
layoutMarkerData.measureCallbacks += 1;
|
||||||
if (reason == LayoutPassReason::kMeasureChild) {
|
layoutMarkerData.measureCallbackReasonsCount[static_cast<size_t>(reason)] +=
|
||||||
layoutMarkerData.measureChildMeasureCallbacks += 1;
|
1;
|
||||||
} else if (reason == LayoutPassReason::kFlexMeasure) {
|
|
||||||
layoutMarkerData.flexMeasureMeasureCallbacks += 1;
|
|
||||||
} else if (reason == LayoutPassReason::kAbsMeasureChild) {
|
|
||||||
layoutMarkerData.absMeasureChildMeasureCallbacks += 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
Event::publish<Event::MeasureCallbackEnd>(
|
Event::publish<Event::MeasureCallbackEnd>(
|
||||||
node,
|
node,
|
||||||
|
@@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
#include <functional>
|
#include <functional>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
#include <array>
|
||||||
#include <yoga/YGEnums.h>
|
#include <yoga/YGEnums.h>
|
||||||
|
|
||||||
struct YGConfig;
|
struct YGConfig;
|
||||||
@@ -42,9 +43,8 @@ struct LayoutData {
|
|||||||
int cachedLayouts;
|
int cachedLayouts;
|
||||||
int cachedMeasures;
|
int cachedMeasures;
|
||||||
int measureCallbacks;
|
int measureCallbacks;
|
||||||
int measureChildMeasureCallbacks;
|
std::array<int, static_cast<uint8_t>(LayoutPassReason::COUNT)>
|
||||||
int absMeasureChildMeasureCallbacks;
|
measureCallbackReasonsCount;
|
||||||
int flexMeasureMeasureCallbacks;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const char* LayoutPassReasonToString(const LayoutPassReason value);
|
const char* LayoutPassReasonToString(const LayoutPassReason value);
|
||||||
|
Reference in New Issue
Block a user