From 58eec620bd67df3bf37422ca8c6565f53ce76b47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dawid=20Ma=C5=82ecki?= Date: Fri, 9 Oct 2026 01:40:27 -0700 Subject: [PATCH 1/6] Make TextInput descriptors and prop conversion helpers private Summary: Lower the following `react/renderer/components/textinput` headers from "for frameworks" to private: Platform component descriptors: - Android `androidtextinput/AndroidTextInputComponentDescriptor.h` - iOS and macOS `iostextinput/TextInputComponentDescriptor.h` All three classes are `final`, so they cannot be extended, and they are registered only by React Native's own platform glue (the Android core components registry and the iOS TextInput component view). The Android descriptor is additionally coupled to React Native's Java `FabricUIManager` (it reads theme padding over JNI in `getInitialState`). Prop conversion helpers: - `baseConversions.h` (conversions for the shared text input enums) - iOS and macOS `iostextinput/propsConversions.h` (iOS/macOS text input trait parsers) These are only included by the module's own props sources (`BaseTextInputProps.cpp` and the platform `TextInputProps.cpp` / `AndroidTextInputProps.cpp`). No header includes any of them. The TextInput shadow nodes, props, state and event emitters stay "for frameworks", since third-party text input libraries build on them directly. The iOS/macOS `conversions.h` also stays "for frameworks", as the iOS/macOS `TextInputProps.h` includes it. Changelog: [Internal] Differential Revision: D123643375 --- .../react/renderer/components/textinput/baseConversions.h | 2 +- .../AndroidTextInputComponentDescriptor.h | 2 +- .../iostextinput/TextInputComponentDescriptor.h | 2 +- .../renderer/components/iostextinput/propsConversions.h | 2 +- .../cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api | 8 -------- scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api | 8 -------- .../cxx-api/api-snapshots/ReactCommonFrameworksCxx.api | 2 -- 7 files changed, 4 insertions(+), 22 deletions(-) diff --git a/packages/react-native/ReactCommon/react/renderer/components/textinput/baseConversions.h b/packages/react-native/ReactCommon/react/renderer/components/textinput/baseConversions.h index f203598b227a..f5b61363a5bc 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/textinput/baseConversions.h +++ b/packages/react-native/ReactCommon/react/renderer/components/textinput/baseConversions.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include #include diff --git a/packages/react-native/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h b/packages/react-native/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h index 538c5f03bfbf..5c08a1bf6787 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +++ b/packages/react-native/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include "AndroidTextInputShadowNode.h" #include "AndroidTextInputState.h" diff --git a/packages/react-native/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputComponentDescriptor.h b/packages/react-native/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputComponentDescriptor.h index a204398861c4..a828e8bef109 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputComponentDescriptor.h +++ b/packages/react-native/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputComponentDescriptor.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include #include diff --git a/packages/react-native/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/propsConversions.h b/packages/react-native/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/propsConversions.h index 51e668b46f26..59150dc471eb 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/propsConversions.h +++ b/packages/react-native/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/propsConversions.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include #include diff --git a/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api b/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api index c43062b40357..19dc16b3f84d 100644 --- a/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api @@ -764,7 +764,6 @@ folly::dynamic facebook::react::toDynamic(const facebook::react::FilterFunction& folly::dynamic facebook::react::toDynamic(const facebook::react::ImageSource& imageSource); folly::dynamic facebook::react::toDynamic(const facebook::react::Point& point); folly::dynamic facebook::react::toDynamic(const facebook::react::SharedColor& sharedColor); -folly::dynamic facebook::react::toDynamic(const facebook::react::SubmitBehavior& value); folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); @@ -937,7 +936,6 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, c void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LineBreakMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Point& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Size& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::SubmitBehavior& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextAlignmentVertical& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextWidthMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ValueUnit& result); @@ -1159,12 +1157,6 @@ class facebook::react::AndroidSwitchProps : public facebook::react::HostPlatform public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::AndroidTextInputComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; - public AndroidTextInputComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const override; -} - class facebook::react::AndroidTextInputEventEmitter : public facebook::react::BaseViewEventEmitter { } diff --git a/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api index a3bfd7f91a8a..96b9577627e2 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api @@ -3570,7 +3570,6 @@ float facebook::react::yogaFloatFromFloat(facebook::react::Float value); folly::dynamic facebook::react::convertIdToFollyDynamic(id json); folly::dynamic facebook::react::diffDynamicProps(const folly::dynamic& oldProps, const folly::dynamic& newProps); folly::dynamic facebook::react::mergeDynamicProps(const folly::dynamic& source, const folly::dynamic& patch, facebook::react::NullValueStrategy nullValueStrategy); -folly::dynamic facebook::react::toDynamic(const facebook::react::SubmitBehavior& value); id facebook::react::convertFollyDynamicToId(const folly::dynamic& dyn); int facebook::react::toInt(const facebook::react::DisplayType& displayType); int facebook::react::toInt(const facebook::react::LayoutDirection& layoutDirection); @@ -3708,7 +3707,6 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext& co void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewKeyboardDismissMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewMaintainVisibleContentPosition& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewSnapToAlignment& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Selection& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::SharedColor& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextAlignment& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextBreakStrategy& result); @@ -3740,7 +3738,6 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, c void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LineBreakMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Point& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Size& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::SubmitBehavior& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextAlignmentVertical& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextWidthMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ValueUnit& result); @@ -6188,11 +6185,6 @@ class facebook::react::TextAttributes : public facebook::react::DebugStringConve public void apply(facebook::react::TextAttributes textAttributes); } -class facebook::react::TextInputComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; - public TextInputComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); -} - class facebook::react::TextInputEventEmitter : public facebook::react::BaseViewEventEmitter { public void onBlur(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; public void onChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; diff --git a/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api b/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api index cb763baece52..566b26d18cbe 100644 --- a/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api @@ -347,7 +347,6 @@ facebook::yoga::FloatOptional facebook::react::yogaOptionalFloatFromFloat(Float float facebook::react::yogaFloatFromFloat(Float value); folly::dynamic facebook::react::diffDynamicProps(const folly::dynamic& oldProps, const folly::dynamic& newProps); folly::dynamic facebook::react::mergeDynamicProps(const folly::dynamic& source, const folly::dynamic& patch, facebook::react::NullValueStrategy nullValueStrategy); -folly::dynamic facebook::react::toDynamic(const facebook::react::SubmitBehavior& value); int facebook::react::toInt(const facebook::react::DisplayType& displayType); int facebook::react::toInt(const facebook::react::LayoutDirection& layoutDirection); size_t facebook::react::attributedStringFragmentHashDisplayWise(const facebook::react::AttributedString::Fragment& fragment); @@ -503,7 +502,6 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, c void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LineBreakMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Point& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Size& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::SubmitBehavior& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextAlignmentVertical& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextWidthMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ValueUnit& result); From b80fe5f8870e16c56a29782e73ea8f35cee24351 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dawid=20Ma=C5=82ecki?= Date: Fri, 9 Oct 2026 01:40:27 -0700 Subject: [PATCH 2/6] Make select jsinspector implementation headers private Summary: Mark the following `jsinspector-modern` headers as private instead of for-frameworks. All of them are implementation details of the inspector, and no for-frameworks header includes them: - `ConsoleTask`, `ConsoleTaskContext` and `ConsoleTaskOrchestrator` implement `console.createTask()`: the task object, the context that captures the stack trace when a task is created, and the singleton that tracks which task is currently running. They are only used by the inspector's console sources, a console test, and `PerformanceEntryReporter.cpp`, which reads the current task from the orchestrator. - `EmulationAgent` handles the CDP `Emulation` domain. It is only used by `EmulationAgent.cpp` and `HostAgent.cpp`. - `FallbackRuntimeAgentDelegate` answers CDP requests for a JavaScript runtime that does not support debugging. It is only used by `FallbackRuntimeAgentDelegate.cpp` and `FallbackRuntimeTargetDelegate.cpp`. `FallbackRuntimeTargetDelegate.h`, which creates it, stays for-frameworks. - `InspectorPackagerConnectionImpl.h` defines `InspectorPackagerConnection::Impl`, the hidden implementation of the inspector-proxy protocol. `InspectorPackagerConnection.h` only forward-declares it, and it is only used by `InspectorPackagerConnection.cpp`. `InspectorPackagerConnection.h` and `WebSocketInterfaces.h` stay for-frameworks, because each platform implements `InspectorPackagerConnectionDelegate`. - `RuntimeTargetGlobalStateObserver` installs a JavaScript global that reports a boolean state, such as whether a debugger session is active, and notifies its subscribers when the state changes. `RuntimeTargetTracingStateObserver` uses it to report whether tracing is active. Both are only used by the `RuntimeTarget` sources and their own sources. - `Utf8.h` provides `truncateToValidUTF8`, which trims a byte buffer so it does not end in the middle of a UTF-8 code point when `IO.read` slices a network resource. It is only used by `NetworkIOAgent.cpp` and its own unit test. - `ExecutionContextManager` allocates execution context IDs. It is only created by `HostTarget.cpp` and used by `InstanceTarget.cpp`. `HostTarget.h` and `InstanceTarget.h` only hold it through `std::shared_ptr`, so they now forward-declare it instead of including the header, and the two sources include it directly. React Native's own targets define `RN_BUILDING`, so the private guard does not affect them. Changelog: [Internal] Differential Revision: D123009197 --- .../jsinspector-modern/ConsoleTask.h | 2 +- .../jsinspector-modern/ConsoleTaskContext.h | 2 +- .../ConsoleTaskOrchestrator.h | 2 +- .../jsinspector-modern/EmulationAgent.h | 2 +- .../ExecutionContextManager.h | 2 +- .../FallbackRuntimeAgentDelegate.h | 2 +- .../jsinspector-modern/HostTarget.cpp | 1 + .../jsinspector-modern/HostTarget.h | 2 +- .../InspectorPackagerConnectionImpl.h | 2 +- .../jsinspector-modern/InstanceTarget.cpp | 1 + .../jsinspector-modern/InstanceTarget.h | 2 +- .../RuntimeTargetGlobalStateObserver.h | 2 +- .../RuntimeTargetTracingStateObserver.h | 2 +- .../ReactCommon/jsinspector-modern/Utf8.h | 2 +- .../ReactAndroidFrameworksCxx.api | 86 ------------------- .../api-snapshots/ReactAppleFrameworksCxx.api | 86 ------------------- .../ReactCommonFrameworksCxx.api | 86 ------------------- 17 files changed, 14 insertions(+), 270 deletions(-) diff --git a/packages/react-native/ReactCommon/jsinspector-modern/ConsoleTask.h b/packages/react-native/ReactCommon/jsinspector-modern/ConsoleTask.h index 85ed29d227fb..55773a8e0b4b 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/ConsoleTask.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/ConsoleTask.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include diff --git a/packages/react-native/ReactCommon/jsinspector-modern/ConsoleTaskContext.h b/packages/react-native/ReactCommon/jsinspector-modern/ConsoleTaskContext.h index 9a0d2f4136dd..cc660476b475 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/ConsoleTaskContext.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/ConsoleTaskContext.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include "StackTrace.h" diff --git a/packages/react-native/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.h b/packages/react-native/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.h index b5c8b5479a85..72c0f14c50a9 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include #include diff --git a/packages/react-native/ReactCommon/jsinspector-modern/EmulationAgent.h b/packages/react-native/ReactCommon/jsinspector-modern/EmulationAgent.h index 2b0869364b15..42f2296f4698 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/EmulationAgent.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/EmulationAgent.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include "HostTarget.h" #include "InspectorInterfaces.h" diff --git a/packages/react-native/ReactCommon/jsinspector-modern/ExecutionContextManager.h b/packages/react-native/ReactCommon/jsinspector-modern/ExecutionContextManager.h index 63134a20222b..70a051aac91a 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/ExecutionContextManager.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/ExecutionContextManager.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include diff --git a/packages/react-native/ReactCommon/jsinspector-modern/FallbackRuntimeAgentDelegate.h b/packages/react-native/ReactCommon/jsinspector-modern/FallbackRuntimeAgentDelegate.h index ba5ed9ed4f55..f8b9d0ecdddb 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/FallbackRuntimeAgentDelegate.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/FallbackRuntimeAgentDelegate.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include "SessionState.h" diff --git a/packages/react-native/ReactCommon/jsinspector-modern/HostTarget.cpp b/packages/react-native/ReactCommon/jsinspector-modern/HostTarget.cpp index 236debd0b819..39bcdd79de69 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/HostTarget.cpp +++ b/packages/react-native/ReactCommon/jsinspector-modern/HostTarget.cpp @@ -6,6 +6,7 @@ */ #include "HostTarget.h" +#include "ExecutionContextManager.h" #include "HostAgent.h" #include "HostTargetTraceRecording.h" #include "HostTargetTracing.h" diff --git a/packages/react-native/ReactCommon/jsinspector-modern/HostTarget.h b/packages/react-native/ReactCommon/jsinspector-modern/HostTarget.h index 23e2de82821c..eaec5d0cff06 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/HostTarget.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/HostTarget.h @@ -9,7 +9,6 @@ #include -#include "ExecutionContextManager.h" #include "HostCommand.h" #include "InspectorInterfaces.h" #include "InstanceTarget.h" @@ -44,6 +43,7 @@ namespace facebook::react::jsinspector_modern { +class ExecutionContextManager; class HostTargetSession; class HostAgent; class HostTracingAgent; diff --git a/packages/react-native/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h b/packages/react-native/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h index b59a8430b912..8160a7c24243 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include "InspectorInterfaces.h" #include "InspectorPackagerConnection.h" diff --git a/packages/react-native/ReactCommon/jsinspector-modern/InstanceTarget.cpp b/packages/react-native/ReactCommon/jsinspector-modern/InstanceTarget.cpp index 016e399a8b0f..7fb64e3bea6b 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/InstanceTarget.cpp +++ b/packages/react-native/ReactCommon/jsinspector-modern/InstanceTarget.cpp @@ -5,6 +5,7 @@ * LICENSE file in the root directory of this source tree. */ +#include "ExecutionContextManager.h" #include "InstanceAgent.h" #include "SessionState.h" diff --git a/packages/react-native/ReactCommon/jsinspector-modern/InstanceTarget.h b/packages/react-native/ReactCommon/jsinspector-modern/InstanceTarget.h index 35a8b904d596..45b43f412fec 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/InstanceTarget.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/InstanceTarget.h @@ -9,7 +9,6 @@ #include -#include "ExecutionContextManager.h" #include "RuntimeTarget.h" #include "ScopedExecutor.h" #include "SessionState.h" @@ -23,6 +22,7 @@ namespace facebook::react::jsinspector_modern { +class ExecutionContextManager; class InstanceAgent; class InstanceTracingAgent; class HostTargetTraceRecording; diff --git a/packages/react-native/ReactCommon/jsinspector-modern/RuntimeTargetGlobalStateObserver.h b/packages/react-native/ReactCommon/jsinspector-modern/RuntimeTargetGlobalStateObserver.h index ff8819d54259..09a2471d7456 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/RuntimeTargetGlobalStateObserver.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/RuntimeTargetGlobalStateObserver.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include diff --git a/packages/react-native/ReactCommon/jsinspector-modern/RuntimeTargetTracingStateObserver.h b/packages/react-native/ReactCommon/jsinspector-modern/RuntimeTargetTracingStateObserver.h index 44735ab1a5cc..f83e09c8b6a3 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/RuntimeTargetTracingStateObserver.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/RuntimeTargetTracingStateObserver.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include diff --git a/packages/react-native/ReactCommon/jsinspector-modern/Utf8.h b/packages/react-native/ReactCommon/jsinspector-modern/Utf8.h index 6c9f871d04b7..870c367a8c01 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/Utf8.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/Utf8.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include #include diff --git a/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api b/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api index 19dc16b3f84d..33722dd3cce4 100644 --- a/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api @@ -8926,12 +8926,7 @@ template facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::VoidExecutor executor); template facebook::react::jsinspector_modern::VoidExecutor facebook::react::jsinspector_modern::makeVoidExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); -void facebook::react::jsinspector_modern::emitGlobalStateObserverChange(facebook::jsi::Runtime& runtime, const char* globalName, const char* callbackName, bool value); void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const facebook::react::jsinspector_modern::FrontendChannel& channel, bool isBackgroundTrace); -void facebook::react::jsinspector_modern::emitTracingStateObserverChange(facebook::jsi::Runtime& runtime, bool isTracing); -void facebook::react::jsinspector_modern::installGlobalStateObserver(facebook::jsi::Runtime& runtime, const char* globalName, const char* statusProperty, const char* callbackName); -void facebook::react::jsinspector_modern::installTracingStateObserver(facebook::jsi::Runtime& runtime); -void facebook::react::jsinspector_modern::truncateToValidUTF8(std::vector& buffer); class facebook::react::jsinspector_modern::CallbackLocalConnection : public facebook::react::jsinspector_modern::ILocalConnection { public CallbackLocalConnection(std::function handler); @@ -8945,62 +8940,6 @@ class facebook::react::jsinspector_modern::CallbackRemoteConnection : public fac public virtual void onMessage(std::string message) override; } -class facebook::react::jsinspector_modern::ConsoleTask { - public ConsoleTask(const facebook::react::jsinspector_modern::ConsoleTask&) = default; - public ConsoleTask(facebook::react::jsinspector_modern::ConsoleTask&&) = default; - public ConsoleTask(std::shared_ptr taskContext); - public facebook::react::jsinspector_modern::ConsoleTask& operator=(const facebook::react::jsinspector_modern::ConsoleTask&) = delete; - public facebook::react::jsinspector_modern::ConsoleTask& operator=(facebook::react::jsinspector_modern::ConsoleTask&&) = delete; - public ~ConsoleTask(); -} - -class facebook::react::jsinspector_modern::ConsoleTaskContext : public std::enable_shared_from_this { - public ConsoleTaskContext(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; - public ConsoleTaskContext(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::RuntimeTargetDelegate& runtimeTargetDelegate, std::string name); - public ConsoleTaskContext(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskId id() const; - public std::optional getSerializedStackTrace() const; - public void schedule(); - public ~ConsoleTaskContext(); -} - -class facebook::react::jsinspector_modern::ConsoleTaskId { - public ConsoleTaskId() = default; - public ConsoleTaskId(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; - public ConsoleTaskId(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; - public bool operator==(const facebook::react::jsinspector_modern::ConsoleTaskId&) const = default; - public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; - public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; - public operator bool() const; - public operator void *() const; - public ~ConsoleTaskId() = default; -} - -class facebook::react::jsinspector_modern::ConsoleTaskOrchestrator { - public ConsoleTaskOrchestrator(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; - public ConsoleTaskOrchestrator(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; - public static facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& getInstance(); - public std::shared_ptr top() const; - public void cancelTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public void finishTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public void scheduleTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId, std::weak_ptr taskContext); - public void startTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public ~ConsoleTaskOrchestrator() = default; -} - -class facebook::react::jsinspector_modern::EmulationAgent { - public EmulationAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); -} - -class facebook::react::jsinspector_modern::ExecutionContextManager { - public int32_t allocateExecutionContextId(); -} - class facebook::react::jsinspector_modern::ExecutionContextSelector { public ExecutionContextSelector() = delete; public ExecutionContextSelector(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; @@ -9015,11 +8954,6 @@ class facebook::react::jsinspector_modern::ExecutionContextSelector { public ~ExecutionContextSelector() = default; } -class facebook::react::jsinspector_modern::FallbackRuntimeAgentDelegate : public facebook::react::jsinspector_modern::RuntimeAgentDelegate { - public FallbackRuntimeAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, const facebook::react::jsinspector_modern::SessionState& sessionState, std::string engineDescription); - public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) override; -} - class facebook::react::jsinspector_modern::FallbackRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { public FallbackRuntimeTargetDelegate(std::string engineDescription); public virtual bool supportsConsole() const override; @@ -9204,22 +9138,6 @@ class facebook::react::jsinspector_modern::InspectorPackagerConnection { public void sendEventToAllConnections(std::string event); } -class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl : public facebook::react::jsinspector_modern::IWebSocketDelegate, public facebook::react::jsinspector_modern::IPageStatusListener, public std::enable_shared_from_this { - public bool isConnected() const; - public static std::shared_ptr create(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); - public using SessionId = uint32_t; - public void closeQuietly(); - public void connect(); - public void scheduleSendToPackager(folly::dynamic message, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sourceSessionId, const std::string& sourcePageId, const std::string& sourceProxySessionId); - public void sendEventToAllConnections(const std::string& event); -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::RemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { - public RemoteConnection(std::weak_ptr owningPackagerConnection, std::string pageId, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sessionId, std::string proxySessionId); - public virtual void onDisconnect() override; - public virtual void onMessage(std::string message) override; -} - class facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { public virtual std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate) = 0; public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) = 0; @@ -12080,10 +11998,6 @@ struct std::hash { public size_t operator()(const facebook::react::AttributedString::Fragment& fragment) const; } -struct std::hash { - public size_t operator()(const facebook::react::jsinspector_modern::ConsoleTaskId& id) const; -} - struct std::hash { public size_t operator()(const facebook::react::jsinspector_modern::ExecutionContextSelector& selector) const; } diff --git a/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api index 96b9577627e2..bc68063ca911 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api @@ -10857,12 +10857,7 @@ template facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::VoidExecutor executor); template facebook::react::jsinspector_modern::VoidExecutor facebook::react::jsinspector_modern::makeVoidExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); -void facebook::react::jsinspector_modern::emitGlobalStateObserverChange(facebook::jsi::Runtime& runtime, const char* globalName, const char* callbackName, bool value); void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const facebook::react::jsinspector_modern::FrontendChannel& channel, bool isBackgroundTrace); -void facebook::react::jsinspector_modern::emitTracingStateObserverChange(facebook::jsi::Runtime& runtime, bool isTracing); -void facebook::react::jsinspector_modern::installGlobalStateObserver(facebook::jsi::Runtime& runtime, const char* globalName, const char* statusProperty, const char* callbackName); -void facebook::react::jsinspector_modern::installTracingStateObserver(facebook::jsi::Runtime& runtime); -void facebook::react::jsinspector_modern::truncateToValidUTF8(std::vector& buffer); class facebook::react::jsinspector_modern::CallbackLocalConnection : public facebook::react::jsinspector_modern::ILocalConnection { public CallbackLocalConnection(std::function handler); @@ -10876,62 +10871,6 @@ class facebook::react::jsinspector_modern::CallbackRemoteConnection : public fac public virtual void onMessage(std::string message) override; } -class facebook::react::jsinspector_modern::ConsoleTask { - public ConsoleTask(const facebook::react::jsinspector_modern::ConsoleTask&) = default; - public ConsoleTask(facebook::react::jsinspector_modern::ConsoleTask&&) = default; - public ConsoleTask(std::shared_ptr taskContext); - public facebook::react::jsinspector_modern::ConsoleTask& operator=(const facebook::react::jsinspector_modern::ConsoleTask&) = delete; - public facebook::react::jsinspector_modern::ConsoleTask& operator=(facebook::react::jsinspector_modern::ConsoleTask&&) = delete; - public ~ConsoleTask(); -} - -class facebook::react::jsinspector_modern::ConsoleTaskContext : public std::enable_shared_from_this { - public ConsoleTaskContext(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; - public ConsoleTaskContext(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::RuntimeTargetDelegate& runtimeTargetDelegate, std::string name); - public ConsoleTaskContext(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskId id() const; - public std::optional getSerializedStackTrace() const; - public void schedule(); - public ~ConsoleTaskContext(); -} - -class facebook::react::jsinspector_modern::ConsoleTaskId { - public ConsoleTaskId() = default; - public ConsoleTaskId(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; - public ConsoleTaskId(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; - public bool operator==(const facebook::react::jsinspector_modern::ConsoleTaskId&) const = default; - public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; - public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; - public operator bool() const; - public operator void *() const; - public ~ConsoleTaskId() = default; -} - -class facebook::react::jsinspector_modern::ConsoleTaskOrchestrator { - public ConsoleTaskOrchestrator(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; - public ConsoleTaskOrchestrator(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; - public static facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& getInstance(); - public std::shared_ptr top() const; - public void cancelTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public void finishTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public void scheduleTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId, std::weak_ptr taskContext); - public void startTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public ~ConsoleTaskOrchestrator() = default; -} - -class facebook::react::jsinspector_modern::EmulationAgent { - public EmulationAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); -} - -class facebook::react::jsinspector_modern::ExecutionContextManager { - public int32_t allocateExecutionContextId(); -} - class facebook::react::jsinspector_modern::ExecutionContextSelector { public ExecutionContextSelector() = delete; public ExecutionContextSelector(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; @@ -10946,11 +10885,6 @@ class facebook::react::jsinspector_modern::ExecutionContextSelector { public ~ExecutionContextSelector() = default; } -class facebook::react::jsinspector_modern::FallbackRuntimeAgentDelegate : public facebook::react::jsinspector_modern::RuntimeAgentDelegate { - public FallbackRuntimeAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, const facebook::react::jsinspector_modern::SessionState& sessionState, std::string engineDescription); - public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) override; -} - class facebook::react::jsinspector_modern::FallbackRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { public FallbackRuntimeTargetDelegate(std::string engineDescription); public virtual bool supportsConsole() const override; @@ -11135,22 +11069,6 @@ class facebook::react::jsinspector_modern::InspectorPackagerConnection { public void sendEventToAllConnections(std::string event); } -class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl : public facebook::react::jsinspector_modern::IWebSocketDelegate, public facebook::react::jsinspector_modern::IPageStatusListener, public std::enable_shared_from_this { - public bool isConnected() const; - public static std::shared_ptr create(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); - public using SessionId = uint32_t; - public void closeQuietly(); - public void connect(); - public void scheduleSendToPackager(folly::dynamic message, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sourceSessionId, const std::string& sourcePageId, const std::string& sourceProxySessionId); - public void sendEventToAllConnections(const std::string& event); -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::RemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { - public RemoteConnection(std::weak_ptr owningPackagerConnection, std::string pageId, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sessionId, std::string proxySessionId); - public virtual void onDisconnect() override; - public virtual void onMessage(std::string message) override; -} - class facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { public virtual std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate) = 0; public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) = 0; @@ -14250,10 +14168,6 @@ struct std::hash { public size_t operator()(const facebook::react::AttributedString::Fragment& fragment) const; } -struct std::hash { - public size_t operator()(const facebook::react::jsinspector_modern::ConsoleTaskId& id) const; -} - struct std::hash { public size_t operator()(const facebook::react::jsinspector_modern::ExecutionContextSelector& selector) const; } diff --git a/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api b/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api index 566b26d18cbe..5dad51b9c5c0 100644 --- a/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api @@ -6161,12 +6161,7 @@ template facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::VoidExecutor executor); template facebook::react::jsinspector_modern::VoidExecutor facebook::react::jsinspector_modern::makeVoidExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); -void facebook::react::jsinspector_modern::emitGlobalStateObserverChange(facebook::jsi::Runtime& runtime, const char* globalName, const char* callbackName, bool value); void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const facebook::react::jsinspector_modern::FrontendChannel& channel, bool isBackgroundTrace); -void facebook::react::jsinspector_modern::emitTracingStateObserverChange(facebook::jsi::Runtime& runtime, bool isTracing); -void facebook::react::jsinspector_modern::installGlobalStateObserver(facebook::jsi::Runtime& runtime, const char* globalName, const char* statusProperty, const char* callbackName); -void facebook::react::jsinspector_modern::installTracingStateObserver(facebook::jsi::Runtime& runtime); -void facebook::react::jsinspector_modern::truncateToValidUTF8(std::vector& buffer); class facebook::react::jsinspector_modern::CallbackLocalConnection : public facebook::react::jsinspector_modern::ILocalConnection { public CallbackLocalConnection(std::function handler); @@ -6180,62 +6175,6 @@ class facebook::react::jsinspector_modern::CallbackRemoteConnection : public fac public virtual void onMessage(std::string message) override; } -class facebook::react::jsinspector_modern::ConsoleTask { - public ConsoleTask(const facebook::react::jsinspector_modern::ConsoleTask&) = default; - public ConsoleTask(facebook::react::jsinspector_modern::ConsoleTask&&) = default; - public ConsoleTask(std::shared_ptr taskContext); - public facebook::react::jsinspector_modern::ConsoleTask& operator=(const facebook::react::jsinspector_modern::ConsoleTask&) = delete; - public facebook::react::jsinspector_modern::ConsoleTask& operator=(facebook::react::jsinspector_modern::ConsoleTask&&) = delete; - public ~ConsoleTask(); -} - -class facebook::react::jsinspector_modern::ConsoleTaskContext : public std::enable_shared_from_this { - public ConsoleTaskContext(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; - public ConsoleTaskContext(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::RuntimeTargetDelegate& runtimeTargetDelegate, std::string name); - public ConsoleTaskContext(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskId id() const; - public std::optional getSerializedStackTrace() const; - public void schedule(); - public ~ConsoleTaskContext(); -} - -class facebook::react::jsinspector_modern::ConsoleTaskId { - public ConsoleTaskId() = default; - public ConsoleTaskId(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; - public ConsoleTaskId(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; - public bool operator==(const facebook::react::jsinspector_modern::ConsoleTaskId&) const = default; - public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; - public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; - public operator bool() const; - public operator void *() const; - public ~ConsoleTaskId() = default; -} - -class facebook::react::jsinspector_modern::ConsoleTaskOrchestrator { - public ConsoleTaskOrchestrator(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; - public ConsoleTaskOrchestrator(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; - public static facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& getInstance(); - public std::shared_ptr top() const; - public void cancelTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public void finishTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public void scheduleTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId, std::weak_ptr taskContext); - public void startTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public ~ConsoleTaskOrchestrator() = default; -} - -class facebook::react::jsinspector_modern::EmulationAgent { - public EmulationAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); -} - -class facebook::react::jsinspector_modern::ExecutionContextManager { - public int32_t allocateExecutionContextId(); -} - class facebook::react::jsinspector_modern::ExecutionContextSelector { public ExecutionContextSelector() = delete; public ExecutionContextSelector(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; @@ -6250,11 +6189,6 @@ class facebook::react::jsinspector_modern::ExecutionContextSelector { public ~ExecutionContextSelector() = default; } -class facebook::react::jsinspector_modern::FallbackRuntimeAgentDelegate : public facebook::react::jsinspector_modern::RuntimeAgentDelegate { - public FallbackRuntimeAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, const facebook::react::jsinspector_modern::SessionState& sessionState, std::string engineDescription); - public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) override; -} - class facebook::react::jsinspector_modern::FallbackRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { public FallbackRuntimeTargetDelegate(std::string engineDescription); public virtual bool supportsConsole() const override; @@ -6439,22 +6373,6 @@ class facebook::react::jsinspector_modern::InspectorPackagerConnection { public void sendEventToAllConnections(std::string event); } -class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl : public facebook::react::jsinspector_modern::IWebSocketDelegate, public facebook::react::jsinspector_modern::IPageStatusListener, public std::enable_shared_from_this { - public bool isConnected() const; - public static std::shared_ptr create(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); - public using SessionId = uint32_t; - public void closeQuietly(); - public void connect(); - public void scheduleSendToPackager(folly::dynamic message, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sourceSessionId, const std::string& sourcePageId, const std::string& sourceProxySessionId); - public void sendEventToAllConnections(const std::string& event); -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::RemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { - public RemoteConnection(std::weak_ptr owningPackagerConnection, std::string pageId, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sessionId, std::string proxySessionId); - public virtual void onDisconnect() override; - public virtual void onMessage(std::string message) override; -} - class facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { public virtual std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate) = 0; public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) = 0; @@ -9148,10 +9066,6 @@ struct std::hash { public size_t operator()(const facebook::react::AttributedString::Fragment& fragment) const; } -struct std::hash { - public size_t operator()(const facebook::react::jsinspector_modern::ConsoleTaskId& id) const; -} - struct std::hash { public size_t operator()(const facebook::react::jsinspector_modern::ExecutionContextSelector& selector) const; } From cc270b7524b136b1c314384f39e74587ffb94431 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dawid=20Ma=C5=82ecki?= Date: Fri, 9 Oct 2026 01:40:27 -0700 Subject: [PATCH 3/6] Make select jsinspector tracing implementation headers private Summary: Mark the following tracing headers as private instead of for-frameworks. All of them are implementation details of React Native's tracing infrastructure, and no for-frameworks header includes them: - `EventLoopReporter` is an RAII helper the runtime scheduler uses to report event loop task and microtask phases to the performance tracer. It is only used by `EventLoopReporter.cpp` and `RuntimeScheduler_Modern.cpp`. - `RuntimeSamplingProfileTraceEventSerializer` turns a runtime sampling profile into trace events. It is only used by tracing sources, `TracingAgent.cpp` and its own unit test. - `TraceEventSerializer` serializes trace events to `folly::dynamic`. It is only used by tracing sources and `TracingAgent.cpp`. - `TraceEventGenerator` builds trace events for the performance tracer and the host profile serializer. It is only used by tracing sources and was already not exported in Buck. - `ProfileTreeNode` is an auxiliary tree used to build the profile and deduplicate identical frames. It is only used by `RuntimeSamplingProfileTraceEventSerializer.cpp` and its own unit test. - `Timing.h` defines the tracing clock origin and the conversions from `HighResTimeStamp` and `HighResDuration` to trace event microseconds. It is only used by tracing sources and a tracing unit test. `TracingAgent.h` included `Timing.h` without using it; that include is removed. React Native's own targets define `RN_BUILDING`, so the private guard does not affect them. Changelog: [Internal] Differential Revision: D122780825 --- .../jsinspector-modern/TracingAgent.h | 1 - .../tracing/EventLoopReporter.h | 2 +- .../tracing/ProfileTreeNode.h | 2 +- ...ntimeSamplingProfileTraceEventSerializer.h | 2 +- .../jsinspector-modern/tracing/Timing.h | 2 +- .../tracing/TraceEventGenerator.h | 2 +- .../tracing/TraceEventSerializer.h | 2 +- .../ReactAndroidFrameworksCxx.api | 61 ------------------- .../api-snapshots/ReactAppleFrameworksCxx.api | 61 ------------------- .../ReactCommonFrameworksCxx.api | 61 ------------------- 10 files changed, 6 insertions(+), 190 deletions(-) diff --git a/packages/react-native/ReactCommon/jsinspector-modern/TracingAgent.h b/packages/react-native/ReactCommon/jsinspector-modern/TracingAgent.h index c58c6cf48e5a..ba3631d742d5 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/TracingAgent.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/TracingAgent.h @@ -15,7 +15,6 @@ #include #include #include -#include namespace facebook::react::jsinspector_modern { diff --git a/packages/react-native/ReactCommon/jsinspector-modern/tracing/EventLoopReporter.h b/packages/react-native/ReactCommon/jsinspector-modern/tracing/EventLoopReporter.h index 4531200f4f00..bb8ebdb97c5b 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/tracing/EventLoopReporter.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/tracing/EventLoopReporter.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #if defined(REACT_NATIVE_DEBUGGER_ENABLED) #include diff --git a/packages/react-native/ReactCommon/jsinspector-modern/tracing/ProfileTreeNode.h b/packages/react-native/ReactCommon/jsinspector-modern/tracing/ProfileTreeNode.h index 5efd0d022784..9439e0e83fb0 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/tracing/ProfileTreeNode.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/tracing/ProfileTreeNode.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include diff --git a/packages/react-native/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.h b/packages/react-native/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.h index a1b0b6198e5a..e4019bb29431 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include "RuntimeSamplingProfile.h" diff --git a/packages/react-native/ReactCommon/jsinspector-modern/tracing/Timing.h b/packages/react-native/ReactCommon/jsinspector-modern/tracing/Timing.h index 5406602bdfcd..1fef1c0d2916 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/tracing/Timing.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/tracing/Timing.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include diff --git a/packages/react-native/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h b/packages/react-native/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h index a46e7c2ba7f0..c5580bcbb60d 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include "TraceEvent.h" diff --git a/packages/react-native/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.h b/packages/react-native/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.h index 8b83f24be2f7..b1f99195443f 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include "TraceEvent.h" #include "TraceEventProfile.h" diff --git a/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api b/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api index 33722dd3cce4..2b0f25d4933b 100644 --- a/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api @@ -9571,7 +9571,6 @@ class facebook::react::jsinspector_modern::WeakList { } -constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::TRACING_TIME_ORIGIN; constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::kCurrentBufferStartTimeUninitialized; using facebook::react::jsinspector_modern::tracing::Categories = folly::small_vector; using facebook::react::jsinspector_modern::tracing::ConsoleTimeStampEntry = std::variant; @@ -9580,7 +9579,6 @@ using facebook::react::jsinspector_modern::tracing::Headers = std::map facebook::react::jsinspector_modern::tracing::getTracingCategoryFromString(const std::string& str); std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampColorFromString(const std::string& str); std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampDetailFromObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& detailValue); @@ -9589,7 +9587,6 @@ std::string facebook::react::jsinspector_modern::tracing::consoleTimeStampColorT std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const facebook::react::jsinspector_modern::tracing::Categories& categories); std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const std::set& categories); std::string facebook::react::jsinspector_modern::tracing::tracingCategoryToString(const facebook::react::jsinspector_modern::tracing::Category& category); -uint64_t facebook::react::jsinspector_modern::tracing::highResTimeStampToTracingClockTimeStamp(facebook::react::HighResTimeStamp timestamp); class facebook::react::jsinspector_modern::tracing::HostTracingProfileSerializer { public static void emitAsDataCollectedChunks(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const std::function& chunkCallback, size_t maxChunkBytes, uint16_t profileTraceEventsChunkSize); @@ -9620,56 +9617,16 @@ class facebook::react::jsinspector_modern::tracing::PerformanceTracer { public void unsubscribeFromTracingStateChanges(uint32_t subscriptionId); } -class facebook::react::jsinspector_modern::tracing::ProfileTreeNode { - public ProfileTreeNode(uint32_t id, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType codeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame callFrame, uint32_t parentId = facebook::react::jsinspector_modern::tracing::ProfileTreeNode::NO_PARENT); - public bool hasParent() const; - public const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& getCallFrame() const; - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* addChild(uint32_t childId, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame childCallFrame); - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* getIfAlreadyExists(facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& childCallFrame); - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType getCodeType() const; - public static constexpr uint32_t NO_PARENT; - public uint32_t getId() const; - public uint32_t getParentId() const; -} - -enum facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType { - JavaScript, - Other, -} - class facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { public virtual ~RawRuntimeProfile() = default; } -class facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfileTraceEventSerializer { - public static void serializeAndDispatch(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&& profile, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); - public static void serializeAndDispatch(std::vector&& profiles, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); -} - class facebook::react::jsinspector_modern::tracing::TargetTracingAgent { protected facebook::react::jsinspector_modern::tracing::TraceRecordingState& state_; public TargetTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); public bool isRunningInBackgroundMode(); } -class facebook::react::jsinspector_modern::tracing::TraceEventGenerator { - public static facebook::react::jsinspector_modern::tracing::TraceEvent createIdleBeginFrameEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createNeedsBeginFrameChangedEvent(int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createScreenshotEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId frameSequenceId, int sourceId, std::vector&& snapshot, facebook::react::HighResTimeStamp expectedDisplayTime, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createSetLayerTreeIdEvent(std::string frame, int layerTreeId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp timestamp); - public static std::pair createFrameTimingsEvents(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); -} - -class facebook::react::jsinspector_modern::tracing::TraceEventSerializer { - public static folly::dynamic serialize(facebook::react::jsinspector_modern::tracing::TraceEvent&& event); - public static folly::dynamic serializeProfileChunk(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& profileChunk); - public static folly::dynamic serializeProfileChunkCPUProfile(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile&& cpuProfile); - public static folly::dynamic serializeProfileChunkCPUProfileNode(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node&& node); - public static folly::dynamic serializeProfileChunkCPUProfileNodeCallFrame(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame&& callFrame); - public static folly::dynamic serializeProfileChunkTimeDeltas(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas&& deltas); - public static size_t estimateJsonSize(const folly::dynamic& value); -} - enum facebook::react::jsinspector_modern::tracing::Category { Frame, HiddenTimeline, @@ -9694,25 +9651,11 @@ enum facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor { Warning, } -enum facebook::react::jsinspector_modern::tracing::EventLoopPhase { - Microtasks, - Task, -} - enum facebook::react::jsinspector_modern::tracing::Mode { Background, CDP, } -struct facebook::react::jsinspector_modern::tracing::EventLoopReporter { - public EventLoopReporter(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; - public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopPhase phase); - public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; - public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; - public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; - public ~EventLoopReporter(); -} - struct facebook::react::jsinspector_modern::tracing::FrameTimingSequence { public FrameTimingSequence() = delete; public FrameTimingSequence(facebook::react::jsinspector_modern::tracing::FrameSequenceId id, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, std::optional> screenshot = std::nullopt, facebook::react::HighResDuration vsyncInterval = facebook::react::HighResDuration::zero()); @@ -9738,10 +9681,6 @@ struct facebook::react::jsinspector_modern::tracing::HostTracingProfile { public ~HostTracingProfile() = default; } -struct facebook::react::jsinspector_modern::tracing::IdGenerator { - public uint32_t getNext(); -} - struct facebook::react::jsinspector_modern::tracing::InstanceTracingProfile { public std::vector performanceTraceEvents; } diff --git a/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api index bc68063ca911..848d1a15f2d6 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api @@ -11430,7 +11430,6 @@ class facebook::react::jsinspector_modern::WeakList { } -constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::TRACING_TIME_ORIGIN; constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::kCurrentBufferStartTimeUninitialized; using facebook::react::jsinspector_modern::tracing::Categories = folly::small_vector; using facebook::react::jsinspector_modern::tracing::ConsoleTimeStampEntry = std::variant; @@ -11439,7 +11438,6 @@ using facebook::react::jsinspector_modern::tracing::Headers = std::map facebook::react::jsinspector_modern::tracing::getTracingCategoryFromString(const std::string& str); std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampColorFromString(const std::string& str); std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampDetailFromObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& detailValue); @@ -11448,7 +11446,6 @@ std::string facebook::react::jsinspector_modern::tracing::consoleTimeStampColorT std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const facebook::react::jsinspector_modern::tracing::Categories& categories); std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const std::set& categories); std::string facebook::react::jsinspector_modern::tracing::tracingCategoryToString(const facebook::react::jsinspector_modern::tracing::Category& category); -uint64_t facebook::react::jsinspector_modern::tracing::highResTimeStampToTracingClockTimeStamp(facebook::react::HighResTimeStamp timestamp); class facebook::react::jsinspector_modern::tracing::HostTracingProfileSerializer { public static void emitAsDataCollectedChunks(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const std::function& chunkCallback, size_t maxChunkBytes, uint16_t profileTraceEventsChunkSize); @@ -11479,56 +11476,16 @@ class facebook::react::jsinspector_modern::tracing::PerformanceTracer { public void unsubscribeFromTracingStateChanges(uint32_t subscriptionId); } -class facebook::react::jsinspector_modern::tracing::ProfileTreeNode { - public ProfileTreeNode(uint32_t id, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType codeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame callFrame, uint32_t parentId = facebook::react::jsinspector_modern::tracing::ProfileTreeNode::NO_PARENT); - public bool hasParent() const; - public const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& getCallFrame() const; - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* addChild(uint32_t childId, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame childCallFrame); - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* getIfAlreadyExists(facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& childCallFrame); - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType getCodeType() const; - public static constexpr uint32_t NO_PARENT; - public uint32_t getId() const; - public uint32_t getParentId() const; -} - -enum facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType { - JavaScript, - Other, -} - class facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { public virtual ~RawRuntimeProfile() = default; } -class facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfileTraceEventSerializer { - public static void serializeAndDispatch(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&& profile, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); - public static void serializeAndDispatch(std::vector&& profiles, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); -} - class facebook::react::jsinspector_modern::tracing::TargetTracingAgent { protected facebook::react::jsinspector_modern::tracing::TraceRecordingState& state_; public TargetTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); public bool isRunningInBackgroundMode(); } -class facebook::react::jsinspector_modern::tracing::TraceEventGenerator { - public static facebook::react::jsinspector_modern::tracing::TraceEvent createIdleBeginFrameEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createNeedsBeginFrameChangedEvent(int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createScreenshotEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId frameSequenceId, int sourceId, std::vector&& snapshot, facebook::react::HighResTimeStamp expectedDisplayTime, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createSetLayerTreeIdEvent(std::string frame, int layerTreeId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp timestamp); - public static std::pair createFrameTimingsEvents(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); -} - -class facebook::react::jsinspector_modern::tracing::TraceEventSerializer { - public static folly::dynamic serialize(facebook::react::jsinspector_modern::tracing::TraceEvent&& event); - public static folly::dynamic serializeProfileChunk(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& profileChunk); - public static folly::dynamic serializeProfileChunkCPUProfile(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile&& cpuProfile); - public static folly::dynamic serializeProfileChunkCPUProfileNode(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node&& node); - public static folly::dynamic serializeProfileChunkCPUProfileNodeCallFrame(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame&& callFrame); - public static folly::dynamic serializeProfileChunkTimeDeltas(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas&& deltas); - public static size_t estimateJsonSize(const folly::dynamic& value); -} - enum facebook::react::jsinspector_modern::tracing::Category { Frame, HiddenTimeline, @@ -11553,25 +11510,11 @@ enum facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor { Warning, } -enum facebook::react::jsinspector_modern::tracing::EventLoopPhase { - Microtasks, - Task, -} - enum facebook::react::jsinspector_modern::tracing::Mode { Background, CDP, } -struct facebook::react::jsinspector_modern::tracing::EventLoopReporter { - public EventLoopReporter(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; - public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopPhase phase); - public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; - public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; - public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; - public ~EventLoopReporter(); -} - struct facebook::react::jsinspector_modern::tracing::FrameTimingSequence { public FrameTimingSequence() = delete; public FrameTimingSequence(facebook::react::jsinspector_modern::tracing::FrameSequenceId id, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, std::optional> screenshot = std::nullopt, facebook::react::HighResDuration vsyncInterval = facebook::react::HighResDuration::zero()); @@ -11597,10 +11540,6 @@ struct facebook::react::jsinspector_modern::tracing::HostTracingProfile { public ~HostTracingProfile() = default; } -struct facebook::react::jsinspector_modern::tracing::IdGenerator { - public uint32_t getNext(); -} - struct facebook::react::jsinspector_modern::tracing::InstanceTracingProfile { public std::vector performanceTraceEvents; } diff --git a/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api b/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api index 5dad51b9c5c0..a120e826d617 100644 --- a/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api @@ -6734,7 +6734,6 @@ class facebook::react::jsinspector_modern::WeakList { } -constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::TRACING_TIME_ORIGIN; constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::kCurrentBufferStartTimeUninitialized; using facebook::react::jsinspector_modern::tracing::Categories = folly::small_vector; using facebook::react::jsinspector_modern::tracing::ConsoleTimeStampEntry = std::variant; @@ -6743,7 +6742,6 @@ using facebook::react::jsinspector_modern::tracing::Headers = std::map facebook::react::jsinspector_modern::tracing::getTracingCategoryFromString(const std::string& str); std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampColorFromString(const std::string& str); std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampDetailFromObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& detailValue); @@ -6752,7 +6750,6 @@ std::string facebook::react::jsinspector_modern::tracing::consoleTimeStampColorT std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const facebook::react::jsinspector_modern::tracing::Categories& categories); std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const std::set& categories); std::string facebook::react::jsinspector_modern::tracing::tracingCategoryToString(const facebook::react::jsinspector_modern::tracing::Category& category); -uint64_t facebook::react::jsinspector_modern::tracing::highResTimeStampToTracingClockTimeStamp(facebook::react::HighResTimeStamp timestamp); class facebook::react::jsinspector_modern::tracing::HostTracingProfileSerializer { public static void emitAsDataCollectedChunks(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const std::function& chunkCallback, size_t maxChunkBytes, uint16_t profileTraceEventsChunkSize); @@ -6783,56 +6780,16 @@ class facebook::react::jsinspector_modern::tracing::PerformanceTracer { public void unsubscribeFromTracingStateChanges(uint32_t subscriptionId); } -class facebook::react::jsinspector_modern::tracing::ProfileTreeNode { - public ProfileTreeNode(uint32_t id, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType codeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame callFrame, uint32_t parentId = facebook::react::jsinspector_modern::tracing::ProfileTreeNode::NO_PARENT); - public bool hasParent() const; - public const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& getCallFrame() const; - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* addChild(uint32_t childId, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame childCallFrame); - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* getIfAlreadyExists(facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& childCallFrame); - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType getCodeType() const; - public static constexpr uint32_t NO_PARENT; - public uint32_t getId() const; - public uint32_t getParentId() const; -} - -enum facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType { - JavaScript, - Other, -} - class facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { public virtual ~RawRuntimeProfile() = default; } -class facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfileTraceEventSerializer { - public static void serializeAndDispatch(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&& profile, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); - public static void serializeAndDispatch(std::vector&& profiles, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); -} - class facebook::react::jsinspector_modern::tracing::TargetTracingAgent { protected facebook::react::jsinspector_modern::tracing::TraceRecordingState& state_; public TargetTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); public bool isRunningInBackgroundMode(); } -class facebook::react::jsinspector_modern::tracing::TraceEventGenerator { - public static facebook::react::jsinspector_modern::tracing::TraceEvent createIdleBeginFrameEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createNeedsBeginFrameChangedEvent(int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createScreenshotEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId frameSequenceId, int sourceId, std::vector&& snapshot, facebook::react::HighResTimeStamp expectedDisplayTime, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createSetLayerTreeIdEvent(std::string frame, int layerTreeId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp timestamp); - public static std::pair createFrameTimingsEvents(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); -} - -class facebook::react::jsinspector_modern::tracing::TraceEventSerializer { - public static folly::dynamic serialize(facebook::react::jsinspector_modern::tracing::TraceEvent&& event); - public static folly::dynamic serializeProfileChunk(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& profileChunk); - public static folly::dynamic serializeProfileChunkCPUProfile(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile&& cpuProfile); - public static folly::dynamic serializeProfileChunkCPUProfileNode(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node&& node); - public static folly::dynamic serializeProfileChunkCPUProfileNodeCallFrame(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame&& callFrame); - public static folly::dynamic serializeProfileChunkTimeDeltas(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas&& deltas); - public static size_t estimateJsonSize(const folly::dynamic& value); -} - enum facebook::react::jsinspector_modern::tracing::Category { Frame, HiddenTimeline, @@ -6857,25 +6814,11 @@ enum facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor { Warning, } -enum facebook::react::jsinspector_modern::tracing::EventLoopPhase { - Microtasks, - Task, -} - enum facebook::react::jsinspector_modern::tracing::Mode { Background, CDP, } -struct facebook::react::jsinspector_modern::tracing::EventLoopReporter { - public EventLoopReporter(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; - public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopPhase phase); - public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; - public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; - public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; - public ~EventLoopReporter(); -} - struct facebook::react::jsinspector_modern::tracing::FrameTimingSequence { public FrameTimingSequence() = delete; public FrameTimingSequence(facebook::react::jsinspector_modern::tracing::FrameSequenceId id, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, std::optional> screenshot = std::nullopt, facebook::react::HighResDuration vsyncInterval = facebook::react::HighResDuration::zero()); @@ -6901,10 +6844,6 @@ struct facebook::react::jsinspector_modern::tracing::HostTracingProfile { public ~HostTracingProfile() = default; } -struct facebook::react::jsinspector_modern::tracing::IdGenerator { - public uint32_t getNext(); -} - struct facebook::react::jsinspector_modern::tracing::InstanceTracingProfile { public std::vector performanceTraceEvents; } From 5ce541856b82a42833e5b790c8f473c312e026d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dawid=20Ma=C5=82ecki?= Date: Fri, 9 Oct 2026 01:40:27 -0700 Subject: [PATCH 4/6] Make `StackTraceParser.h` private in jserrorhandler Summary: `StackTraceParser` is an implementation detail of `JsErrorHandler`: it is only used by `JsErrorHandler.cpp` and its own unit test, and `JsErrorHandler.h` does not include it. Mark it as a private header instead of a for-frameworks one. - Swap `FrameworksGuard.h` for `PrivateGuard.h` in `StackTraceParser.h`. - Include `JsErrorHandler.h` via its namespaced path so the header resolves when it is not exported alongside it. - Stop shipping `StackTraceParser.h` as a header for prebuilt `React-jserrorhandler` pods. Changelog: [Internal] Differential Revision: D122770464 --- .../ReactCommon/jserrorhandler/React-jserrorhandler.podspec | 2 +- .../ReactCommon/jserrorhandler/StackTraceParser.h | 4 ++-- scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api | 4 ---- scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api | 4 ---- scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api | 4 ---- 5 files changed, 3 insertions(+), 15 deletions(-) diff --git a/packages/react-native/ReactCommon/jserrorhandler/React-jserrorhandler.podspec b/packages/react-native/ReactCommon/jserrorhandler/React-jserrorhandler.podspec index c0fb2e9c0d61..c29d4df2c232 100644 --- a/packages/react-native/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +++ b/packages/react-native/ReactCommon/jserrorhandler/React-jserrorhandler.podspec @@ -34,7 +34,7 @@ Pod::Spec.new do |s| s.platforms = min_supported_versions s.source = source s.header_dir = "jserrorhandler" - s.source_files = podspec_sources(["ErrorUtils.{cpp,h}", "JsErrorHandler.{cpp,h}", "StackTraceParser.{cpp,h}"], ["ErrorUtils.h", "JsErrorHandler.h", "StackTraceParser.h"]) + s.source_files = podspec_sources(["ErrorUtils.{cpp,h}", "JsErrorHandler.{cpp,h}", "StackTraceParser.{cpp,h}"], ["ErrorUtils.h", "JsErrorHandler.h"]) s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => header_search_paths.join(' '), "USE_HEADERMAP" => "YES", diff --git a/packages/react-native/ReactCommon/jserrorhandler/StackTraceParser.h b/packages/react-native/ReactCommon/jserrorhandler/StackTraceParser.h index d5ecce8fa03c..ea213dfc1f3f 100644 --- a/packages/react-native/ReactCommon/jserrorhandler/StackTraceParser.h +++ b/packages/react-native/ReactCommon/jserrorhandler/StackTraceParser.h @@ -7,11 +7,11 @@ #pragma once -#include +#include +#include #include #include -#include "JsErrorHandler.h" namespace facebook::react { diff --git a/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api b/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api index 2b0f25d4933b..3c6fb471d7bf 100644 --- a/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api @@ -3790,10 +3790,6 @@ class facebook::react::SharedColor { public std::string toString() const noexcept; } -class facebook::react::StackTraceParser { - public static std::vector parse(bool isHermes, const std::string& stackString); -} - class facebook::react::State { protected State(facebook::react::StateData::Shared data, const facebook::react::State& previousState); protected State(facebook::react::StateData::Shared data, facebook::react::ShadowNodeFamily::Weak family); diff --git a/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api index 848d1a15f2d6..f4090a466058 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api @@ -6022,10 +6022,6 @@ class facebook::react::SharedColor { public std::string toString() const noexcept; } -class facebook::react::StackTraceParser { - public static std::vector parse(bool isHermes, const std::string& stackString); -} - class facebook::react::State { protected State(facebook::react::StateData::Shared data, const facebook::react::State& previousState); protected State(facebook::react::StateData::Shared data, facebook::react::ShadowNodeFamily::Weak family); diff --git a/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api b/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api index a120e826d617..4ed516be69b2 100644 --- a/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api @@ -2385,10 +2385,6 @@ class facebook::react::SharedColor { public std::string toString() const noexcept; } -class facebook::react::StackTraceParser { - public static std::vector parse(bool isHermes, const std::string& stackString); -} - class facebook::react::State { protected State(facebook::react::StateData::Shared data, const facebook::react::State& previousState); protected State(facebook::react::StateData::Shared data, facebook::react::ShadowNodeFamily::Weak family); From c544f0dbb90362d207b1b44f20ffd7c9b1deb96b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dawid=20Ma=C5=82ecki?= Date: Fri, 9 Oct 2026 01:40:27 -0700 Subject: [PATCH 5/6] Make host target tracing implementation headers private Summary: Mark the following headers as private instead of for-frameworks. All of them are implementation details of the host target and how it records and serializes a trace, and no for-frameworks header includes them: - `HostTracingProfileSerializer` transforms a `HostTracingProfile` into serialized trace events. It is only used by its own source and `HostTargetTracing.h`. - `HostTargetTracing.h` provides `emitNotificationsForTracingProfile`, which uses the serializer to send a captured profile to frontend channels as `Tracing.dataCollected` events followed by `Tracing.tracingComplete`. It is only used by `HostTarget.cpp` and `TracingAgent.cpp`, and was already not exported in Buck. - `HostTargetTraceRecording` holds the state of an in-progress host trace recording. `HostTarget.h` only forward-declares it, and it is only used by `HostTarget.cpp`, `HostTargetTraceRecording.cpp` and `HostTargetTracing.cpp`. - `TimeWindowedBuffer` is a generic buffer that keeps only elements inside a time window. It is only used by `HostTargetTraceRecording` and its own unit test. - `TracingAgent` handles the CDP `Tracing.start` and `Tracing.stop` requests for the host agent. It is only used by `HostAgent.cpp` and `TracingAgent.cpp`, and was already not exported in Buck. - `HostAgent` handles CDP requests for a host target. `HostTarget.h` only forward-declares it, and it is only used by `HostAgent.cpp`, `HostTarget.cpp` and `HostTargetTraceRecording.h`. - `InstanceAgent` handles CDP requests for an instance target. `InstanceTarget.h` only forward-declares it, and it is only used by `HostAgent.h`, `HostAgent.cpp`, `InstanceAgent.cpp` and `InstanceTarget.cpp`. - `InspectorUtilities.h` provides connection adapters for `InspectorInterfaces`: `CallbackLocalConnection`, `CallbackRemoteConnection`, `RAIIRemoteConnection` and `NullRemoteConnection`. It is only used by `HostTarget.cpp` and `InspectorUtilities.cpp`, and was already not exported in Buck. Headers that include one another change together: `HostTargetTracing.h` includes `HostTracingProfileSerializer.h`, `HostTargetTraceRecording.h` stores a `TimeWindowedBuffer` by value and includes `HostAgent.h`, and `HostAgent.h` includes `InstanceAgent.h`, so keeping any of these includers for-frameworks would expose a private header. `HostTracingProfile.h`, `FrameTimingSequence.h`, `TraceRecordingState.h` and `TracingCategory.h` stay for-frameworks because other for-frameworks headers include them. React Native's own targets define `RN_BUILDING`, so the private guard does not affect them. Changelog: [Internal] Differential Revision: D122791607 --- .../jsinspector-modern/HostAgent.h | 2 +- .../HostTargetTraceRecording.h | 2 +- .../jsinspector-modern/HostTargetTracing.h | 2 +- .../jsinspector-modern/InspectorUtilities.h | 2 +- .../jsinspector-modern/InstanceAgent.h | 2 +- .../jsinspector-modern/TracingAgent.h | 2 +- .../tracing/HostTracingProfileSerializer.h | 2 +- .../tracing/TimeWindowedBuffer.h | 2 +- .../ReactAndroidFrameworksCxx.api | 141 ++++-------------- .../api-snapshots/ReactAppleFrameworksCxx.api | 141 ++++-------------- .../ReactCommonFrameworksCxx.api | 141 ++++-------------- 11 files changed, 86 insertions(+), 353 deletions(-) diff --git a/packages/react-native/ReactCommon/jsinspector-modern/HostAgent.h b/packages/react-native/ReactCommon/jsinspector-modern/HostAgent.h index 981e1c88fcab..8467613e71dd 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/HostAgent.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/HostAgent.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include "HostTarget.h" diff --git a/packages/react-native/ReactCommon/jsinspector-modern/HostTargetTraceRecording.h b/packages/react-native/ReactCommon/jsinspector-modern/HostTargetTraceRecording.h index b341811e822f..e35afee3b899 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/HostTargetTraceRecording.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/HostTargetTraceRecording.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include "HostAgent.h" #include "HostTarget.h" diff --git a/packages/react-native/ReactCommon/jsinspector-modern/HostTargetTracing.h b/packages/react-native/ReactCommon/jsinspector-modern/HostTargetTracing.h index 9392075d538a..970e95412008 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/HostTargetTracing.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/HostTargetTracing.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include "InspectorInterfaces.h" diff --git a/packages/react-native/ReactCommon/jsinspector-modern/InspectorUtilities.h b/packages/react-native/ReactCommon/jsinspector-modern/InspectorUtilities.h index f4c25ce62e4d..d46c8d4f9a88 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/InspectorUtilities.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/InspectorUtilities.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include "InspectorInterfaces.h" diff --git a/packages/react-native/ReactCommon/jsinspector-modern/InstanceAgent.h b/packages/react-native/ReactCommon/jsinspector-modern/InstanceAgent.h index 56dbe15137ba..54c3e853ad98 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/InstanceAgent.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/InstanceAgent.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include "RuntimeTarget.h" #include "SessionState.h" diff --git a/packages/react-native/ReactCommon/jsinspector-modern/TracingAgent.h b/packages/react-native/ReactCommon/jsinspector-modern/TracingAgent.h index ba3631d742d5..0735c74b7556 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/TracingAgent.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/TracingAgent.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include "HostTarget.h" #include "InspectorInterfaces.h" diff --git a/packages/react-native/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.h b/packages/react-native/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.h index 1c811939bfd5..27fc82711335 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include "FrameTimingSequence.h" #include "HostTracingProfile.h" diff --git a/packages/react-native/ReactCommon/jsinspector-modern/tracing/TimeWindowedBuffer.h b/packages/react-native/ReactCommon/jsinspector-modern/tracing/TimeWindowedBuffer.h index 182b3c78975c..e2dd190541b5 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/tracing/TimeWindowedBuffer.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/tracing/TimeWindowedBuffer.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include #include diff --git a/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api b/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api index 3c6fb471d7bf..397186fa31d4 100644 --- a/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api @@ -8914,27 +8914,12 @@ facebook::react::jsinspector_modern::IInspector& facebook::react::jsinspector_mo folly::dynamic facebook::react::jsinspector_modern::createHostMetadataPayload(const facebook::react::jsinspector_modern::HostTargetMetadata& metadata); folly::dynamic facebook::react::jsinspector_modern::targetCapabilitiesToDynamic(const facebook::react::jsinspector_modern::InspectorTargetCapabilities& capabilities); std::unique_ptr facebook::react::jsinspector_modern::makeTestInspectorInstance(); -template -void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const ChannelsRange& channels, bool isBackgroundTrace); template facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::ScopedExecutor executor); template facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::VoidExecutor executor); template facebook::react::jsinspector_modern::VoidExecutor facebook::react::jsinspector_modern::makeVoidExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); -void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const facebook::react::jsinspector_modern::FrontendChannel& channel, bool isBackgroundTrace); - -class facebook::react::jsinspector_modern::CallbackLocalConnection : public facebook::react::jsinspector_modern::ILocalConnection { - public CallbackLocalConnection(std::function handler); - public virtual void disconnect() override; - public virtual void sendMessage(std::string message) override; -} - -class facebook::react::jsinspector_modern::CallbackRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { - public CallbackRemoteConnection(std::function handler); - public virtual void onDisconnect() override; - public virtual void onMessage(std::string message) override; -} class facebook::react::jsinspector_modern::ExecutionContextSelector { public ExecutionContextSelector() = delete; @@ -8962,19 +8947,6 @@ class facebook::react::jsinspector_modern::FallbackRuntimeTargetDelegate : publi public virtual void enableSamplingProfiler() override; } -class facebook::react::jsinspector_modern::HostAgent { - public HostAgent(const facebook::react::jsinspector_modern::FrontendChannel& frontendChannel, facebook::react::jsinspector_modern::HostTargetController& targetController, facebook::react::jsinspector_modern::HostTargetMetadata hostMetadata, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::VoidExecutor executor); - public HostAgent(const facebook::react::jsinspector_modern::HostAgent&) = delete; - public HostAgent(facebook::react::jsinspector_modern::HostAgent&&) = delete; - public bool isEligibleForBackgroundTrace() const; - public facebook::react::jsinspector_modern::HostAgent& operator=(const facebook::react::jsinspector_modern::HostAgent&) = delete; - public facebook::react::jsinspector_modern::HostAgent& operator=(facebook::react::jsinspector_modern::HostAgent&&) = delete; - public void emitSystemStateChanged(bool isSingleHost); - public void handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public void setCurrentInstanceAgent(std::shared_ptr agent); - public ~HostAgent(); -} - class facebook::react::jsinspector_modern::HostTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { public HostTarget(const facebook::react::jsinspector_modern::HostTarget&) = delete; public HostTarget(facebook::react::jsinspector_modern::HostTarget&&) = delete; @@ -9041,16 +9013,6 @@ struct facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMedia public std::string colorScheme; } -class facebook::react::jsinspector_modern::HostTargetTraceRecording { - public HostTargetTraceRecording(facebook::react::jsinspector_modern::HostTarget& hostTarget, facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); - public bool isBackgroundInitiated() const; - public bool isUserInitiated() const; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stop(); - public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); - public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); - public void start(); -} - class facebook::react::jsinspector_modern::HostTargetTracingDelegate { public HostTargetTracingDelegate() = default; public HostTargetTracingDelegate(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; @@ -9062,11 +9024,6 @@ class facebook::react::jsinspector_modern::HostTargetTracingDelegate { public virtual ~HostTargetTracingDelegate() = default; } -class facebook::react::jsinspector_modern::HostTracingAgent { - public HostTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); -} - class facebook::react::jsinspector_modern::IDestructible { public virtual ~IDestructible() = 0; } @@ -9140,13 +9097,6 @@ class facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { public virtual ~InspectorPackagerConnectionDelegate() = default; } -class facebook::react::jsinspector_modern::InstanceAgent { - public InstanceAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::InstanceTarget& target, facebook::react::jsinspector_modern::SessionState& sessionState); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public void sendConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage message); - public void setCurrentRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtime); -} - class facebook::react::jsinspector_modern::InstanceTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { public InstanceTarget(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; public InstanceTarget(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; @@ -9169,12 +9119,6 @@ class facebook::react::jsinspector_modern::InstanceTargetDelegate { public virtual ~InstanceTargetDelegate(); } -class facebook::react::jsinspector_modern::InstanceTracingAgent { - public InstanceTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void setTracedRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtimeTarget); - public ~InstanceTracingAgent(); -} - class facebook::react::jsinspector_modern::JCxxInspectorPackagerConnection : public jni::HybridClass { public static constexpr auto kJavaDescriptor; public static void registerNatives(); @@ -9273,20 +9217,11 @@ class facebook::react::jsinspector_modern::NotImplementedException : public std: public const char* what() const noexcept override; } -class facebook::react::jsinspector_modern::NullRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { -} - class facebook::react::jsinspector_modern::PerfMonitorUpdateHandler { public PerfMonitorUpdateHandler(facebook::react::jsinspector_modern::HostTargetDelegate& delegate); public void handlePerfIssueAdded(const std::string& message); } -class facebook::react::jsinspector_modern::RAIIRemoteConnection { - public RAIIRemoteConnection(std::unique_ptr remote); - public void onMessage(std::string message); - public ~RAIIRemoteConnection(); -} - class facebook::react::jsinspector_modern::RuntimeAgent { public RuntimeAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::RuntimeTargetController& targetController, facebook::react::jsinspector_modern::ExecutionContextDescription executionContextDescription, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr delegate); public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); @@ -9367,12 +9302,6 @@ class facebook::react::jsinspector_modern::StackTrace { public virtual ~StackTrace() = default; } -class facebook::react::jsinspector_modern::TracingAgent { - public TracingAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public ~TracingAgent(); -} - enum facebook::react::jsinspector_modern::ConsoleAPIType { kAssert, kClear, @@ -9567,7 +9496,32 @@ class facebook::react::jsinspector_modern::WeakList { } -constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::kCurrentBufferStartTimeUninitialized; +using facebook::react::jsinspector_modern::cdp::ParseError = folly::json::parse_error; +using facebook::react::jsinspector_modern::cdp::RequestId = long long; +using facebook::react::jsinspector_modern::cdp::TypeError = folly::TypeError; +facebook::react::jsinspector_modern::cdp::PreparsedRequest facebook::react::jsinspector_modern::cdp::preparse(std::string_view message); +std::string facebook::react::jsinspector_modern::cdp::jsonError(std::optional id, facebook::react::jsinspector_modern::cdp::ErrorCode code, std::optional message = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonNotification(const std::string& method, std::optional params = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonRequest(facebook::react::jsinspector_modern::cdp::RequestId id, const std::string& method, std::optional params = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonResult(facebook::react::jsinspector_modern::cdp::RequestId id, const folly::dynamic& result = folly::dynamic::object()); + +enum facebook::react::jsinspector_modern::cdp::ErrorCode { + InternalError, + InvalidParams, + InvalidRequest, + MethodNotFound, + ParseError, +} + +struct facebook::react::jsinspector_modern::cdp::PreparsedRequest { + public bool operator==(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& rhs) const; + public facebook::react::jsinspector_modern::cdp::RequestId id; + public folly::dynamic params; + public std::string method; + public std::string toJson() const; +} + + using facebook::react::jsinspector_modern::tracing::Categories = folly::small_vector; using facebook::react::jsinspector_modern::tracing::ConsoleTimeStampEntry = std::variant; using facebook::react::jsinspector_modern::tracing::FrameSequenceId = uint64_t; @@ -9584,12 +9538,6 @@ std::string facebook::react::jsinspector_modern::tracing::serializeTracingCatego std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const std::set& categories); std::string facebook::react::jsinspector_modern::tracing::tracingCategoryToString(const facebook::react::jsinspector_modern::tracing::Category& category); -class facebook::react::jsinspector_modern::tracing::HostTracingProfileSerializer { - public static void emitAsDataCollectedChunks(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const std::function& chunkCallback, size_t maxChunkBytes, uint16_t profileTraceEventsChunkSize); - public static void emitFrameTimings(std::vector&& frameTimings, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::HighResTimeStamp recordingStartTimestamp, const std::function& chunkCallback, size_t maxChunkBytes); - public static void emitPerformanceTraceEvents(std::vector&& events, const std::function& chunkCallback, size_t maxChunkBytes); -} - class facebook::react::jsinspector_modern::tracing::PerformanceTracer { public bool isTracing() const; public bool startTracing(); @@ -9776,17 +9724,6 @@ struct facebook::react::jsinspector_modern::tracing::TraceRecordingState { public ~TraceRecordingState() = default; } -template -class facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer { - public TimeWindowedBuffer(); - public TimeWindowedBuffer(facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer::TimestampAccessor timestampAccessor, facebook::react::HighResDuration windowSize); - public std::vector pruneExpiredAndExtract(facebook::react::HighResTimeStamp windowRightBoundary = facebook::react::HighResTimeStamp::now()); - public using TimestampAccessor = std::function; - public void clear(); - public void push(T&& element); - public void push(const T& element); -} - template class facebook::react::jsinspector_modern::tracing::PerformanceTracerSection { public PerformanceTracerSection(const char* name, const char* track = nullptr, const char* trackGroup = nullptr, const char* color = nullptr, Args... args) noexcept; @@ -9798,32 +9735,6 @@ class facebook::react::jsinspector_modern::tracing::PerformanceTracerSection { } -using facebook::react::jsinspector_modern::cdp::ParseError = folly::json::parse_error; -using facebook::react::jsinspector_modern::cdp::RequestId = long long; -using facebook::react::jsinspector_modern::cdp::TypeError = folly::TypeError; -facebook::react::jsinspector_modern::cdp::PreparsedRequest facebook::react::jsinspector_modern::cdp::preparse(std::string_view message); -std::string facebook::react::jsinspector_modern::cdp::jsonError(std::optional id, facebook::react::jsinspector_modern::cdp::ErrorCode code, std::optional message = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonNotification(const std::string& method, std::optional params = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonRequest(facebook::react::jsinspector_modern::cdp::RequestId id, const std::string& method, std::optional params = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonResult(facebook::react::jsinspector_modern::cdp::RequestId id, const folly::dynamic& result = folly::dynamic::object()); - -enum facebook::react::jsinspector_modern::cdp::ErrorCode { - InternalError, - InvalidParams, - InvalidRequest, - MethodNotFound, - ParseError, -} - -struct facebook::react::jsinspector_modern::cdp::PreparsedRequest { - public bool operator==(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& rhs) const; - public facebook::react::jsinspector_modern::cdp::RequestId id; - public folly::dynamic params; - public std::string method; - public std::string toJson() const; -} - - template struct facebook::react::array_detail::BridgingStatic { public static facebook::jsi::Array toJs(facebook::jsi::Runtime& rt, const T& array, const std::shared_ptr& jsInvoker); diff --git a/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api index f4090a466058..ee67b621aaab 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api @@ -10845,27 +10845,12 @@ facebook::react::jsinspector_modern::IInspector& facebook::react::jsinspector_mo folly::dynamic facebook::react::jsinspector_modern::createHostMetadataPayload(const facebook::react::jsinspector_modern::HostTargetMetadata& metadata); folly::dynamic facebook::react::jsinspector_modern::targetCapabilitiesToDynamic(const facebook::react::jsinspector_modern::InspectorTargetCapabilities& capabilities); std::unique_ptr facebook::react::jsinspector_modern::makeTestInspectorInstance(); -template -void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const ChannelsRange& channels, bool isBackgroundTrace); template facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::ScopedExecutor executor); template facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::VoidExecutor executor); template facebook::react::jsinspector_modern::VoidExecutor facebook::react::jsinspector_modern::makeVoidExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); -void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const facebook::react::jsinspector_modern::FrontendChannel& channel, bool isBackgroundTrace); - -class facebook::react::jsinspector_modern::CallbackLocalConnection : public facebook::react::jsinspector_modern::ILocalConnection { - public CallbackLocalConnection(std::function handler); - public virtual void disconnect() override; - public virtual void sendMessage(std::string message) override; -} - -class facebook::react::jsinspector_modern::CallbackRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { - public CallbackRemoteConnection(std::function handler); - public virtual void onDisconnect() override; - public virtual void onMessage(std::string message) override; -} class facebook::react::jsinspector_modern::ExecutionContextSelector { public ExecutionContextSelector() = delete; @@ -10893,19 +10878,6 @@ class facebook::react::jsinspector_modern::FallbackRuntimeTargetDelegate : publi public virtual void enableSamplingProfiler() override; } -class facebook::react::jsinspector_modern::HostAgent { - public HostAgent(const facebook::react::jsinspector_modern::FrontendChannel& frontendChannel, facebook::react::jsinspector_modern::HostTargetController& targetController, facebook::react::jsinspector_modern::HostTargetMetadata hostMetadata, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::VoidExecutor executor); - public HostAgent(const facebook::react::jsinspector_modern::HostAgent&) = delete; - public HostAgent(facebook::react::jsinspector_modern::HostAgent&&) = delete; - public bool isEligibleForBackgroundTrace() const; - public facebook::react::jsinspector_modern::HostAgent& operator=(const facebook::react::jsinspector_modern::HostAgent&) = delete; - public facebook::react::jsinspector_modern::HostAgent& operator=(facebook::react::jsinspector_modern::HostAgent&&) = delete; - public void emitSystemStateChanged(bool isSingleHost); - public void handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public void setCurrentInstanceAgent(std::shared_ptr agent); - public ~HostAgent(); -} - class facebook::react::jsinspector_modern::HostTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { public HostTarget(const facebook::react::jsinspector_modern::HostTarget&) = delete; public HostTarget(facebook::react::jsinspector_modern::HostTarget&&) = delete; @@ -10972,16 +10944,6 @@ struct facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMedia public std::string colorScheme; } -class facebook::react::jsinspector_modern::HostTargetTraceRecording { - public HostTargetTraceRecording(facebook::react::jsinspector_modern::HostTarget& hostTarget, facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); - public bool isBackgroundInitiated() const; - public bool isUserInitiated() const; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stop(); - public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); - public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); - public void start(); -} - class facebook::react::jsinspector_modern::HostTargetTracingDelegate { public HostTargetTracingDelegate() = default; public HostTargetTracingDelegate(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; @@ -10993,11 +10955,6 @@ class facebook::react::jsinspector_modern::HostTargetTracingDelegate { public virtual ~HostTargetTracingDelegate() = default; } -class facebook::react::jsinspector_modern::HostTracingAgent { - public HostTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); -} - class facebook::react::jsinspector_modern::IDestructible { public virtual ~IDestructible() = 0; } @@ -11071,13 +11028,6 @@ class facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { public virtual ~InspectorPackagerConnectionDelegate() = default; } -class facebook::react::jsinspector_modern::InstanceAgent { - public InstanceAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::InstanceTarget& target, facebook::react::jsinspector_modern::SessionState& sessionState); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public void sendConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage message); - public void setCurrentRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtime); -} - class facebook::react::jsinspector_modern::InstanceTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { public InstanceTarget(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; public InstanceTarget(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; @@ -11100,12 +11050,6 @@ class facebook::react::jsinspector_modern::InstanceTargetDelegate { public virtual ~InstanceTargetDelegate(); } -class facebook::react::jsinspector_modern::InstanceTracingAgent { - public InstanceTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void setTracedRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtimeTarget); - public ~InstanceTracingAgent(); -} - class facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { public LoadNetworkResourceDelegate() = default; public LoadNetworkResourceDelegate(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; @@ -11145,20 +11089,11 @@ class facebook::react::jsinspector_modern::NotImplementedException : public std: public const char* what() const noexcept override; } -class facebook::react::jsinspector_modern::NullRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { -} - class facebook::react::jsinspector_modern::PerfMonitorUpdateHandler { public PerfMonitorUpdateHandler(facebook::react::jsinspector_modern::HostTargetDelegate& delegate); public void handlePerfIssueAdded(const std::string& message); } -class facebook::react::jsinspector_modern::RAIIRemoteConnection { - public RAIIRemoteConnection(std::unique_ptr remote); - public void onMessage(std::string message); - public ~RAIIRemoteConnection(); -} - class facebook::react::jsinspector_modern::RuntimeAgent { public RuntimeAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::RuntimeTargetController& targetController, facebook::react::jsinspector_modern::ExecutionContextDescription executionContextDescription, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr delegate); public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); @@ -11239,12 +11174,6 @@ class facebook::react::jsinspector_modern::StackTrace { public virtual ~StackTrace() = default; } -class facebook::react::jsinspector_modern::TracingAgent { - public TracingAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public ~TracingAgent(); -} - enum facebook::react::jsinspector_modern::ConsoleAPIType { kAssert, kClear, @@ -11426,7 +11355,32 @@ class facebook::react::jsinspector_modern::WeakList { } -constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::kCurrentBufferStartTimeUninitialized; +using facebook::react::jsinspector_modern::cdp::ParseError = folly::json::parse_error; +using facebook::react::jsinspector_modern::cdp::RequestId = long long; +using facebook::react::jsinspector_modern::cdp::TypeError = folly::TypeError; +facebook::react::jsinspector_modern::cdp::PreparsedRequest facebook::react::jsinspector_modern::cdp::preparse(std::string_view message); +std::string facebook::react::jsinspector_modern::cdp::jsonError(std::optional id, facebook::react::jsinspector_modern::cdp::ErrorCode code, std::optional message = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonNotification(const std::string& method, std::optional params = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonRequest(facebook::react::jsinspector_modern::cdp::RequestId id, const std::string& method, std::optional params = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonResult(facebook::react::jsinspector_modern::cdp::RequestId id, const folly::dynamic& result = folly::dynamic::object()); + +enum facebook::react::jsinspector_modern::cdp::ErrorCode { + InternalError, + InvalidParams, + InvalidRequest, + MethodNotFound, + ParseError, +} + +struct facebook::react::jsinspector_modern::cdp::PreparsedRequest { + public bool operator==(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& rhs) const; + public facebook::react::jsinspector_modern::cdp::RequestId id; + public folly::dynamic params; + public std::string method; + public std::string toJson() const; +} + + using facebook::react::jsinspector_modern::tracing::Categories = folly::small_vector; using facebook::react::jsinspector_modern::tracing::ConsoleTimeStampEntry = std::variant; using facebook::react::jsinspector_modern::tracing::FrameSequenceId = uint64_t; @@ -11443,12 +11397,6 @@ std::string facebook::react::jsinspector_modern::tracing::serializeTracingCatego std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const std::set& categories); std::string facebook::react::jsinspector_modern::tracing::tracingCategoryToString(const facebook::react::jsinspector_modern::tracing::Category& category); -class facebook::react::jsinspector_modern::tracing::HostTracingProfileSerializer { - public static void emitAsDataCollectedChunks(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const std::function& chunkCallback, size_t maxChunkBytes, uint16_t profileTraceEventsChunkSize); - public static void emitFrameTimings(std::vector&& frameTimings, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::HighResTimeStamp recordingStartTimestamp, const std::function& chunkCallback, size_t maxChunkBytes); - public static void emitPerformanceTraceEvents(std::vector&& events, const std::function& chunkCallback, size_t maxChunkBytes); -} - class facebook::react::jsinspector_modern::tracing::PerformanceTracer { public bool isTracing() const; public bool startTracing(); @@ -11635,17 +11583,6 @@ struct facebook::react::jsinspector_modern::tracing::TraceRecordingState { public ~TraceRecordingState() = default; } -template -class facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer { - public TimeWindowedBuffer(); - public TimeWindowedBuffer(facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer::TimestampAccessor timestampAccessor, facebook::react::HighResDuration windowSize); - public std::vector pruneExpiredAndExtract(facebook::react::HighResTimeStamp windowRightBoundary = facebook::react::HighResTimeStamp::now()); - public using TimestampAccessor = std::function; - public void clear(); - public void push(T&& element); - public void push(const T& element); -} - template class facebook::react::jsinspector_modern::tracing::PerformanceTracerSection { public PerformanceTracerSection(const char* name, const char* track = nullptr, const char* trackGroup = nullptr, const char* color = nullptr, Args... args) noexcept; @@ -11657,32 +11594,6 @@ class facebook::react::jsinspector_modern::tracing::PerformanceTracerSection { } -using facebook::react::jsinspector_modern::cdp::ParseError = folly::json::parse_error; -using facebook::react::jsinspector_modern::cdp::RequestId = long long; -using facebook::react::jsinspector_modern::cdp::TypeError = folly::TypeError; -facebook::react::jsinspector_modern::cdp::PreparsedRequest facebook::react::jsinspector_modern::cdp::preparse(std::string_view message); -std::string facebook::react::jsinspector_modern::cdp::jsonError(std::optional id, facebook::react::jsinspector_modern::cdp::ErrorCode code, std::optional message = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonNotification(const std::string& method, std::optional params = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonRequest(facebook::react::jsinspector_modern::cdp::RequestId id, const std::string& method, std::optional params = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonResult(facebook::react::jsinspector_modern::cdp::RequestId id, const folly::dynamic& result = folly::dynamic::object()); - -enum facebook::react::jsinspector_modern::cdp::ErrorCode { - InternalError, - InvalidParams, - InvalidRequest, - MethodNotFound, - ParseError, -} - -struct facebook::react::jsinspector_modern::cdp::PreparsedRequest { - public bool operator==(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& rhs) const; - public facebook::react::jsinspector_modern::cdp::RequestId id; - public folly::dynamic params; - public std::string method; - public std::string toJson() const; -} - - template struct facebook::react::array_detail::BridgingStatic { public static facebook::jsi::Array toJs(facebook::jsi::Runtime& rt, const T& array, const std::shared_ptr& jsInvoker); diff --git a/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api b/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api index 4ed516be69b2..c570e7fd4420 100644 --- a/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api @@ -6149,27 +6149,12 @@ facebook::react::jsinspector_modern::IInspector& facebook::react::jsinspector_mo folly::dynamic facebook::react::jsinspector_modern::createHostMetadataPayload(const facebook::react::jsinspector_modern::HostTargetMetadata& metadata); folly::dynamic facebook::react::jsinspector_modern::targetCapabilitiesToDynamic(const facebook::react::jsinspector_modern::InspectorTargetCapabilities& capabilities); std::unique_ptr facebook::react::jsinspector_modern::makeTestInspectorInstance(); -template -void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const ChannelsRange& channels, bool isBackgroundTrace); template facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::ScopedExecutor executor); template facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::VoidExecutor executor); template facebook::react::jsinspector_modern::VoidExecutor facebook::react::jsinspector_modern::makeVoidExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); -void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const facebook::react::jsinspector_modern::FrontendChannel& channel, bool isBackgroundTrace); - -class facebook::react::jsinspector_modern::CallbackLocalConnection : public facebook::react::jsinspector_modern::ILocalConnection { - public CallbackLocalConnection(std::function handler); - public virtual void disconnect() override; - public virtual void sendMessage(std::string message) override; -} - -class facebook::react::jsinspector_modern::CallbackRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { - public CallbackRemoteConnection(std::function handler); - public virtual void onDisconnect() override; - public virtual void onMessage(std::string message) override; -} class facebook::react::jsinspector_modern::ExecutionContextSelector { public ExecutionContextSelector() = delete; @@ -6197,19 +6182,6 @@ class facebook::react::jsinspector_modern::FallbackRuntimeTargetDelegate : publi public virtual void enableSamplingProfiler() override; } -class facebook::react::jsinspector_modern::HostAgent { - public HostAgent(const facebook::react::jsinspector_modern::FrontendChannel& frontendChannel, facebook::react::jsinspector_modern::HostTargetController& targetController, facebook::react::jsinspector_modern::HostTargetMetadata hostMetadata, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::VoidExecutor executor); - public HostAgent(const facebook::react::jsinspector_modern::HostAgent&) = delete; - public HostAgent(facebook::react::jsinspector_modern::HostAgent&&) = delete; - public bool isEligibleForBackgroundTrace() const; - public facebook::react::jsinspector_modern::HostAgent& operator=(const facebook::react::jsinspector_modern::HostAgent&) = delete; - public facebook::react::jsinspector_modern::HostAgent& operator=(facebook::react::jsinspector_modern::HostAgent&&) = delete; - public void emitSystemStateChanged(bool isSingleHost); - public void handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public void setCurrentInstanceAgent(std::shared_ptr agent); - public ~HostAgent(); -} - class facebook::react::jsinspector_modern::HostTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { public HostTarget(const facebook::react::jsinspector_modern::HostTarget&) = delete; public HostTarget(facebook::react::jsinspector_modern::HostTarget&&) = delete; @@ -6276,16 +6248,6 @@ struct facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMedia public std::string colorScheme; } -class facebook::react::jsinspector_modern::HostTargetTraceRecording { - public HostTargetTraceRecording(facebook::react::jsinspector_modern::HostTarget& hostTarget, facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); - public bool isBackgroundInitiated() const; - public bool isUserInitiated() const; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stop(); - public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); - public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); - public void start(); -} - class facebook::react::jsinspector_modern::HostTargetTracingDelegate { public HostTargetTracingDelegate() = default; public HostTargetTracingDelegate(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; @@ -6297,11 +6259,6 @@ class facebook::react::jsinspector_modern::HostTargetTracingDelegate { public virtual ~HostTargetTracingDelegate() = default; } -class facebook::react::jsinspector_modern::HostTracingAgent { - public HostTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); -} - class facebook::react::jsinspector_modern::IDestructible { public virtual ~IDestructible() = 0; } @@ -6375,13 +6332,6 @@ class facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { public virtual ~InspectorPackagerConnectionDelegate() = default; } -class facebook::react::jsinspector_modern::InstanceAgent { - public InstanceAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::InstanceTarget& target, facebook::react::jsinspector_modern::SessionState& sessionState); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public void sendConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage message); - public void setCurrentRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtime); -} - class facebook::react::jsinspector_modern::InstanceTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { public InstanceTarget(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; public InstanceTarget(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; @@ -6404,12 +6354,6 @@ class facebook::react::jsinspector_modern::InstanceTargetDelegate { public virtual ~InstanceTargetDelegate(); } -class facebook::react::jsinspector_modern::InstanceTracingAgent { - public InstanceTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void setTracedRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtimeTarget); - public ~InstanceTracingAgent(); -} - class facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { public LoadNetworkResourceDelegate() = default; public LoadNetworkResourceDelegate(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; @@ -6449,20 +6393,11 @@ class facebook::react::jsinspector_modern::NotImplementedException : public std: public const char* what() const noexcept override; } -class facebook::react::jsinspector_modern::NullRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { -} - class facebook::react::jsinspector_modern::PerfMonitorUpdateHandler { public PerfMonitorUpdateHandler(facebook::react::jsinspector_modern::HostTargetDelegate& delegate); public void handlePerfIssueAdded(const std::string& message); } -class facebook::react::jsinspector_modern::RAIIRemoteConnection { - public RAIIRemoteConnection(std::unique_ptr remote); - public void onMessage(std::string message); - public ~RAIIRemoteConnection(); -} - class facebook::react::jsinspector_modern::RuntimeAgent { public RuntimeAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::RuntimeTargetController& targetController, facebook::react::jsinspector_modern::ExecutionContextDescription executionContextDescription, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr delegate); public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); @@ -6543,12 +6478,6 @@ class facebook::react::jsinspector_modern::StackTrace { public virtual ~StackTrace() = default; } -class facebook::react::jsinspector_modern::TracingAgent { - public TracingAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public ~TracingAgent(); -} - enum facebook::react::jsinspector_modern::ConsoleAPIType { kAssert, kClear, @@ -6730,7 +6659,32 @@ class facebook::react::jsinspector_modern::WeakList { } -constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::kCurrentBufferStartTimeUninitialized; +using facebook::react::jsinspector_modern::cdp::ParseError = folly::json::parse_error; +using facebook::react::jsinspector_modern::cdp::RequestId = long long; +using facebook::react::jsinspector_modern::cdp::TypeError = folly::TypeError; +facebook::react::jsinspector_modern::cdp::PreparsedRequest facebook::react::jsinspector_modern::cdp::preparse(std::string_view message); +std::string facebook::react::jsinspector_modern::cdp::jsonError(std::optional id, facebook::react::jsinspector_modern::cdp::ErrorCode code, std::optional message = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonNotification(const std::string& method, std::optional params = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonRequest(facebook::react::jsinspector_modern::cdp::RequestId id, const std::string& method, std::optional params = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonResult(facebook::react::jsinspector_modern::cdp::RequestId id, const folly::dynamic& result = folly::dynamic::object()); + +enum facebook::react::jsinspector_modern::cdp::ErrorCode { + InternalError, + InvalidParams, + InvalidRequest, + MethodNotFound, + ParseError, +} + +struct facebook::react::jsinspector_modern::cdp::PreparsedRequest { + public bool operator==(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& rhs) const; + public facebook::react::jsinspector_modern::cdp::RequestId id; + public folly::dynamic params; + public std::string method; + public std::string toJson() const; +} + + using facebook::react::jsinspector_modern::tracing::Categories = folly::small_vector; using facebook::react::jsinspector_modern::tracing::ConsoleTimeStampEntry = std::variant; using facebook::react::jsinspector_modern::tracing::FrameSequenceId = uint64_t; @@ -6747,12 +6701,6 @@ std::string facebook::react::jsinspector_modern::tracing::serializeTracingCatego std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const std::set& categories); std::string facebook::react::jsinspector_modern::tracing::tracingCategoryToString(const facebook::react::jsinspector_modern::tracing::Category& category); -class facebook::react::jsinspector_modern::tracing::HostTracingProfileSerializer { - public static void emitAsDataCollectedChunks(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const std::function& chunkCallback, size_t maxChunkBytes, uint16_t profileTraceEventsChunkSize); - public static void emitFrameTimings(std::vector&& frameTimings, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::HighResTimeStamp recordingStartTimestamp, const std::function& chunkCallback, size_t maxChunkBytes); - public static void emitPerformanceTraceEvents(std::vector&& events, const std::function& chunkCallback, size_t maxChunkBytes); -} - class facebook::react::jsinspector_modern::tracing::PerformanceTracer { public bool isTracing() const; public bool startTracing(); @@ -6939,17 +6887,6 @@ struct facebook::react::jsinspector_modern::tracing::TraceRecordingState { public ~TraceRecordingState() = default; } -template -class facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer { - public TimeWindowedBuffer(); - public TimeWindowedBuffer(facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer::TimestampAccessor timestampAccessor, facebook::react::HighResDuration windowSize); - public std::vector pruneExpiredAndExtract(facebook::react::HighResTimeStamp windowRightBoundary = facebook::react::HighResTimeStamp::now()); - public using TimestampAccessor = std::function; - public void clear(); - public void push(T&& element); - public void push(const T& element); -} - template class facebook::react::jsinspector_modern::tracing::PerformanceTracerSection { public PerformanceTracerSection(const char* name, const char* track = nullptr, const char* trackGroup = nullptr, const char* color = nullptr, Args... args) noexcept; @@ -6961,32 +6898,6 @@ class facebook::react::jsinspector_modern::tracing::PerformanceTracerSection { } -using facebook::react::jsinspector_modern::cdp::ParseError = folly::json::parse_error; -using facebook::react::jsinspector_modern::cdp::RequestId = long long; -using facebook::react::jsinspector_modern::cdp::TypeError = folly::TypeError; -facebook::react::jsinspector_modern::cdp::PreparsedRequest facebook::react::jsinspector_modern::cdp::preparse(std::string_view message); -std::string facebook::react::jsinspector_modern::cdp::jsonError(std::optional id, facebook::react::jsinspector_modern::cdp::ErrorCode code, std::optional message = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonNotification(const std::string& method, std::optional params = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonRequest(facebook::react::jsinspector_modern::cdp::RequestId id, const std::string& method, std::optional params = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonResult(facebook::react::jsinspector_modern::cdp::RequestId id, const folly::dynamic& result = folly::dynamic::object()); - -enum facebook::react::jsinspector_modern::cdp::ErrorCode { - InternalError, - InvalidParams, - InvalidRequest, - MethodNotFound, - ParseError, -} - -struct facebook::react::jsinspector_modern::cdp::PreparsedRequest { - public bool operator==(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& rhs) const; - public facebook::react::jsinspector_modern::cdp::RequestId id; - public folly::dynamic params; - public std::string method; - public std::string toJson() const; -} - - template struct facebook::react::array_detail::BridgingStatic { public static facebook::jsi::Array toJs(facebook::jsi::Runtime& rt, const T& array, const std::shared_ptr& jsInvoker); From b46fabd0d5b7e5fadf2f53678245cff2ed502dd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dawid=20Ma=C5=82ecki?= Date: Fri, 9 Oct 2026 02:32:12 -0700 Subject: [PATCH 6/6] Make ViewPropsInterpolation.h private (#58944) Summary: Pull Request resolved: https://github.com/react/react-native/pull/58944 Move `ViewPropsInterpolation.h` from the public tier of the C++ stable API to the private tier, and remove it from the `` umbrella. The header defines `interpolateViewProps`, an inline helper that interpolates opacity and transform between two `ViewProps` during a layout animation. It is an implementation detail of React Native's layout animation system, the only code that calls it, and it is not part of the API for component authors. No public or for-frameworks header includes it. Changelog: [Internal] Reviewed By: cipolleschi Differential Revision: D123651988 --- .../ReactCommon/react/renderer/components/view/React/View.h | 1 - .../react/renderer/components/view/ViewPropsInterpolation.h | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/react-native/ReactCommon/react/renderer/components/view/React/View.h b/packages/react-native/ReactCommon/react/renderer/components/view/React/View.h index 09d0f82ef11e..ce20d40aa0c6 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/view/React/View.h +++ b/packages/react-native/ReactCommon/react/renderer/components/view/React/View.h @@ -51,7 +51,6 @@ #include #include #include -#include #include #include #include diff --git a/packages/react-native/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h b/packages/react-native/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h index 99fb1ce9043f..da57a08f77e6 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +++ b/packages/react-native/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include #include