From 90cded3819bb9849d0cfeaab05e811bfe6645c1c Mon Sep 17 00:00:00 2001 From: Sidharth Guglani Date: Thu, 8 Aug 2019 07:13:35 -0700 Subject: [PATCH] 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 --- yoga/Yoga.cpp | 9 ++------- yoga/event/event.h | 6 +++--- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/yoga/Yoga.cpp b/yoga/Yoga.cpp index 34629e91..1a374ab3 100644 --- a/yoga/Yoga.cpp +++ b/yoga/Yoga.cpp @@ -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(reason)] += + 1; Event::publish( node, diff --git a/yoga/event/event.h b/yoga/event/event.h index e27e53d3..39b07394 100644 --- a/yoga/event/event.h +++ b/yoga/event/event.h @@ -8,6 +8,7 @@ #include #include +#include #include struct YGConfig; @@ -42,9 +43,8 @@ struct LayoutData { int cachedLayouts; int cachedMeasures; int measureCallbacks; - int measureChildMeasureCallbacks; - int absMeasureChildMeasureCallbacks; - int flexMeasureMeasureCallbacks; + std::array(LayoutPassReason::COUNT)> + measureCallbackReasonsCount; }; const char* LayoutPassReasonToString(const LayoutPassReason value);