Pass reason for measure pass along with measurecallbackend event (#566)

Summary:
Pull Request resolved: https://github.com/facebook/litho/pull/566

Pull Request resolved: https://github.com/facebook/react-native/pull/25702

Pass reason for each measure callback to the flipper plugin

Reviewed By: davidaurelio

Differential Revision: D16221771

fbshipit-source-id: 2e72e1ebb3c7e633d189e7a7a81d655ac9531e51
This commit is contained in:
Sidharth Guglani
2019-07-18 05:17:52 -07:00
committed by Facebook Github Bot
parent 5e40e4b682
commit e6dfe04388
5 changed files with 98 additions and 19 deletions

View File

@@ -12,6 +12,27 @@
namespace facebook {
namespace yoga {
const char* LayoutPassToString(const LayoutPassReason value) {
switch (value) {
case kInitial:
return "initial";
case kMeasureChild:
return "measure";
case kAbsMeasureChild:
return "abs_measure";
case kFlex:
return "flex";
case kAbsLayout:
return "abs_layout";
case kStretch:
return "stretch";
case kMultilineStretch:
return "multiline_stretch";
default:
return "unknown";
}
}
namespace {
struct Node {

View File

@@ -32,6 +32,18 @@ struct LayoutData {
int measureCallbacks;
};
enum LayoutPassReason : int {
kInitial = 0,
kMeasureChild = 1,
kAbsMeasureChild = 2,
kFlex = 3,
kAbsLayout = 4,
kStretch = 5,
kMultilineStretch = 6
};
const char* LayoutPassToString(const LayoutPassReason value);
struct Event {
enum Type {
NodeAllocation,
@@ -114,6 +126,7 @@ struct Event::TypedData<Event::MeasureCallbackEnd> {
YGMeasureMode heightMeasureMode;
float measuredWidth;
float measuredHeight;
const LayoutPassReason reason;
};
template <>