mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Fabric: Introducing MountingTransaction
Summary: `MountingTransaction` encapsulates all artifacts of `ShadowTree` commit, particularly list of mutations and meta-data. We will rely on this heavily in the coming diffs. Reviewed By: JoshuaGross Differential Revision: D15021795 fbshipit-source-id: 811da7afd7b929a34a81aa66566193d46bbc34f8
This commit is contained in:
committed by
Facebook Github Bot
parent
c257a57e8e
commit
af0daaf583
@@ -329,11 +329,12 @@ local_ref<JMountItem::javaobject> createDeleteMountItem(
|
||||
}
|
||||
|
||||
void Binding::schedulerDidFinishTransaction(
|
||||
const Tag rootTag,
|
||||
const ShadowViewMutationList& mutations,
|
||||
const long commitStartTime,
|
||||
const long layoutTime) {
|
||||
MountingTransaction &&mountingTransaction) {
|
||||
SystraceSection s("FabricUIManager::schedulerDidFinishTransaction");
|
||||
|
||||
auto telemetry = mountingTransaction.getTelemetry();
|
||||
auto mutations = mountingTransaction.getMutations();
|
||||
|
||||
std::vector<local_ref<jobject>> queue;
|
||||
// Upper bound estimation of mount items to be delivered to Java side.
|
||||
int size = mutations.size() * 3 + 42;
|
||||
@@ -466,8 +467,8 @@ void Binding::schedulerDidFinishTransaction(
|
||||
scheduleMountItems(
|
||||
javaUIManager_,
|
||||
batch.get(),
|
||||
commitStartTime,
|
||||
layoutTime,
|
||||
telemetry.commitStartTime,
|
||||
telemetry.layoutTime,
|
||||
finishTransactionStartTime,
|
||||
finishTransactionEndTime);
|
||||
}
|
||||
|
||||
@@ -57,10 +57,7 @@ class Binding : public jni::HybridClass<Binding>, public SchedulerDelegate {
|
||||
void stopSurface(jint surfaceId);
|
||||
|
||||
void schedulerDidFinishTransaction(
|
||||
const Tag rootTag,
|
||||
const ShadowViewMutationList& mutations,
|
||||
const long commitStartTime,
|
||||
const long layoutTime);
|
||||
MountingTransaction &&mountingTransaction);
|
||||
|
||||
void schedulerDidRequestPreliminaryViewAllocation(
|
||||
const SurfaceId surfaceId,
|
||||
|
||||
Reference in New Issue
Block a user