From bc06bf570394f8ac11e3ebd4aefdbcf2a84be4f0 Mon Sep 17 00:00:00 2001 From: Sorin Cioban Date: Thu, 29 Oct 2026 13:37:01 +0000 Subject: [PATCH] Support coalescing keys in the shared renderer --- .../react/renderer/core/EventDispatcher.h | 4 +- .../react/renderer/core/EventEmitter.cpp | 27 ++- .../react/renderer/core/EventEmitter.h | 12 ++ .../react/renderer/core/EventQueue.cpp | 3 +- .../react/renderer/core/EventQueue.h | 3 +- .../react/renderer/core/RawEvent.cpp | 4 +- .../react/renderer/core/RawEvent.h | 7 +- .../core/tests/EventQueueProcessorTest.cpp | 168 ++++++++++++++++++ .../api-snapshots/ReactAndroidDebugCxx.api | 7 +- .../ReactAndroidFrameworksCxx.api | 7 +- .../api-snapshots/ReactAndroidNewarchCxx.api | 7 +- .../api-snapshots/ReactAndroidReleaseCxx.api | 7 +- .../api-snapshots/ReactAppleDebugCxx.api | 7 +- .../api-snapshots/ReactAppleFrameworksCxx.api | 7 +- .../api-snapshots/ReactAppleNewarchCxx.api | 7 +- .../api-snapshots/ReactAppleReleaseCxx.api | 7 +- .../api-snapshots/ReactCommonDebugCxx.api | 7 +- .../ReactCommonFrameworksCxx.api | 7 +- .../api-snapshots/ReactCommonNewarchCxx.api | 7 +- .../api-snapshots/ReactCommonReleaseCxx.api | 7 +- 20 files changed, 293 insertions(+), 19 deletions(-) diff --git a/packages/react-native/ReactCommon/react/renderer/core/EventDispatcher.h b/packages/react-native/ReactCommon/react/renderer/core/EventDispatcher.h index 12d651c42392..24e5dfa74070 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/EventDispatcher.h +++ b/packages/react-native/ReactCommon/react/renderer/core/EventDispatcher.h @@ -51,8 +51,8 @@ class EventDispatcher { /* * Dispatches a raw event with asynchronous batched priority. Before the - * dispatch we make sure that no other RawEvent of same type and same target - * is on the queue. + * dispatch we make sure that no other RawEvent of same type, same target, + * and same coalescing key is on the queue. */ void dispatchUniqueEvent(RawEvent &&rawEvent) const; diff --git a/packages/react-native/ReactCommon/react/renderer/core/EventEmitter.cpp b/packages/react-native/ReactCommon/react/renderer/core/EventEmitter.cpp index a65de91bf0c0..360c354c598b 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/EventEmitter.cpp +++ b/packages/react-native/ReactCommon/react/renderer/core/EventEmitter.cpp @@ -92,6 +92,18 @@ void EventEmitter::dispatchUniqueEvent( eventTimestamp); } +void EventEmitter::dispatchUniqueEvent( + std::string type, + folly::dynamic&& payload, + HighResTimeStamp eventTimestamp, + RawEvent::CoalescingKey coalescingKey) const { + dispatchUniqueEvent( + std::move(type), + DynamicEventPayload::create(std::move(payload)), + eventTimestamp, + coalescingKey); +} + void EventEmitter::dispatchEvent( std::string type, const ValueFactory& payloadFactory, @@ -181,6 +193,18 @@ void EventEmitter::dispatchUniqueEvent( std::string type, SharedEventPayload payload, HighResTimeStamp eventTimestamp) const { + dispatchUniqueEvent( + std::move(type), + std::move(payload), + eventTimestamp, + RawEvent::DefaultCoalescingKey); +} + +void EventEmitter::dispatchUniqueEvent( + std::string type, + SharedEventPayload payload, + HighResTimeStamp eventTimestamp, + RawEvent::CoalescingKey coalescingKey) const { TraceSection s("EventEmitter::dispatchUniqueEvent"); auto eventDispatcher = eventDispatcher_.lock(); @@ -203,7 +227,8 @@ void EventEmitter::dispatchUniqueEvent( std::move(shadowNodeFamily), RawEvent::Category::Continuous, true, - eventTimestamp)); + eventTimestamp, + coalescingKey)); } void EventEmitter::setEnabled(bool enabled) { diff --git a/packages/react-native/ReactCommon/react/renderer/core/EventEmitter.h b/packages/react-native/ReactCommon/react/renderer/core/EventEmitter.h index 619f1bc52cf1..cb95814baf65 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/EventEmitter.h +++ b/packages/react-native/ReactCommon/react/renderer/core/EventEmitter.h @@ -128,8 +128,20 @@ class EventEmitter { void dispatchUniqueEvent(std::string type, folly::dynamic &&payload, HighResTimeStamp eventTimestamp) const; + void dispatchUniqueEvent( + std::string type, + folly::dynamic &&payload, + HighResTimeStamp eventTimestamp, + RawEvent::CoalescingKey coalescingKey) const; + void dispatchUniqueEvent(std::string type, SharedEventPayload payload, HighResTimeStamp eventTimestamp) const; + void dispatchUniqueEvent( + std::string type, + SharedEventPayload payload, + HighResTimeStamp eventTimestamp, + RawEvent::CoalescingKey coalescingKey) const; + private: friend class UIManagerBinding; diff --git a/packages/react-native/ReactCommon/react/renderer/core/EventQueue.cpp b/packages/react-native/ReactCommon/react/renderer/core/EventQueue.cpp index 27b4ee16df91..ccebcf3a8884 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/EventQueue.cpp +++ b/packages/react-native/ReactCommon/react/renderer/core/EventQueue.cpp @@ -35,7 +35,8 @@ void EventQueue::enqueueEvent(RawEvent&& rawEvent) const { // for the same target. If the same target has event types A1, B1 // in the event queue and event A2 occurs. A1 has to stay in the // queue. - if (it->isUnique && it->type == rawEvent.type) { + if (it->isUnique && it->type == rawEvent.type && + it->coalescingKey == rawEvent.coalescingKey) { repeatedEvent = it; } diff --git a/packages/react-native/ReactCommon/react/renderer/core/EventQueue.h b/packages/react-native/ReactCommon/react/renderer/core/EventQueue.h index d67875ac5fd1..befd6dbc0c67 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/EventQueue.h +++ b/packages/react-native/ReactCommon/react/renderer/core/EventQueue.h @@ -50,7 +50,8 @@ class EventQueue { /* * Enqueues and (probably later) dispatches a given event. - * Deletes last RawEvent from the queue if it has the same type and target. + * Deletes last RawEvent from the queue if it has the same type, target, and + * coalescing key. * Can be called on any thread. */ void enqueueUniqueEvent(RawEvent &&rawEvent) const; diff --git a/packages/react-native/ReactCommon/react/renderer/core/RawEvent.cpp b/packages/react-native/ReactCommon/react/renderer/core/RawEvent.cpp index bced302982b1..33714e6c552f 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/RawEvent.cpp +++ b/packages/react-native/ReactCommon/react/renderer/core/RawEvent.cpp @@ -16,13 +16,15 @@ RawEvent::RawEvent( std::weak_ptr shadowNodeFamily, Category category, bool isUnique, - HighResTimeStamp eventStartTimeStamp) + HighResTimeStamp eventStartTimeStamp, + CoalescingKey coalescingKey) : type(std::move(type)), eventPayload(std::move(eventPayload)), eventTarget(std::move(eventTarget)), shadowNodeFamily(std::move(shadowNodeFamily)), category(category), isUnique(isUnique), + coalescingKey(coalescingKey), eventStartTimeStamp(eventStartTimeStamp) {} } // namespace facebook::react diff --git a/packages/react-native/ReactCommon/react/renderer/core/RawEvent.h b/packages/react-native/ReactCommon/react/renderer/core/RawEvent.h index 2b082a5c473c..6358d1ef90f5 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/RawEvent.h +++ b/packages/react-native/ReactCommon/react/renderer/core/RawEvent.h @@ -25,6 +25,9 @@ class ShadowNodeFamily; * Represents ready-to-dispatch event object. */ struct RawEvent { + using CoalescingKey = int; + static constexpr CoalescingKey DefaultCoalescingKey = 0; + /* * Defines category of a native platform event. This is used to deduce types * of events for Concurrent Mode. @@ -76,7 +79,8 @@ struct RawEvent { std::weak_ptr shadowNodeFamily, Category category = Category::Unspecified, bool isUnique = false, - HighResTimeStamp eventStartTimeStamp = HighResTimeStamp::now()); + HighResTimeStamp eventStartTimeStamp = HighResTimeStamp::now(), + CoalescingKey coalescingKey = DefaultCoalescingKey); std::string type; SharedEventPayload eventPayload; @@ -85,6 +89,7 @@ struct RawEvent { Category category; EventTag loggingTag{0}; bool isUnique{false}; + CoalescingKey coalescingKey{DefaultCoalescingKey}; // The timestamp for the event start time. This defaults to the current // time if not specified by the client (e.g., when MotionEvent was triggered diff --git a/packages/react-native/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp b/packages/react-native/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp index 346474533719..113e5cc750aa 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +++ b/packages/react-native/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp @@ -10,12 +10,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include @@ -65,6 +67,81 @@ class EventQueueProcessorTest : public testing::Test { ValueFactory dummyValueFactory_; }; +class NoopEventBeat final : public EventBeat { + public: + explicit NoopEventBeat(RuntimeScheduler& runtimeScheduler) + : EventBeat(std::make_shared(), runtimeScheduler) {} + + void request() const override {} + void requestSynchronous(Tag /*tag*/) const override {} +}; + +class TestEventQueue final : public EventQueue { + public: + using EventQueue::EventQueue; + + void flush(jsi::Runtime& runtime) const { + flushEvents(runtime); + } +}; + +class EventQueueCoalescingTest : public testing::Test { + protected: + void SetUp() override { + runtime_ = facebook::hermes::makeHermesRuntime(); + + RuntimeExecutor runtimeExecutor = + [](std::function&& /*callback*/) {}; + runtimeScheduler_ = std::make_unique(runtimeExecutor); + } + + std::unique_ptr createEventQueue() { + auto eventPipe = [this]( + jsi::Runtime& /*runtime*/, + const EventTarget* /*eventTarget*/, + const std::string& type, + ReactEventPriority /*priority*/, + const EventPayload& /*payload*/, + HighResTimeStamp eventTimestamp) { + eventTypes_.push_back(type); + eventTimestamps_.push_back(eventTimestamp); + }; + + auto dummyEventPipeConclusion = [](jsi::Runtime&) {}; + auto dummyStatePipe = [](const StateUpdate&) {}; + auto mockEventLogger = std::make_shared(); + + return std::make_unique( + EventQueueProcessor( + eventPipe, + dummyEventPipeConclusion, + dummyStatePipe, + mockEventLogger), + std::make_unique(*runtimeScheduler_)); + } + + RawEvent createRawEvent( + std::string type, + RawEvent::CoalescingKey coalescingKey, + HighResTimeStamp eventTimestamp) { + return RawEvent( + std::move(type), + std::make_shared(dummyValueFactory_), + nullptr, + {}, + RawEvent::Category::Continuous, + false, + eventTimestamp, + coalescingKey); + } + + std::unique_ptr runtime_; + std::unique_ptr runtimeScheduler_; + std::vector eventTypes_; + std::vector eventTimestamps_; + ValueFactory dummyValueFactory_; +}; + TEST_F(EventQueueProcessorTest, singleUnspecifiedEvent) { eventProcessor_->flushEvents( *runtime_, @@ -205,4 +282,95 @@ TEST_F(EventQueueProcessorTest, releasesEventTargetsWhenDispatchThrows) { EXPECT_TRUE(eventTarget->getInstanceHandle(*runtime_).isNull()); } +TEST_F(EventQueueCoalescingTest, uniqueEventsWithSameCoalescingKeyCoalesce) { + auto eventQueue = createEventQueue(); + auto firstTimestamp = HighResTimeStamp::fromDOMHighResTimeStamp(1); + auto secondTimestamp = HighResTimeStamp::fromDOMHighResTimeStamp(2); + + eventQueue->enqueueUniqueEvent( + createRawEvent("topChange", 3, firstTimestamp)); + eventQueue->enqueueUniqueEvent( + createRawEvent("topChange", 3, secondTimestamp)); + + eventQueue->flush(*runtime_); + + ASSERT_EQ(eventTypes_.size(), 1); + EXPECT_EQ(eventTypes_[0], "topChange"); + EXPECT_EQ(eventTimestamps_[0], secondTimestamp); +} + +TEST_F( + EventQueueCoalescingTest, + defaultCoalescingKeysPreserveExistingBehavior) { + auto eventQueue = createEventQueue(); + auto firstTimestamp = HighResTimeStamp::fromDOMHighResTimeStamp(1); + auto secondTimestamp = HighResTimeStamp::fromDOMHighResTimeStamp(2); + + eventQueue->enqueueUniqueEvent(createRawEvent( + "topChange", RawEvent::DefaultCoalescingKey, firstTimestamp)); + eventQueue->enqueueUniqueEvent(createRawEvent( + "topChange", RawEvent::DefaultCoalescingKey, secondTimestamp)); + eventQueue->flush(*runtime_); + + ASSERT_EQ(eventTimestamps_.size(), 1); + EXPECT_EQ(eventTimestamps_[0], secondTimestamp); +} + +TEST_F(EventQueueCoalescingTest, defaultCoalescingKeyDoesNotMatchCustomKey) { + auto eventQueue = createEventQueue(); + auto firstTimestamp = HighResTimeStamp::fromDOMHighResTimeStamp(1); + auto secondTimestamp = HighResTimeStamp::fromDOMHighResTimeStamp(2); + + eventQueue->enqueueUniqueEvent(createRawEvent( + "topChange", RawEvent::DefaultCoalescingKey, firstTimestamp)); + eventQueue->enqueueUniqueEvent( + createRawEvent("topChange", 3, secondTimestamp)); + eventQueue->flush(*runtime_); + + ASSERT_EQ(eventTimestamps_.size(), 2); + EXPECT_EQ(eventTimestamps_[0], firstTimestamp); + EXPECT_EQ(eventTimestamps_[1], secondTimestamp); +} + +TEST_F(EventQueueCoalescingTest, differentKeysPreserveEventOrder) { + auto eventQueue = createEventQueue(); + auto firstTimestamp = HighResTimeStamp::fromDOMHighResTimeStamp(1); + auto secondTimestamp = HighResTimeStamp::fromDOMHighResTimeStamp(2); + auto thirdTimestamp = HighResTimeStamp::fromDOMHighResTimeStamp(3); + + eventQueue->enqueueUniqueEvent( + createRawEvent("topChange", 3, firstTimestamp)); + eventQueue->enqueueUniqueEvent( + createRawEvent("topChange", 4, secondTimestamp)); + eventQueue->enqueueUniqueEvent( + createRawEvent("topChange", 3, thirdTimestamp)); + eventQueue->flush(*runtime_); + + ASSERT_EQ(eventTimestamps_.size(), 3); + EXPECT_EQ(eventTimestamps_[0], firstTimestamp); + EXPECT_EQ(eventTimestamps_[1], secondTimestamp); + EXPECT_EQ(eventTimestamps_[2], thirdTimestamp); +} + +TEST_F( + EventQueueCoalescingTest, + uniqueEventsWithDifferentCoalescingKeysDoNotCoalesce) { + auto eventQueue = createEventQueue(); + auto firstTimestamp = HighResTimeStamp::fromDOMHighResTimeStamp(1); + auto secondTimestamp = HighResTimeStamp::fromDOMHighResTimeStamp(2); + + eventQueue->enqueueUniqueEvent( + createRawEvent("topChange", 3, firstTimestamp)); + eventQueue->enqueueUniqueEvent( + createRawEvent("topChange", 4, secondTimestamp)); + + eventQueue->flush(*runtime_); + + ASSERT_EQ(eventTypes_.size(), 2); + EXPECT_EQ(eventTypes_[0], "topChange"); + EXPECT_EQ(eventTypes_[1], "topChange"); + EXPECT_EQ(eventTimestamps_[0], firstTimestamp); + EXPECT_EQ(eventTimestamps_[1], secondTimestamp); +} + } // namespace facebook::react diff --git a/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api b/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api index 97a6a1f652cc..d3876bce8a06 100644 --- a/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api @@ -1159,8 +1159,10 @@ class facebook::react::EventEmitter { public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::HighResTimeStamp eventTimestamp) const; public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload) const; public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp, facebook::react::RawEvent::CoalescingKey coalescingKey) const; public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload) const; public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp, facebook::react::RawEvent::CoalescingKey coalescingKey) const; public void setEnabled(bool enabled); public void setShadowNodeFamily(std::weak_ptr shadowNodeFamily); } @@ -3512,15 +3514,18 @@ struct facebook::react::RadialGradientSize::Dimensions { } struct facebook::react::RawEvent { - public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now()); + public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now(), facebook::react::RawEvent::CoalescingKey coalescingKey = facebook::react::RawEvent::DefaultCoalescingKey); public bool isUnique; public facebook::react::EventTag loggingTag; public facebook::react::HighResTimeStamp eventStartTimeStamp; public facebook::react::RawEvent::Category category; + public facebook::react::RawEvent::CoalescingKey coalescingKey; public facebook::react::SharedEventPayload eventPayload; public facebook::react::SharedEventTarget eventTarget; + public static constexpr facebook::react::RawEvent::CoalescingKey DefaultCoalescingKey; public std::string type; public std::weak_ptr shadowNodeFamily; + public using CoalescingKey = int; } enum facebook::react::RawEvent::Category { diff --git a/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api b/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api index e793d6f7de2c..b976b5f0a8ba 100644 --- a/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api @@ -1866,8 +1866,10 @@ class facebook::react::EventEmitter { public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::HighResTimeStamp eventTimestamp) const; public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload) const; public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp, facebook::react::RawEvent::CoalescingKey coalescingKey) const; public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload) const; public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp, facebook::react::RawEvent::CoalescingKey coalescingKey) const; public void setEnabled(bool enabled); public void setShadowNodeFamily(std::weak_ptr shadowNodeFamily); } @@ -6432,15 +6434,18 @@ struct facebook::react::RadialGradientSize::Dimensions { } struct facebook::react::RawEvent { - public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now()); + public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now(), facebook::react::RawEvent::CoalescingKey coalescingKey = facebook::react::RawEvent::DefaultCoalescingKey); public bool isUnique; public facebook::react::EventTag loggingTag; public facebook::react::HighResTimeStamp eventStartTimeStamp; public facebook::react::RawEvent::Category category; + public facebook::react::RawEvent::CoalescingKey coalescingKey; public facebook::react::SharedEventPayload eventPayload; public facebook::react::SharedEventTarget eventTarget; + public static constexpr facebook::react::RawEvent::CoalescingKey DefaultCoalescingKey; public std::string type; public std::weak_ptr shadowNodeFamily; + public using CoalescingKey = int; } enum facebook::react::RawEvent::Category { diff --git a/scripts/cxx-api/api-snapshots/ReactAndroidNewarchCxx.api b/scripts/cxx-api/api-snapshots/ReactAndroidNewarchCxx.api index 05dc03891252..6298edf34a8d 100644 --- a/scripts/cxx-api/api-snapshots/ReactAndroidNewarchCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAndroidNewarchCxx.api @@ -1159,8 +1159,10 @@ class facebook::react::EventEmitter { public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::HighResTimeStamp eventTimestamp) const; public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload) const; public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp, facebook::react::RawEvent::CoalescingKey coalescingKey) const; public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload) const; public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp, facebook::react::RawEvent::CoalescingKey coalescingKey) const; public void setEnabled(bool enabled); public void setShadowNodeFamily(std::weak_ptr shadowNodeFamily); } @@ -3505,15 +3507,18 @@ struct facebook::react::RadialGradientSize::Dimensions { } struct facebook::react::RawEvent { - public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now()); + public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now(), facebook::react::RawEvent::CoalescingKey coalescingKey = facebook::react::RawEvent::DefaultCoalescingKey); public bool isUnique; public facebook::react::EventTag loggingTag; public facebook::react::HighResTimeStamp eventStartTimeStamp; public facebook::react::RawEvent::Category category; + public facebook::react::RawEvent::CoalescingKey coalescingKey; public facebook::react::SharedEventPayload eventPayload; public facebook::react::SharedEventTarget eventTarget; + public static constexpr facebook::react::RawEvent::CoalescingKey DefaultCoalescingKey; public std::string type; public std::weak_ptr shadowNodeFamily; + public using CoalescingKey = int; } enum facebook::react::RawEvent::Category { diff --git a/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api b/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api index 05dc03891252..6298edf34a8d 100644 --- a/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api @@ -1159,8 +1159,10 @@ class facebook::react::EventEmitter { public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::HighResTimeStamp eventTimestamp) const; public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload) const; public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp, facebook::react::RawEvent::CoalescingKey coalescingKey) const; public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload) const; public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp, facebook::react::RawEvent::CoalescingKey coalescingKey) const; public void setEnabled(bool enabled); public void setShadowNodeFamily(std::weak_ptr shadowNodeFamily); } @@ -3505,15 +3507,18 @@ struct facebook::react::RadialGradientSize::Dimensions { } struct facebook::react::RawEvent { - public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now()); + public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now(), facebook::react::RawEvent::CoalescingKey coalescingKey = facebook::react::RawEvent::DefaultCoalescingKey); public bool isUnique; public facebook::react::EventTag loggingTag; public facebook::react::HighResTimeStamp eventStartTimeStamp; public facebook::react::RawEvent::Category category; + public facebook::react::RawEvent::CoalescingKey coalescingKey; public facebook::react::SharedEventPayload eventPayload; public facebook::react::SharedEventTarget eventTarget; + public static constexpr facebook::react::RawEvent::CoalescingKey DefaultCoalescingKey; public std::string type; public std::weak_ptr shadowNodeFamily; + public using CoalescingKey = int; } enum facebook::react::RawEvent::Category { diff --git a/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api index cb68d6c58bd7..fcc72e30d4f8 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api @@ -3678,8 +3678,10 @@ class facebook::react::EventEmitter { public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::HighResTimeStamp eventTimestamp) const; public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload) const; public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp, facebook::react::RawEvent::CoalescingKey coalescingKey) const; public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload) const; public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp, facebook::react::RawEvent::CoalescingKey coalescingKey) const; public void setEnabled(bool enabled); public void setShadowNodeFamily(std::weak_ptr shadowNodeFamily); } @@ -5507,15 +5509,18 @@ struct facebook::react::RadialGradientSize::Dimensions { } struct facebook::react::RawEvent { - public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now()); + public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now(), facebook::react::RawEvent::CoalescingKey coalescingKey = facebook::react::RawEvent::DefaultCoalescingKey); public bool isUnique; public facebook::react::EventTag loggingTag; public facebook::react::HighResTimeStamp eventStartTimeStamp; public facebook::react::RawEvent::Category category; + public facebook::react::RawEvent::CoalescingKey coalescingKey; public facebook::react::SharedEventPayload eventPayload; public facebook::react::SharedEventTarget eventTarget; + public static constexpr facebook::react::RawEvent::CoalescingKey DefaultCoalescingKey; public std::string type; public std::weak_ptr shadowNodeFamily; + public using CoalescingKey = int; } enum facebook::react::RawEvent::Category { diff --git a/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api index b05f7665f7da..38c6be83dca4 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api @@ -4347,8 +4347,10 @@ class facebook::react::EventEmitter { public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::HighResTimeStamp eventTimestamp) const; public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload) const; public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp, facebook::react::RawEvent::CoalescingKey coalescingKey) const; public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload) const; public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp, facebook::react::RawEvent::CoalescingKey coalescingKey) const; public void setEnabled(bool enabled); public void setShadowNodeFamily(std::weak_ptr shadowNodeFamily); } @@ -8442,15 +8444,18 @@ struct facebook::react::RadialGradientSize::Dimensions { } struct facebook::react::RawEvent { - public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now()); + public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now(), facebook::react::RawEvent::CoalescingKey coalescingKey = facebook::react::RawEvent::DefaultCoalescingKey); public bool isUnique; public facebook::react::EventTag loggingTag; public facebook::react::HighResTimeStamp eventStartTimeStamp; public facebook::react::RawEvent::Category category; + public facebook::react::RawEvent::CoalescingKey coalescingKey; public facebook::react::SharedEventPayload eventPayload; public facebook::react::SharedEventTarget eventTarget; + public static constexpr facebook::react::RawEvent::CoalescingKey DefaultCoalescingKey; public std::string type; public std::weak_ptr shadowNodeFamily; + public using CoalescingKey = int; } enum facebook::react::RawEvent::Category { diff --git a/scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api index 497a3a43a3ee..cf41564d3db5 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api @@ -3671,8 +3671,10 @@ class facebook::react::EventEmitter { public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::HighResTimeStamp eventTimestamp) const; public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload) const; public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp, facebook::react::RawEvent::CoalescingKey coalescingKey) const; public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload) const; public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp, facebook::react::RawEvent::CoalescingKey coalescingKey) const; public void setEnabled(bool enabled); public void setShadowNodeFamily(std::weak_ptr shadowNodeFamily); } @@ -5493,15 +5495,18 @@ struct facebook::react::RadialGradientSize::Dimensions { } struct facebook::react::RawEvent { - public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now()); + public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now(), facebook::react::RawEvent::CoalescingKey coalescingKey = facebook::react::RawEvent::DefaultCoalescingKey); public bool isUnique; public facebook::react::EventTag loggingTag; public facebook::react::HighResTimeStamp eventStartTimeStamp; public facebook::react::RawEvent::Category category; + public facebook::react::RawEvent::CoalescingKey coalescingKey; public facebook::react::SharedEventPayload eventPayload; public facebook::react::SharedEventTarget eventTarget; + public static constexpr facebook::react::RawEvent::CoalescingKey DefaultCoalescingKey; public std::string type; public std::weak_ptr shadowNodeFamily; + public using CoalescingKey = int; } enum facebook::react::RawEvent::Category { diff --git a/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api index 4f7774be13cd..b9fb57277c18 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api @@ -3678,8 +3678,10 @@ class facebook::react::EventEmitter { public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::HighResTimeStamp eventTimestamp) const; public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload) const; public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp, facebook::react::RawEvent::CoalescingKey coalescingKey) const; public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload) const; public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp, facebook::react::RawEvent::CoalescingKey coalescingKey) const; public void setEnabled(bool enabled); public void setShadowNodeFamily(std::weak_ptr shadowNodeFamily); } @@ -5500,15 +5502,18 @@ struct facebook::react::RadialGradientSize::Dimensions { } struct facebook::react::RawEvent { - public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now()); + public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now(), facebook::react::RawEvent::CoalescingKey coalescingKey = facebook::react::RawEvent::DefaultCoalescingKey); public bool isUnique; public facebook::react::EventTag loggingTag; public facebook::react::HighResTimeStamp eventStartTimeStamp; public facebook::react::RawEvent::Category category; + public facebook::react::RawEvent::CoalescingKey coalescingKey; public facebook::react::SharedEventPayload eventPayload; public facebook::react::SharedEventTarget eventTarget; + public static constexpr facebook::react::RawEvent::CoalescingKey DefaultCoalescingKey; public std::string type; public std::weak_ptr shadowNodeFamily; + public using CoalescingKey = int; } enum facebook::react::RawEvent::Category { diff --git a/scripts/cxx-api/api-snapshots/ReactCommonDebugCxx.api b/scripts/cxx-api/api-snapshots/ReactCommonDebugCxx.api index 507e71d72698..05e3e6019460 100644 --- a/scripts/cxx-api/api-snapshots/ReactCommonDebugCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactCommonDebugCxx.api @@ -553,8 +553,10 @@ class facebook::react::EventEmitter { public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::HighResTimeStamp eventTimestamp) const; public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload) const; public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp, facebook::react::RawEvent::CoalescingKey coalescingKey) const; public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload) const; public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp, facebook::react::RawEvent::CoalescingKey coalescingKey) const; public void setEnabled(bool enabled); public void setShadowNodeFamily(std::weak_ptr shadowNodeFamily); } @@ -1946,15 +1948,18 @@ struct facebook::react::RadialGradientSize::Dimensions { } struct facebook::react::RawEvent { - public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now()); + public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now(), facebook::react::RawEvent::CoalescingKey coalescingKey = facebook::react::RawEvent::DefaultCoalescingKey); public bool isUnique; public facebook::react::EventTag loggingTag; public facebook::react::HighResTimeStamp eventStartTimeStamp; public facebook::react::RawEvent::Category category; + public facebook::react::RawEvent::CoalescingKey coalescingKey; public facebook::react::SharedEventPayload eventPayload; public facebook::react::SharedEventTarget eventTarget; + public static constexpr facebook::react::RawEvent::CoalescingKey DefaultCoalescingKey; public std::string type; public std::weak_ptr shadowNodeFamily; + public using CoalescingKey = int; } enum facebook::react::RawEvent::Category { diff --git a/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api b/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api index 2772d8e63b9e..3463f6378ae6 100644 --- a/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api @@ -1113,8 +1113,10 @@ class facebook::react::EventEmitter { public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::HighResTimeStamp eventTimestamp) const; public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload) const; public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp, facebook::react::RawEvent::CoalescingKey coalescingKey) const; public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload) const; public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp, facebook::react::RawEvent::CoalescingKey coalescingKey) const; public void setEnabled(bool enabled); public void setShadowNodeFamily(std::weak_ptr shadowNodeFamily); } @@ -4615,15 +4617,18 @@ struct facebook::react::RadialGradientSize::Dimensions { } struct facebook::react::RawEvent { - public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now()); + public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now(), facebook::react::RawEvent::CoalescingKey coalescingKey = facebook::react::RawEvent::DefaultCoalescingKey); public bool isUnique; public facebook::react::EventTag loggingTag; public facebook::react::HighResTimeStamp eventStartTimeStamp; public facebook::react::RawEvent::Category category; + public facebook::react::RawEvent::CoalescingKey coalescingKey; public facebook::react::SharedEventPayload eventPayload; public facebook::react::SharedEventTarget eventTarget; + public static constexpr facebook::react::RawEvent::CoalescingKey DefaultCoalescingKey; public std::string type; public std::weak_ptr shadowNodeFamily; + public using CoalescingKey = int; } enum facebook::react::RawEvent::Category { diff --git a/scripts/cxx-api/api-snapshots/ReactCommonNewarchCxx.api b/scripts/cxx-api/api-snapshots/ReactCommonNewarchCxx.api index 004abd9081df..a9dff7e39876 100644 --- a/scripts/cxx-api/api-snapshots/ReactCommonNewarchCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactCommonNewarchCxx.api @@ -553,8 +553,10 @@ class facebook::react::EventEmitter { public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::HighResTimeStamp eventTimestamp) const; public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload) const; public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp, facebook::react::RawEvent::CoalescingKey coalescingKey) const; public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload) const; public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp, facebook::react::RawEvent::CoalescingKey coalescingKey) const; public void setEnabled(bool enabled); public void setShadowNodeFamily(std::weak_ptr shadowNodeFamily); } @@ -1939,15 +1941,18 @@ struct facebook::react::RadialGradientSize::Dimensions { } struct facebook::react::RawEvent { - public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now()); + public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now(), facebook::react::RawEvent::CoalescingKey coalescingKey = facebook::react::RawEvent::DefaultCoalescingKey); public bool isUnique; public facebook::react::EventTag loggingTag; public facebook::react::HighResTimeStamp eventStartTimeStamp; public facebook::react::RawEvent::Category category; + public facebook::react::RawEvent::CoalescingKey coalescingKey; public facebook::react::SharedEventPayload eventPayload; public facebook::react::SharedEventTarget eventTarget; + public static constexpr facebook::react::RawEvent::CoalescingKey DefaultCoalescingKey; public std::string type; public std::weak_ptr shadowNodeFamily; + public using CoalescingKey = int; } enum facebook::react::RawEvent::Category { diff --git a/scripts/cxx-api/api-snapshots/ReactCommonReleaseCxx.api b/scripts/cxx-api/api-snapshots/ReactCommonReleaseCxx.api index 004abd9081df..a9dff7e39876 100644 --- a/scripts/cxx-api/api-snapshots/ReactCommonReleaseCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactCommonReleaseCxx.api @@ -553,8 +553,10 @@ class facebook::react::EventEmitter { public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::HighResTimeStamp eventTimestamp) const; public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload) const; public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp, facebook::react::RawEvent::CoalescingKey coalescingKey) const; public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload) const; public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp, facebook::react::RawEvent::CoalescingKey coalescingKey) const; public void setEnabled(bool enabled); public void setShadowNodeFamily(std::weak_ptr shadowNodeFamily); } @@ -1939,15 +1941,18 @@ struct facebook::react::RadialGradientSize::Dimensions { } struct facebook::react::RawEvent { - public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now()); + public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now(), facebook::react::RawEvent::CoalescingKey coalescingKey = facebook::react::RawEvent::DefaultCoalescingKey); public bool isUnique; public facebook::react::EventTag loggingTag; public facebook::react::HighResTimeStamp eventStartTimeStamp; public facebook::react::RawEvent::Category category; + public facebook::react::RawEvent::CoalescingKey coalescingKey; public facebook::react::SharedEventPayload eventPayload; public facebook::react::SharedEventTarget eventTarget; + public static constexpr facebook::react::RawEvent::CoalescingKey DefaultCoalescingKey; public std::string type; public std::weak_ptr shadowNodeFamily; + public using CoalescingKey = int; } enum facebook::react::RawEvent::Category {