Persist Debugger and Runtime domain state for Hermes CDPAgent (#43443)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43443

TSIA

Changelog: [Internal]

Reviewed By: huntie

Differential Revision: D54712525

fbshipit-source-id: 34b1804088f15a2524607ebce81bceb82170feab
This commit is contained in:
Moti Zilberman
2024-03-12 16:45:36 -07:00
committed by Facebook GitHub Bot
parent d2c5db59cd
commit 1150f21404
3 changed files with 17 additions and 0 deletions
@@ -74,6 +74,12 @@ class HermesRuntimeAgentDelegateNew::Impl final : public RuntimeAgentDelegate {
if (sessionState.isLogDomainEnabled) {
sendHermesIntegrationDescription();
}
if (sessionState.isRuntimeDomainEnabled) {
hermes_->enableRuntimeDomain();
}
if (sessionState.isDebuggerDomainEnabled) {
hermes_->enableDebuggerDomain();
}
}
bool handleRequest(const cdp::PreparsedRequest& req) override {
@@ -74,6 +74,16 @@ void HostAgent::handleRequest(const cdp::PreparsedRequest& req) {
} else if (req.method == "Runtime.disable") {
sessionState_.isRuntimeDomainEnabled = false;
shouldSendOKResponse = true;
isFinishedHandlingRequest = false;
} else if (req.method == "Debugger.enable") {
sessionState_.isDebuggerDomainEnabled = true;
shouldSendOKResponse = true;
isFinishedHandlingRequest = false;
} else if (req.method == "Debugger.disable") {
sessionState_.isDebuggerDomainEnabled = false;
shouldSendOKResponse = true;
isFinishedHandlingRequest = false;
}
@@ -20,6 +20,7 @@ namespace facebook::react::jsinspector_modern {
struct SessionState {
public:
// TODO: Generalise this to arbitrary domains
bool isDebuggerDomainEnabled{false};
bool isLogDomainEnabled{false};
bool isRuntimeDomainEnabled{false};