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:
Sidharth Guglani
2019-08-08 07:13:35 -07:00
committed by Facebook Github Bot
parent d1e188341b
commit 90cded3819
2 changed files with 5 additions and 10 deletions

View File

@@ -1644,13 +1644,8 @@ static void YGNodeWithMeasureFuncSetMeasuredDimensions(
layoutContext);
layoutMarkerData.measureCallbacks += 1;
if (reason == LayoutPassReason::kMeasureChild) {
layoutMarkerData.measureChildMeasureCallbacks += 1;
} else if (reason == LayoutPassReason::kFlexMeasure) {
layoutMarkerData.flexMeasureMeasureCallbacks += 1;
} else if (reason == LayoutPassReason::kAbsMeasureChild) {
layoutMarkerData.absMeasureChildMeasureCallbacks += 1;
}
layoutMarkerData.measureCallbackReasonsCount[static_cast<size_t>(reason)] +=
1;
Event::publish<Event::MeasureCallbackEnd>(
node,

View File

@@ -8,6 +8,7 @@
#include <functional>
#include <vector>
#include <array>
#include <yoga/YGEnums.h>
struct YGConfig;
@@ -42,9 +43,8 @@ struct LayoutData {
int cachedLayouts;
int cachedMeasures;
int measureCallbacks;
int measureChildMeasureCallbacks;
int absMeasureChildMeasureCallbacks;
int flexMeasureMeasureCallbacks;
std::array<int, static_cast<uint8_t>(LayoutPassReason::COUNT)>
measureCallbackReasonsCount;
};
const char* LayoutPassReasonToString(const LayoutPassReason value);