mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Pass raw ShadowNode instead of shared_ptr
Summary: changelog: [internal] pass raw ShadowNode instead of shared_ptr. Ownership is not transferred, shared_ptr is misleading. Reviewed By: javache Differential Revision: D33917010 fbshipit-source-id: 4d9fdd4b4e0376149f1719ad160b957de4afdce3
This commit is contained in:
committed by
Facebook GitHub Bot
parent
6584304c10
commit
491c4231db
@@ -94,28 +94,27 @@ SharedShadowNode UIManager::createNode(
|
||||
}
|
||||
|
||||
SharedShadowNode UIManager::cloneNode(
|
||||
const ShadowNode::Shared &shadowNode,
|
||||
const SharedShadowNodeSharedList &children,
|
||||
const RawProps *rawProps) const {
|
||||
ShadowNode const &shadowNode,
|
||||
SharedShadowNodeSharedList const &children,
|
||||
RawProps const *rawProps) const {
|
||||
SystraceSection s("UIManager::cloneNode");
|
||||
|
||||
PropsParserContext propsParserContext{
|
||||
shadowNode->getFamily().getSurfaceId(), *contextContainer_.get()};
|
||||
shadowNode.getFamily().getSurfaceId(), *contextContainer_.get()};
|
||||
|
||||
auto &componentDescriptor = shadowNode->getComponentDescriptor();
|
||||
auto &componentDescriptor = shadowNode.getComponentDescriptor();
|
||||
auto clonedShadowNode = componentDescriptor.cloneShadowNode(
|
||||
*shadowNode,
|
||||
shadowNode,
|
||||
{
|
||||
/* .props = */
|
||||
rawProps ? componentDescriptor.cloneProps(
|
||||
propsParserContext, shadowNode->getProps(), *rawProps)
|
||||
propsParserContext, shadowNode.getProps(), *rawProps)
|
||||
: ShadowNodeFragment::propsPlaceholder(),
|
||||
/* .children = */ children,
|
||||
});
|
||||
|
||||
if (delegate_) {
|
||||
delegate_->uiManagerDidCloneShadowNode(
|
||||
*shadowNode.get(), *clonedShadowNode);
|
||||
delegate_->uiManagerDidCloneShadowNode(shadowNode, *clonedShadowNode);
|
||||
}
|
||||
|
||||
return clonedShadowNode;
|
||||
|
||||
@@ -127,9 +127,9 @@ class UIManager final : public ShadowTreeDelegate {
|
||||
SharedEventTarget eventTarget) const;
|
||||
|
||||
ShadowNode::Shared cloneNode(
|
||||
const ShadowNode::Shared &shadowNode,
|
||||
const SharedShadowNodeSharedList &children = nullptr,
|
||||
const RawProps *rawProps = nullptr) const;
|
||||
ShadowNode const &shadowNode,
|
||||
SharedShadowNodeSharedList const &children = nullptr,
|
||||
RawProps const *rawProps = nullptr) const;
|
||||
|
||||
void appendChild(
|
||||
const ShadowNode::Shared &parentShadowNode,
|
||||
|
||||
@@ -220,7 +220,8 @@ jsi::Value UIManagerBinding::get(
|
||||
size_t count) noexcept -> jsi::Value {
|
||||
return valueFromShadowNode(
|
||||
runtime,
|
||||
uiManager->cloneNode(shadowNodeFromValue(runtime, arguments[0])));
|
||||
uiManager->cloneNode(
|
||||
*shadowNodeFromValue(runtime, arguments[0])));
|
||||
});
|
||||
}
|
||||
|
||||
@@ -287,7 +288,7 @@ jsi::Value UIManagerBinding::get(
|
||||
return valueFromShadowNode(
|
||||
runtime,
|
||||
uiManager->cloneNode(
|
||||
shadowNodeFromValue(runtime, arguments[0]),
|
||||
*shadowNodeFromValue(runtime, arguments[0]),
|
||||
ShadowNode::emptySharedShadowNodeSharedList()));
|
||||
});
|
||||
}
|
||||
@@ -307,7 +308,7 @@ jsi::Value UIManagerBinding::get(
|
||||
return valueFromShadowNode(
|
||||
runtime,
|
||||
uiManager->cloneNode(
|
||||
shadowNodeFromValue(runtime, arguments[0]),
|
||||
*shadowNodeFromValue(runtime, arguments[0]),
|
||||
nullptr,
|
||||
&rawProps));
|
||||
});
|
||||
@@ -328,7 +329,7 @@ jsi::Value UIManagerBinding::get(
|
||||
return valueFromShadowNode(
|
||||
runtime,
|
||||
uiManager->cloneNode(
|
||||
shadowNodeFromValue(runtime, arguments[0]),
|
||||
*shadowNodeFromValue(runtime, arguments[0]),
|
||||
ShadowNode::emptySharedShadowNodeSharedList(),
|
||||
&rawProps));
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user