mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Fabric: MountingCoordinator - the new way to ensure ordering of mount transaction
Summary: TBD. This thing fixes flickering during appearing of Fabric screens on iOS. Reviewed By: mdvacca Differential Revision: D15116079 fbshipit-source-id: 95ed0ba94667cad67fe4317025128d01b34f69c5
This commit is contained in:
committed by
Facebook Github Bot
parent
4803cab8c4
commit
0f2a09d1f6
@@ -353,12 +353,18 @@ local_ref<JMountItem::javaobject> createCreateMountItem(
|
||||
}
|
||||
|
||||
void Binding::schedulerDidFinishTransaction(
|
||||
MountingTransaction &&mountingTransaction) {
|
||||
MountingCoordinator::Shared const &mountingCoordinator) {
|
||||
SystraceSection s("FabricUIManager::schedulerDidFinishTransaction");
|
||||
|
||||
auto telemetry = mountingTransaction.getTelemetry();
|
||||
auto mutations = mountingTransaction.getMutations();
|
||||
auto surfaceId = mountingTransaction.getSurfaceId();
|
||||
auto mountingTransaction = mountingCoordinator->pullTransaction();
|
||||
|
||||
if (!mountingTransaction.has_value()) {
|
||||
return;
|
||||
}
|
||||
|
||||
auto telemetry = mountingTransaction->getTelemetry();
|
||||
auto surfaceId = mountingTransaction->getSurfaceId();
|
||||
auto &mutations = mountingTransaction->getMutations();
|
||||
|
||||
std::vector<local_ref<jobject>> queue;
|
||||
// Upper bound estimation of mount items to be delivered to Java side.
|
||||
|
||||
@@ -57,7 +57,7 @@ class Binding : public jni::HybridClass<Binding>, public SchedulerDelegate {
|
||||
void stopSurface(jint surfaceId);
|
||||
|
||||
void schedulerDidFinishTransaction(
|
||||
MountingTransaction &&mountingTransaction);
|
||||
MountingCoordinator::Shared const &mountingCoordinator);
|
||||
|
||||
void schedulerDidRequestPreliminaryViewAllocation(
|
||||
const SurfaceId surfaceId,
|
||||
|
||||
Reference in New Issue
Block a user