Files
react-native/ReactCommon/fabric/view/root/RootShadowNode.cpp
T
Valentin SherginandFacebook Github Bot 10c5368c37 Fabric: Fixed issue where root shadow node does not layout itself
Summary: Conceptually, it always must be node owner's responsibility, but for the root node, we have to make an exception because there is no another parent node and there is no another component which has access to YogaNode.

Reviewed By: fkgozali

Differential Revision: D7958251

fbshipit-source-id: 0bdaea87adbd323c758bc3c28f325be615aa90f3
2018-05-15 23:58:59 -07:00

30 lines
784 B
C++

/**
* Copyright (c) 2015-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#include "RootShadowNode.h"
#include "conversions.h"
namespace facebook {
namespace react {
ComponentName RootShadowNode::getComponentName() const {
return ComponentName("RootView");
}
void RootShadowNode::layout() {
ensureUnsealed();
layout(getProps()->layoutContext);
// This is the rare place where shadow node must layout (set `layoutMetrics`)
// itself because there is no a parent node which usually should do it.
YGNode *yogaNode = const_cast<YGNode *>(yogaNode_.get());
setLayoutMetrics(layoutMetricsFromYogaNode(*yogaNode));
}
} // namespace react
} // namespace facebook