Back out "UIManager.findNodeAtPoint now returns shadowNode instead of instanceHandle"

Summary:
Original commit changeset: bd2a1bcd26ab

changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D20196869

fbshipit-source-id: 53235dc3475d79f9e3545c9aa42171f23137be5a
This commit is contained in:
Samuel Susla 2020-03-03 04:19:11 -08:00 коммит произвёл Facebook Github Bot
Родитель 08dda02347
Коммит 58347677f9
2 изменённых файлов: 11 добавлений и 2 удалений

Просмотреть файл

@ -81,6 +81,8 @@ class EventEmitter {
private:
void toggleEventTargetOwnership_() const;
friend class UIManagerBinding;
mutable SharedEventTarget eventTarget_;
EventDispatcher::Weak eventDispatcher_;

Просмотреть файл

@ -268,8 +268,15 @@ jsi::Value UIManagerBinding::get(
arguments[3].getObject(runtime).getFunction(runtime);
auto targetNode =
uiManager->findNodeAtPoint(node, Point{locationX, locationY});
onSuccessFunction.call(runtime, valueFromShadowNode(runtime, targetNode));
auto &eventTarget = targetNode->getEventEmitter()->eventTarget_;
EventEmitter::DispatchMutex().lock();
eventTarget->retain(runtime);
auto instanceHandle = eventTarget->getInstanceHandle(runtime);
eventTarget->release(runtime);
EventEmitter::DispatchMutex().unlock();
onSuccessFunction.call(runtime, std::move(instanceHandle));
return jsi::Value::undefined();
});
}