|
15 | 15 |
|
16 | 16 | #include <hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.h>
|
17 | 17 |
|
18 |
| -#if defined(HERMES_ENABLE_DEBUGGER) && !defined(HERMES_V1_ENABLED) |
19 |
| -#include <hermes/inspector-modern/chrome/Registration.h> |
20 |
| -#include <hermes/inspector/RuntimeAdapter.h> |
21 |
| -#endif |
22 |
| - |
23 | 18 | using namespace facebook::hermes;
|
24 | 19 | using namespace facebook::jsi;
|
25 | 20 |
|
26 | 21 | namespace facebook::react {
|
27 | 22 |
|
28 | 23 | namespace {
|
29 | 24 |
|
30 |
| -#if defined(HERMES_ENABLE_DEBUGGER) && !defined(HERMES_V1_ENABLED) |
31 |
| - |
32 |
| -class HermesExecutorRuntimeAdapter |
33 |
| - : public facebook::hermes::inspector_modern::RuntimeAdapter { |
34 |
| - public: |
35 |
| - HermesExecutorRuntimeAdapter( |
36 |
| - std::shared_ptr<HermesRuntime> runtime, |
37 |
| - std::shared_ptr<MessageQueueThread> thread) |
38 |
| - : runtime_(runtime), thread_(std::move(thread)) {} |
39 |
| - |
40 |
| - virtual ~HermesExecutorRuntimeAdapter() = default; |
41 |
| - |
42 |
| - HermesRuntime& getRuntime() override { |
43 |
| - return *runtime_; |
44 |
| - } |
45 |
| - |
46 |
| - void tickleJs() override { |
47 |
| - thread_->runOnQueue( |
48 |
| - [weakRuntime = std::weak_ptr<HermesRuntime>(runtime_)]() { |
49 |
| - auto runtime = weakRuntime.lock(); |
50 |
| - if (!runtime) { |
51 |
| - return; |
52 |
| - } |
53 |
| - jsi::Function func = |
54 |
| - runtime->global().getPropertyAsFunction(*runtime, "__tickleJs"); |
55 |
| - func.call(*runtime); |
56 |
| - }); |
57 |
| - } |
58 |
| - |
59 |
| - private: |
60 |
| - std::shared_ptr<HermesRuntime> runtime_; |
61 |
| - |
62 |
| - std::shared_ptr<MessageQueueThread> thread_; |
63 |
| -}; |
64 |
| - |
65 |
| -#endif // defined(HERMES_ENABLE_DEBUGGER) && !defined(HERMES_V1_ENABLED) |
66 |
| - |
67 | 25 | struct ReentrancyCheck {
|
68 | 26 | // This is effectively a very subtle and complex assert, so only
|
69 | 27 | // include it in builds which would include asserts.
|
@@ -147,42 +105,17 @@ class DecoratedRuntime : public jsi::WithRuntimeDecorator<ReentrancyCheck> {
|
147 | 105 | const std::string& debuggerName)
|
148 | 106 | : jsi::WithRuntimeDecorator<ReentrancyCheck>(*runtime, reentrancyCheck_),
|
149 | 107 | runtime_(std::move(runtime)) {
|
150 |
| -#if defined(HERMES_ENABLE_DEBUGGER) && !defined(HERMES_V1_ENABLED) |
151 |
| - enableDebugger_ = enableDebugger; |
152 |
| - if (enableDebugger_) { |
153 |
| - std::shared_ptr<HermesRuntime> rt(runtime_, &hermesRuntime); |
154 |
| - auto adapter = |
155 |
| - std::make_unique<HermesExecutorRuntimeAdapter>(rt, jsQueue); |
156 |
| - debugToken_ = facebook::hermes::inspector_modern::chrome::enableDebugging( |
157 |
| - std::move(adapter), debuggerName); |
158 |
| - } |
159 |
| -#else |
160 | 108 | (void)jsQueue;
|
161 |
| -#endif // HERMES_ENABLE_DEBUGGER |
162 | 109 | }
|
163 | 110 |
|
164 |
| - ~DecoratedRuntime() { |
165 |
| -#if defined(HERMES_ENABLE_DEBUGGER) && !defined(HERMES_V1_ENABLED) |
166 |
| - if (enableDebugger_) { |
167 |
| - facebook::hermes::inspector_modern::chrome::disableDebugging(debugToken_); |
168 |
| - } |
169 |
| -#endif // HERMES_ENABLE_DEBUGGER |
170 |
| - } |
| 111 | + ~DecoratedRuntime() {} |
171 | 112 |
|
172 | 113 | private:
|
173 | 114 | // runtime_ is a potentially decorated Runtime.
|
174 | 115 | // hermesRuntime is a reference to a HermesRuntime managed by runtime_.
|
175 |
| - // |
176 |
| - // HermesExecutorRuntimeAdapter requirements are kept, because the |
177 |
| - // dtor will disable debugging on the HermesRuntime before the |
178 |
| - // member managing it is destroyed. |
179 | 116 |
|
180 | 117 | std::shared_ptr<Runtime> runtime_;
|
181 | 118 | ReentrancyCheck reentrancyCheck_;
|
182 |
| -#if defined(HERMES_ENABLE_DEBUGGER) && !defined(HERMES_V1_ENABLED) |
183 |
| - bool enableDebugger_; |
184 |
| - facebook::hermes::inspector_modern::chrome::DebugSessionToken debugToken_; |
185 |
| -#endif // HERMES_ENABLE_DEBUGGER |
186 | 119 | };
|
187 | 120 |
|
188 | 121 | } // namespace
|
|
0 commit comments