@triniwiz/nativescript-masonkit 1.0.0-alpha.4 → 1.0.0-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (345) hide show
  1. package/common.d.ts +7 -9
  2. package/common.js +277 -552
  3. package/common.js.map +1 -1
  4. package/helpers.d.ts +32 -10
  5. package/helpers.js +772 -286
  6. package/helpers.js.map +1 -1
  7. package/index.android.d.ts +6 -2
  8. package/index.android.js +21 -3
  9. package/index.android.js.map +1 -1
  10. package/index.d.ts +64 -7
  11. package/index.ios.d.ts +9 -6
  12. package/index.ios.js +39 -25
  13. package/index.ios.js.map +1 -1
  14. package/package.json +1 -1
  15. package/platforms/android/include.gradle +18 -1
  16. package/platforms/android/masonkit-release.aar +0 -0
  17. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/Mason-Swift.h +108 -64
  18. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/mason_native.h +47 -20
  19. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Info.plist +0 -0
  20. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Mason +0 -0
  21. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  22. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.abi.json +6692 -794
  23. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.private.swiftinterface +58 -21
  24. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  25. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftinterface +58 -21
  26. package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  27. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/Mason-Swift.h +216 -128
  28. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/mason_native.h +47 -20
  29. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Info.plist +0 -0
  30. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Mason +0 -0
  31. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  32. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  33. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.abi.json +6692 -794
  34. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +58 -21
  35. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  36. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftinterface +58 -21
  37. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.abi.json +6692 -794
  38. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +58 -21
  39. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  40. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +58 -21
  41. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/_CodeSignature/CodeResources +43 -43
  42. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  43. package/platforms/ios/build.xcconfig +1 -2
  44. package/platforms/ios/src/MasonV8Module.h +583 -0
  45. package/platforms/ios/src/MasonV8Module.mm +1005 -0
  46. package/platforms/ios/src/{include → cpp/include}/mason_native.h +47 -20
  47. package/platforms/ios/src/cpp/include/robin_hood.h +2544 -0
  48. package/platforms/ios/src/module.modulemap +2 -2
  49. package/platforms/new_native_src/cpp/Caches.cpp +36 -0
  50. package/platforms/new_native_src/cpp/Caches.h +42 -0
  51. package/platforms/new_native_src/cpp/Common.h +34 -0
  52. package/platforms/new_native_src/cpp/ConcurrentMap.h +57 -0
  53. package/platforms/new_native_src/cpp/Helpers.cpp +101 -0
  54. package/platforms/new_native_src/cpp/Helpers.h +364 -0
  55. package/platforms/new_native_src/cpp/MasonImpl.cpp +68 -0
  56. package/platforms/new_native_src/cpp/MasonImpl.h +40 -0
  57. package/platforms/new_native_src/cpp/MasonNodeImpl.cpp +89 -0
  58. package/platforms/new_native_src/cpp/MasonNodeImpl.h +47 -0
  59. package/platforms/new_native_src/cpp/MasonStyleImpl.cpp +2181 -0
  60. package/platforms/new_native_src/cpp/MasonStyleImpl.h +420 -0
  61. package/platforms/{ios/Mason.xcframework/ios-arm64/Mason.framework/PrivateHeaders → new_native_src/cpp/include}/mason_native.h +464 -168
  62. package/platforms/new_native_src/cpp/include/robin_hood.h +2544 -0
  63. package/pods/Headers/include/APIDesign.md +72 -0
  64. package/pods/Headers/include/DEPS +10 -0
  65. package/pods/Headers/include/DIR_METADATA +11 -0
  66. package/pods/Headers/include/OWNERS +23 -0
  67. package/pods/Headers/include/cppgc/DEPS +8 -0
  68. package/pods/Headers/include/cppgc/OWNERS +2 -0
  69. package/pods/Headers/include/cppgc/README.md +133 -0
  70. package/pods/Headers/include/cppgc/allocation.h +310 -0
  71. package/pods/Headers/include/cppgc/common.h +29 -0
  72. package/pods/Headers/include/cppgc/cross-thread-persistent.h +465 -0
  73. package/pods/Headers/include/cppgc/custom-space.h +97 -0
  74. package/pods/Headers/include/cppgc/default-platform.h +67 -0
  75. package/pods/Headers/include/cppgc/ephemeron-pair.h +30 -0
  76. package/pods/Headers/include/cppgc/explicit-management.h +100 -0
  77. package/pods/Headers/include/cppgc/garbage-collected.h +106 -0
  78. package/pods/Headers/include/cppgc/heap-consistency.h +266 -0
  79. package/pods/Headers/include/cppgc/heap-state.h +82 -0
  80. package/pods/Headers/include/cppgc/heap-statistics.h +120 -0
  81. package/pods/Headers/include/cppgc/heap.h +206 -0
  82. package/pods/Headers/include/cppgc/internal/api-constants.h +55 -0
  83. package/pods/Headers/include/cppgc/internal/atomic-entry-flag.h +48 -0
  84. package/pods/Headers/include/cppgc/internal/caged-heap-local-data.h +79 -0
  85. package/pods/Headers/include/cppgc/internal/compiler-specific.h +38 -0
  86. package/pods/Headers/include/cppgc/internal/finalizer-trait.h +93 -0
  87. package/pods/Headers/include/cppgc/internal/gc-info.h +156 -0
  88. package/pods/Headers/include/cppgc/internal/logging.h +50 -0
  89. package/pods/Headers/include/cppgc/internal/name-trait.h +122 -0
  90. package/pods/Headers/include/cppgc/internal/persistent-node.h +216 -0
  91. package/pods/Headers/include/cppgc/internal/pointer-policies.h +186 -0
  92. package/pods/Headers/include/cppgc/internal/write-barrier.h +435 -0
  93. package/pods/Headers/include/cppgc/liveness-broker.h +77 -0
  94. package/pods/Headers/include/cppgc/macros.h +26 -0
  95. package/pods/Headers/include/cppgc/member.h +291 -0
  96. package/pods/Headers/include/cppgc/name-provider.h +65 -0
  97. package/pods/Headers/include/cppgc/object-size-trait.h +58 -0
  98. package/pods/Headers/include/cppgc/persistent.h +370 -0
  99. package/pods/Headers/include/cppgc/platform.h +156 -0
  100. package/pods/Headers/include/cppgc/prefinalizer.h +75 -0
  101. package/pods/Headers/include/cppgc/process-heap-statistics.h +36 -0
  102. package/pods/Headers/include/cppgc/sentinel-pointer.h +32 -0
  103. package/pods/Headers/include/cppgc/source-location.h +92 -0
  104. package/pods/Headers/include/cppgc/testing.h +106 -0
  105. package/pods/Headers/include/cppgc/trace-trait.h +116 -0
  106. package/pods/Headers/include/cppgc/type-traits.h +240 -0
  107. package/pods/Headers/include/cppgc/visitor.h +379 -0
  108. package/pods/Headers/include/js_protocol-1.2.json +936 -0
  109. package/pods/Headers/include/js_protocol-1.3.json +1112 -0
  110. package/pods/Headers/include/js_protocol.pdl +1709 -0
  111. package/pods/Headers/include/libffi/arm64/ffi.h +524 -0
  112. package/pods/Headers/include/libffi/arm64/ffitarget.h +92 -0
  113. package/pods/Headers/include/libffi/x86_64/ffi.h +524 -0
  114. package/pods/Headers/include/libffi/x86_64/ffitarget.h +147 -0
  115. package/pods/Headers/include/libffi.h +12 -0
  116. package/pods/Headers/include/libplatform/DEPS +9 -0
  117. package/pods/Headers/include/libplatform/libplatform-export.h +29 -0
  118. package/pods/Headers/include/libplatform/libplatform.h +106 -0
  119. package/pods/Headers/include/libplatform/v8-tracing.h +333 -0
  120. package/pods/Headers/include/v8-array-buffer.h +433 -0
  121. package/pods/Headers/include/v8-callbacks.h +397 -0
  122. package/pods/Headers/include/v8-container.h +129 -0
  123. package/pods/Headers/include/v8-context.h +407 -0
  124. package/pods/Headers/include/v8-cppgc.h +215 -0
  125. package/pods/Headers/include/v8-data.h +80 -0
  126. package/pods/Headers/include/v8-date.h +43 -0
  127. package/pods/Headers/include/v8-debug.h +168 -0
  128. package/pods/Headers/include/v8-embedder-heap.h +218 -0
  129. package/pods/Headers/include/v8-embedder-state-scope.h +51 -0
  130. package/pods/Headers/include/v8-exception.h +217 -0
  131. package/pods/Headers/include/v8-extension.h +62 -0
  132. package/pods/Headers/include/v8-external.h +37 -0
  133. package/pods/Headers/include/v8-fast-api-calls.h +939 -0
  134. package/pods/Headers/include/v8-forward.h +81 -0
  135. package/pods/Headers/include/v8-function-callback.h +475 -0
  136. package/pods/Headers/include/v8-function.h +125 -0
  137. package/pods/Headers/include/v8-initialization.h +315 -0
  138. package/pods/Headers/include/v8-inspector-protocol.h +13 -0
  139. package/pods/Headers/include/v8-inspector.h +376 -0
  140. package/pods/Headers/include/v8-internal.h +661 -0
  141. package/pods/Headers/include/v8-isolate.h +1709 -0
  142. package/pods/Headers/include/v8-json.h +47 -0
  143. package/pods/Headers/include/v8-local-handle.h +455 -0
  144. package/pods/Headers/include/v8-locker.h +149 -0
  145. package/pods/Headers/include/v8-maybe.h +137 -0
  146. package/pods/Headers/include/v8-memory-span.h +43 -0
  147. package/pods/Headers/include/v8-message.h +216 -0
  148. package/pods/Headers/include/v8-metrics.h +255 -0
  149. package/pods/Headers/include/v8-microtask-queue.h +152 -0
  150. package/pods/Headers/include/v8-microtask.h +28 -0
  151. package/pods/Headers/include/v8-object.h +775 -0
  152. package/pods/Headers/include/v8-persistent-handle.h +590 -0
  153. package/pods/Headers/include/v8-platform.h +1092 -0
  154. package/pods/Headers/include/v8-primitive-object.h +118 -0
  155. package/pods/Headers/include/v8-primitive.h +866 -0
  156. package/pods/Headers/include/v8-profiler.h +1198 -0
  157. package/pods/Headers/include/v8-promise.h +174 -0
  158. package/pods/Headers/include/v8-proxy.h +50 -0
  159. package/pods/Headers/include/v8-regexp.h +105 -0
  160. package/pods/Headers/include/v8-script.h +748 -0
  161. package/pods/Headers/include/v8-snapshot.h +196 -0
  162. package/pods/Headers/include/v8-statistics.h +217 -0
  163. package/pods/Headers/include/v8-template.h +1079 -0
  164. package/pods/Headers/include/v8-traced-handle.h +420 -0
  165. package/pods/Headers/include/v8-typed-array.h +282 -0
  166. package/pods/Headers/include/v8-unwinder-state.h +31 -0
  167. package/pods/Headers/include/v8-unwinder.h +132 -0
  168. package/pods/Headers/include/v8-util.h +658 -0
  169. package/pods/Headers/include/v8-value-serializer-version.h +24 -0
  170. package/pods/Headers/include/v8-value-serializer.h +279 -0
  171. package/pods/Headers/include/v8-value.h +526 -0
  172. package/pods/Headers/include/v8-version-string.h +38 -0
  173. package/pods/Headers/include/v8-version.h +20 -0
  174. package/pods/Headers/include/v8-wasm-trap-handler-posix.h +31 -0
  175. package/pods/Headers/include/v8-wasm-trap-handler-win.h +28 -0
  176. package/pods/Headers/include/v8-wasm.h +257 -0
  177. package/pods/Headers/include/v8-weak-callback-info.h +86 -0
  178. package/pods/Headers/include/v8.h +88 -0
  179. package/pods/Headers/include/v8config.h +605 -0
  180. package/pods/Headers/inspector/InspectorServer.h +20 -0
  181. package/pods/Headers/inspector/JsV8InspectorClient.h +66 -0
  182. package/pods/Headers/inspector/base/trace_event/common/trace_event_common.h +1123 -0
  183. package/pods/Headers/inspector/base64.h +9 -0
  184. package/pods/Headers/inspector/src/base/address-region.h +95 -0
  185. package/pods/Headers/inspector/src/base/atomic-utils.h +219 -0
  186. package/pods/Headers/inspector/src/base/atomicops.h +332 -0
  187. package/pods/Headers/inspector/src/base/atomicops_internals_atomicword_compat.h +89 -0
  188. package/pods/Headers/inspector/src/base/base-export.h +31 -0
  189. package/pods/Headers/inspector/src/base/bits.h +343 -0
  190. package/pods/Headers/inspector/src/base/build_config.h +234 -0
  191. package/pods/Headers/inspector/src/base/compiler-specific.h +136 -0
  192. package/pods/Headers/inspector/src/base/export-template.h +163 -0
  193. package/pods/Headers/inspector/src/base/flags.h +130 -0
  194. package/pods/Headers/inspector/src/base/immediate-crash.h +162 -0
  195. package/pods/Headers/inspector/src/base/lazy-instance.h +258 -0
  196. package/pods/Headers/inspector/src/base/logging.h +417 -0
  197. package/pods/Headers/inspector/src/base/macros.h +423 -0
  198. package/pods/Headers/inspector/src/base/memory.h +89 -0
  199. package/pods/Headers/inspector/src/base/once.h +108 -0
  200. package/pods/Headers/inspector/src/base/optional.h +882 -0
  201. package/pods/Headers/inspector/src/base/platform/mutex.h +370 -0
  202. package/pods/Headers/inspector/src/base/platform/platform.h +476 -0
  203. package/pods/Headers/inspector/src/base/platform/semaphore.h +108 -0
  204. package/pods/Headers/inspector/src/base/platform/v8-time.h +513 -0
  205. package/pods/Headers/inspector/src/base/platform/wrappers.h +73 -0
  206. package/pods/Headers/inspector/src/base/safe_conversions.h +389 -0
  207. package/pods/Headers/inspector/src/base/safe_conversions_impl.h +822 -0
  208. package/pods/Headers/inspector/src/base/template-utils.h +113 -0
  209. package/pods/Headers/inspector/src/base/v8-fallthrough.h +21 -0
  210. package/pods/Headers/inspector/src/common/checks.h +38 -0
  211. package/pods/Headers/inspector/src/common/globals.h +1842 -0
  212. package/pods/Headers/inspector/src/debug/debug-interface.h +667 -0
  213. package/pods/Headers/inspector/src/debug/interface-types.h +175 -0
  214. package/pods/Headers/inspector/src/init/v8.h +52 -0
  215. package/pods/Headers/inspector/src/inspector/custom-preview.h +24 -0
  216. package/pods/Headers/inspector/src/inspector/injected-script.h +251 -0
  217. package/pods/Headers/inspector/src/inspector/inspected-context.h +79 -0
  218. package/pods/Headers/inspector/src/inspector/protocol/CSS.h +2148 -0
  219. package/pods/Headers/inspector/src/inspector/protocol/Console.h +211 -0
  220. package/pods/Headers/inspector/src/inspector/protocol/DOM.h +1008 -0
  221. package/pods/Headers/inspector/src/inspector/protocol/Debugger.h +892 -0
  222. package/pods/Headers/inspector/src/inspector/protocol/Forward.h +75 -0
  223. package/pods/Headers/inspector/src/inspector/protocol/HeapProfiler.h +346 -0
  224. package/pods/Headers/inspector/src/inspector/protocol/Log.h +342 -0
  225. package/pods/Headers/inspector/src/inspector/protocol/Network.h +2528 -0
  226. package/pods/Headers/inspector/src/inspector/protocol/Overlay.h +281 -0
  227. package/pods/Headers/inspector/src/inspector/protocol/Page.h +1189 -0
  228. package/pods/Headers/inspector/src/inspector/protocol/Profiler.h +1001 -0
  229. package/pods/Headers/inspector/src/inspector/protocol/Protocol.h +617 -0
  230. package/pods/Headers/inspector/src/inspector/protocol/Runtime.h +1696 -0
  231. package/pods/Headers/inspector/src/inspector/protocol/Schema.h +146 -0
  232. package/pods/Headers/inspector/src/inspector/protocol/Security.h +793 -0
  233. package/pods/Headers/inspector/src/inspector/remote-object-id.h +54 -0
  234. package/pods/Headers/inspector/src/inspector/search-util.h +26 -0
  235. package/pods/Headers/inspector/src/inspector/string-16.h +180 -0
  236. package/pods/Headers/inspector/src/inspector/string-util.h +128 -0
  237. package/pods/Headers/inspector/src/inspector/v8-console-agent-impl.h +48 -0
  238. package/pods/Headers/inspector/src/inspector/v8-console-message.h +147 -0
  239. package/pods/Headers/inspector/src/inspector/v8-console.h +173 -0
  240. package/pods/Headers/inspector/src/inspector/v8-css-agent-impl.h +62 -0
  241. package/pods/Headers/inspector/src/inspector/v8-debugger-agent-impl.h +248 -0
  242. package/pods/Headers/inspector/src/inspector/v8-debugger-id.h +44 -0
  243. package/pods/Headers/inspector/src/inspector/v8-debugger-script.h +123 -0
  244. package/pods/Headers/inspector/src/inspector/v8-debugger.h +257 -0
  245. package/pods/Headers/inspector/src/inspector/v8-dom-agent-impl.h +91 -0
  246. package/pods/Headers/inspector/src/inspector/v8-heap-profiler-agent-impl.h +80 -0
  247. package/pods/Headers/inspector/src/inspector/v8-inspector-impl.h +191 -0
  248. package/pods/Headers/inspector/src/inspector/v8-inspector-session-impl.h +156 -0
  249. package/pods/Headers/inspector/src/inspector/v8-log-agent-impl.h +34 -0
  250. package/pods/Headers/inspector/src/inspector/v8-network-agent-impl.h +71 -0
  251. package/pods/Headers/inspector/src/inspector/v8-ns-debugger-agent-impl.h +24 -0
  252. package/pods/Headers/inspector/src/inspector/v8-overlay-agent-impl.h +70 -0
  253. package/pods/Headers/inspector/src/inspector/v8-page-agent-impl.h +88 -0
  254. package/pods/Headers/inspector/src/inspector/v8-profiler-agent-impl.h +104 -0
  255. package/pods/Headers/inspector/src/inspector/v8-regex.h +38 -0
  256. package/pods/Headers/inspector/src/inspector/v8-runtime-agent-impl.h +157 -0
  257. package/pods/Headers/inspector/src/inspector/v8-schema-agent-impl.h +38 -0
  258. package/pods/Headers/inspector/src/inspector/v8-stack-trace-impl.h +164 -0
  259. package/pods/Headers/inspector/src/inspector/v8-string-conversions.h +17 -0
  260. package/pods/Headers/inspector/src/inspector/v8-value-utils.h +23 -0
  261. package/pods/Headers/inspector/src/inspector/value-mirror.h +87 -0
  262. package/pods/Headers/inspector/src/libplatform/default-platform.h +92 -0
  263. package/pods/Headers/inspector/src/logging/tracing-flags.h +50 -0
  264. package/pods/Headers/inspector/src/numbers/conversions.h +183 -0
  265. package/pods/Headers/inspector/src/tracing/trace-event.h +664 -0
  266. package/pods/Headers/inspector/src/utils/allocation.h +367 -0
  267. package/pods/Headers/inspector/src/utils/vector.h +324 -0
  268. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/cbor.h +305 -0
  269. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/dispatch.h +314 -0
  270. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/error_support.h +62 -0
  271. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/export.h +6 -0
  272. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/find_by_first.h +58 -0
  273. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/frontend_channel.h +47 -0
  274. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/glue.h +80 -0
  275. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/json.h +52 -0
  276. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/json_platform.h +26 -0
  277. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/maybe.h +104 -0
  278. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/parser_handler.h +39 -0
  279. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/protocol_core.h +406 -0
  280. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/serializable.h +32 -0
  281. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/serializer_traits.h +158 -0
  282. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/span.h +99 -0
  283. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/status.h +139 -0
  284. package/pods/Headers/inspector/utils.h +32 -0
  285. package/pods/Headers/inspector/v8-inspector-platform.h +44 -0
  286. package/pods/Headers/jsi/decorator.h +762 -0
  287. package/pods/Headers/jsi/instrumentation.h +117 -0
  288. package/pods/Headers/jsi/jsi-inl.h +322 -0
  289. package/pods/Headers/jsi/jsi.h +1387 -0
  290. package/pods/Headers/jsi/jsilib.h +59 -0
  291. package/pods/Headers/jsi/threadsafe.h +79 -0
  292. package/pods/Headers/runtime/ArgConverter.h +61 -0
  293. package/pods/Headers/runtime/ArrayAdapter.h +13 -0
  294. package/pods/Headers/runtime/Caches.h +98 -0
  295. package/pods/Headers/runtime/ClassBuilder.h +61 -0
  296. package/pods/Headers/runtime/Common.h +9 -0
  297. package/pods/Headers/runtime/ConcurrentMap.h +55 -0
  298. package/pods/Headers/runtime/ConcurrentQueue.h +28 -0
  299. package/pods/Headers/runtime/Console.h +27 -0
  300. package/pods/Headers/runtime/Constants.h +15 -0
  301. package/pods/Headers/runtime/DataWrapper.h +671 -0
  302. package/pods/Headers/runtime/DictionaryAdapter.h +13 -0
  303. package/pods/Headers/runtime/ExtVector.h +21 -0
  304. package/pods/Headers/runtime/FFICall.h +105 -0
  305. package/pods/Headers/runtime/FastEnumerationAdapter.h +13 -0
  306. package/pods/Headers/runtime/FunctionReference.h +18 -0
  307. package/pods/Headers/runtime/Helpers.h +84 -0
  308. package/pods/Headers/runtime/InlineFunctions.h +16 -0
  309. package/pods/Headers/runtime/Interop.h +202 -0
  310. package/pods/Headers/runtime/KnownUnknownClassPair.h +35 -0
  311. package/pods/Headers/runtime/Metadata.h +981 -0
  312. package/pods/Headers/runtime/MetadataBuilder.h +72 -0
  313. package/pods/Headers/runtime/MetadataInlines.h +157 -0
  314. package/pods/Headers/runtime/ModuleInternal.h +59 -0
  315. package/pods/Headers/runtime/NSDataAdapter.h +13 -0
  316. package/pods/Headers/runtime/NativeScriptException.h +27 -0
  317. package/pods/Headers/runtime/ObjectManager.h +31 -0
  318. package/pods/Headers/runtime/OneByteStringResource.h +21 -0
  319. package/pods/Headers/runtime/Pointer.h +26 -0
  320. package/pods/Headers/runtime/PromiseProxy.h +15 -0
  321. package/pods/Headers/runtime/Reference.h +38 -0
  322. package/pods/Headers/runtime/Runtime.h +67 -0
  323. package/pods/Headers/runtime/RuntimeConfig.h +17 -0
  324. package/pods/Headers/runtime/SetTimeout.h +34 -0
  325. package/pods/Headers/runtime/SimpleAllocator.h +23 -0
  326. package/pods/Headers/runtime/StringHasher.h +315 -0
  327. package/pods/Headers/runtime/SymbolIterator.h +18 -0
  328. package/pods/Headers/runtime/SymbolLoader.h +27 -0
  329. package/pods/Headers/runtime/TNSDerivedClass.h +8 -0
  330. package/pods/Headers/runtime/TSHelpers.h +15 -0
  331. package/pods/Headers/runtime/Tasks.h +19 -0
  332. package/pods/Headers/runtime/UnmanagedType.h +21 -0
  333. package/pods/Headers/runtime/WeakRef.h +15 -0
  334. package/pods/Headers/runtime/Worker.h +26 -0
  335. package/pods/Headers/runtime/robin_hood.h +2184 -0
  336. package/pods/Headers/v8runtime/HostProxy.h +71 -0
  337. package/pods/Headers/v8runtime/JSIV8ValueConverter.h +70 -0
  338. package/pods/Headers/v8runtime/V8PointerValue.h +44 -0
  339. package/pods/Headers/v8runtime/V8Runtime.h +215 -0
  340. package/pods/Headers/v8runtime/V8RuntimeConfig.h +26 -0
  341. package/pods/Headers/v8runtime/V8RuntimeFactory.h +21 -0
  342. package/pods/NativeScript.podspec +68 -0
  343. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/PrivateHeaders/mason_native.h +0 -676
  344. package/platforms/ios/src/JSIModule.h +0 -217
  345. package/platforms/ios/src/JSIModule.mm +0 -2788
@@ -0,0 +1,257 @@
1
+ // Copyright 2016 the V8 project authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style license that can be
3
+ // found in the LICENSE file.
4
+
5
+ #ifndef V8_INSPECTOR_V8_DEBUGGER_H_
6
+ #define V8_INSPECTOR_V8_DEBUGGER_H_
7
+
8
+ #include <list>
9
+ #include <memory>
10
+ #include <unordered_map>
11
+ #include <unordered_set>
12
+ #include <vector>
13
+
14
+ #include "include/v8-inspector.h"
15
+ #include "src/base/macros.h"
16
+ #include "src/inspector/inspected-context.h"
17
+ #include "src/inspector/protocol/Debugger.h"
18
+ #include "src/inspector/protocol/Forward.h"
19
+ #include "src/inspector/protocol/Runtime.h"
20
+ #include "src/inspector/v8-debugger-id.h"
21
+ #include "src/inspector/v8-debugger-script.h"
22
+
23
+ namespace v8_inspector {
24
+
25
+ class AsyncStackTrace;
26
+ class StackFrame;
27
+ class V8Debugger;
28
+ class V8DebuggerAgentImpl;
29
+ class V8InspectorImpl;
30
+ class V8StackTraceImpl;
31
+ struct V8StackTraceId;
32
+
33
+ enum class WrapMode { kForceValue, kNoPreview, kWithPreview };
34
+
35
+ using protocol::Response;
36
+ using TerminateExecutionCallback =
37
+ protocol::Runtime::Backend::TerminateExecutionCallback;
38
+
39
+ class V8Debugger : public v8::debug::DebugDelegate,
40
+ public v8::debug::AsyncEventDelegate {
41
+ public:
42
+ V8Debugger(v8::Isolate*, V8InspectorImpl*);
43
+ ~V8Debugger() override;
44
+ V8Debugger(const V8Debugger&) = delete;
45
+ V8Debugger& operator=(const V8Debugger&) = delete;
46
+
47
+ bool enabled() const;
48
+ v8::Isolate* isolate() const { return m_isolate; }
49
+
50
+ void setBreakpointsActive(bool);
51
+
52
+ v8::debug::ExceptionBreakState getPauseOnExceptionsState();
53
+ void setPauseOnExceptionsState(v8::debug::ExceptionBreakState);
54
+ bool canBreakProgram();
55
+ void breakProgram(int targetContextGroupId);
56
+ void interruptAndBreak(int targetContextGroupId);
57
+ void continueProgram(int targetContextGroupId,
58
+ bool terminateOnResume = false);
59
+ void breakProgramOnAssert(int targetContextGroupId);
60
+
61
+ void setPauseOnNextCall(bool, int targetContextGroupId);
62
+ void stepIntoStatement(int targetContextGroupId, bool breakOnAsyncCall);
63
+ void stepOverStatement(int targetContextGroupId);
64
+ void stepOutOfFunction(int targetContextGroupId);
65
+
66
+ void terminateExecution(std::unique_ptr<TerminateExecutionCallback> callback);
67
+
68
+ Response continueToLocation(int targetContextGroupId,
69
+ V8DebuggerScript* script,
70
+ std::unique_ptr<protocol::Debugger::Location>,
71
+ const String16& targetCallFramess);
72
+
73
+ // Each script inherits debug data from v8::Context where it has been
74
+ // compiled.
75
+ // Only scripts whose debug data matches |contextGroupId| will be reported.
76
+ // Passing 0 will result in reporting all scripts.
77
+ std::vector<std::unique_ptr<V8DebuggerScript>> getCompiledScripts(
78
+ int contextGroupId, V8DebuggerAgentImpl* agent);
79
+ void enable();
80
+ void disable();
81
+
82
+ bool isPaused() const { return m_pausedContextGroupId; }
83
+ bool isPausedInContextGroup(int contextGroupId) const;
84
+
85
+ int maxAsyncCallChainDepth() { return m_maxAsyncCallStackDepth; }
86
+ void setAsyncCallStackDepth(V8DebuggerAgentImpl*, int);
87
+
88
+ std::shared_ptr<AsyncStackTrace> currentAsyncParent();
89
+ V8StackTraceId currentExternalParent();
90
+
91
+ std::shared_ptr<StackFrame> symbolize(v8::Local<v8::StackFrame> v8Frame);
92
+
93
+ std::unique_ptr<V8StackTraceImpl> createStackTrace(v8::Local<v8::StackTrace>);
94
+ std::unique_ptr<V8StackTraceImpl> captureStackTrace(bool fullStack);
95
+
96
+ v8::MaybeLocal<v8::Array> internalProperties(v8::Local<v8::Context>,
97
+ v8::Local<v8::Value>);
98
+
99
+ v8::Local<v8::Array> queryObjects(v8::Local<v8::Context> context,
100
+ v8::Local<v8::Object> prototype);
101
+
102
+ void asyncTaskScheduled(const StringView& taskName, void* task,
103
+ bool recurring);
104
+ void asyncTaskCanceled(void* task);
105
+ void asyncTaskStarted(void* task);
106
+ void asyncTaskFinished(void* task);
107
+ void allAsyncTasksCanceled();
108
+
109
+ V8StackTraceId storeCurrentStackTrace(const StringView& description);
110
+ void externalAsyncTaskStarted(const V8StackTraceId& parent);
111
+ void externalAsyncTaskFinished(const V8StackTraceId& parent);
112
+
113
+ uintptr_t storeStackTrace(std::shared_ptr<AsyncStackTrace> stack);
114
+
115
+ void muteScriptParsedEvents();
116
+ void unmuteScriptParsedEvents();
117
+
118
+ V8InspectorImpl* inspector() { return m_inspector; }
119
+
120
+ void setMaxAsyncTaskStacksForTest(int limit);
121
+ void dumpAsyncTaskStacksStateForTest();
122
+
123
+ V8DebuggerId debuggerIdFor(int contextGroupId);
124
+ std::shared_ptr<AsyncStackTrace> stackTraceFor(int contextGroupId,
125
+ const V8StackTraceId& id);
126
+
127
+ void reportTermination();
128
+
129
+ private:
130
+ bool addInternalObject(v8::Local<v8::Context> context,
131
+ v8::Local<v8::Object> object,
132
+ V8InternalValueType type);
133
+
134
+ void clearContinueToLocation();
135
+ bool shouldContinueToCurrentLocation();
136
+
137
+ static size_t nearHeapLimitCallback(void* data, size_t current_heap_limit,
138
+ size_t initial_heap_limit);
139
+ static void terminateExecutionCompletedCallback(v8::Isolate* isolate);
140
+ static void terminateExecutionCompletedCallbackIgnoringData(
141
+ v8::Isolate* isolate, void*);
142
+ void handleProgramBreak(
143
+ v8::Local<v8::Context> pausedContext, v8::Local<v8::Value> exception,
144
+ const std::vector<v8::debug::BreakpointId>& hitBreakpoints,
145
+ v8::debug::ExceptionType exception_type = v8::debug::kException,
146
+ bool isUncaught = false);
147
+
148
+ enum ScopeTargetKind {
149
+ FUNCTION,
150
+ GENERATOR,
151
+ };
152
+ v8::MaybeLocal<v8::Value> getTargetScopes(v8::Local<v8::Context>,
153
+ v8::Local<v8::Value>,
154
+ ScopeTargetKind);
155
+
156
+ v8::MaybeLocal<v8::Value> functionScopes(v8::Local<v8::Context>,
157
+ v8::Local<v8::Function>);
158
+ v8::MaybeLocal<v8::Value> generatorScopes(v8::Local<v8::Context>,
159
+ v8::Local<v8::Value>);
160
+ v8::MaybeLocal<v8::Array> collectionsEntries(v8::Local<v8::Context> context,
161
+ v8::Local<v8::Value> value);
162
+
163
+ void asyncTaskScheduledForStack(const String16& taskName, void* task,
164
+ bool recurring);
165
+ void asyncTaskCanceledForStack(void* task);
166
+ void asyncTaskStartedForStack(void* task);
167
+ void asyncTaskFinishedForStack(void* task);
168
+
169
+ void asyncTaskCandidateForStepping(void* task);
170
+ void asyncTaskStartedForStepping(void* task);
171
+ void asyncTaskFinishedForStepping(void* task);
172
+ void asyncTaskCanceledForStepping(void* task);
173
+
174
+ // v8::debug::DebugEventListener implementation.
175
+ void AsyncEventOccurred(v8::debug::DebugAsyncActionType type, int id,
176
+ bool isBlackboxed) override;
177
+ void ScriptCompiled(v8::Local<v8::debug::Script> script, bool is_live_edited,
178
+ bool has_compile_error) override;
179
+ void BreakProgramRequested(
180
+ v8::Local<v8::Context> paused_context,
181
+ const std::vector<v8::debug::BreakpointId>& break_points_hit) override;
182
+ void ExceptionThrown(v8::Local<v8::Context> paused_context,
183
+ v8::Local<v8::Value> exception,
184
+ v8::Local<v8::Value> promise, bool is_uncaught,
185
+ v8::debug::ExceptionType exception_type) override;
186
+ bool IsFunctionBlackboxed(v8::Local<v8::debug::Script> script,
187
+ const v8::debug::Location& start,
188
+ const v8::debug::Location& end) override;
189
+
190
+ bool ShouldBeSkipped(v8::Local<v8::debug::Script> script, int line,
191
+ int column) override;
192
+
193
+ int currentContextGroupId();
194
+ bool asyncStepOutOfFunction(int targetContextGroupId, bool onlyAtReturn);
195
+
196
+ bool hasScheduledBreakOnNextFunctionCall() const;
197
+
198
+ v8::Isolate* m_isolate;
199
+ V8InspectorImpl* m_inspector;
200
+ int m_enableCount;
201
+
202
+ int m_breakpointsActiveCount = 0;
203
+ int m_ignoreScriptParsedEventsCounter;
204
+ size_t m_originalHeapLimit = 0;
205
+ bool m_scheduledOOMBreak = false;
206
+ bool m_scheduledAssertBreak = false;
207
+ int m_targetContextGroupId = 0;
208
+ int m_pausedContextGroupId = 0;
209
+ int m_continueToLocationBreakpointId;
210
+ String16 m_continueToLocationTargetCallFrames;
211
+ std::unique_ptr<V8StackTraceImpl> m_continueToLocationStack;
212
+
213
+ using AsyncTaskToStackTrace =
214
+ std::unordered_map<void*, std::weak_ptr<AsyncStackTrace>>;
215
+ AsyncTaskToStackTrace m_asyncTaskStacks;
216
+ std::unordered_set<void*> m_recurringTasks;
217
+
218
+ int m_maxAsyncCallStacks;
219
+ int m_maxAsyncCallStackDepth;
220
+
221
+ std::vector<void*> m_currentTasks;
222
+ std::vector<std::shared_ptr<AsyncStackTrace>> m_currentAsyncParent;
223
+ std::vector<V8StackTraceId> m_currentExternalParent;
224
+
225
+ void collectOldAsyncStacksIfNeeded();
226
+ int m_asyncStacksCount = 0;
227
+ // V8Debugger owns all the async stacks, while most of the other references
228
+ // are weak, which allows to collect some stacks when there are too many.
229
+ std::list<std::shared_ptr<AsyncStackTrace>> m_allAsyncStacks;
230
+
231
+ std::unordered_map<V8DebuggerAgentImpl*, int> m_maxAsyncCallStackDepthMap;
232
+ void* m_taskWithScheduledBreak = nullptr;
233
+
234
+ // If any of the following three is true, we schedule pause on next JS
235
+ // execution using SetBreakOnNextFunctionCall.
236
+ bool m_externalAsyncTaskPauseRequested = false; // External async task.
237
+ bool m_taskWithScheduledBreakPauseRequested = false; // Local async task.
238
+ bool m_pauseOnNextCallRequested = false; // setPauseOnNextCall API call.
239
+
240
+ v8::debug::ExceptionBreakState m_pauseOnExceptionsState;
241
+ // Whether we should pause on async call execution (if any) while stepping in.
242
+ // See Debugger.stepInto for details.
243
+ bool m_pauseOnAsyncCall = false;
244
+
245
+ using StackTraceIdToStackTrace =
246
+ std::unordered_map<uintptr_t, std::weak_ptr<AsyncStackTrace>>;
247
+ StackTraceIdToStackTrace m_storedStackTraces;
248
+ uintptr_t m_lastStackTraceId = 0;
249
+
250
+ std::unordered_map<int, V8DebuggerId> m_contextGroupIdToDebuggerId;
251
+
252
+ std::unique_ptr<TerminateExecutionCallback> m_terminateExecutionCallback;
253
+ };
254
+
255
+ } // namespace v8_inspector
256
+
257
+ #endif // V8_INSPECTOR_V8_DEBUGGER_H_
@@ -0,0 +1,91 @@
1
+ #ifndef v8_dom_agent_impl_h
2
+ #define v8_dom_agent_impl_h
3
+
4
+ #include "src/inspector/v8-inspector-impl.h"
5
+ #include "src/inspector/protocol/DOM.h"
6
+ #include "src/inspector/protocol/Protocol.h"
7
+
8
+ namespace v8_inspector {
9
+
10
+ class V8InspectorSessionImpl;
11
+
12
+ using v8_inspector::protocol::Maybe;
13
+ using String = v8_inspector::String16;
14
+ using v8_inspector::protocol::DispatchResponse;
15
+
16
+ class V8DOMAgentImpl : public protocol::DOM::Backend {
17
+ public:
18
+ V8DOMAgentImpl(V8InspectorSessionImpl*, protocol::FrontendChannel*,
19
+ protocol::DictionaryValue* state);
20
+
21
+ ~V8DOMAgentImpl() override;
22
+ V8DOMAgentImpl(const V8DOMAgentImpl&) = delete;
23
+ V8DOMAgentImpl& operator=(const V8DOMAgentImpl&) = delete;
24
+
25
+ virtual DispatchResponse enable() override;
26
+ virtual DispatchResponse disable() override;
27
+ virtual DispatchResponse getContentQuads(Maybe<int> in_nodeId, Maybe<int> in_backendNodeId, Maybe<String> in_objectId, std::unique_ptr<protocol::Array<protocol::Array<double>>>* out_quads) override;
28
+ virtual DispatchResponse getDocument(Maybe<int> in_depth, Maybe<bool> in_pierce, std::unique_ptr<protocol::DOM::Node>* out_root) override;
29
+ virtual DispatchResponse removeNode(int in_nodeId) override;
30
+ virtual DispatchResponse setAttributeValue(int in_nodeId, const String& in_name, const String& in_value) override;
31
+ virtual DispatchResponse setAttributesAsText(int in_nodeId, const String& in_text, Maybe<String> in_name) override;
32
+ virtual DispatchResponse removeAttribute(int in_nodeId, const String& in_name) override;
33
+ virtual DispatchResponse performSearch(const String& in_query, Maybe<bool> in_includeUserAgentShadowDOM, String* out_searchId, int* out_resultCount) override;
34
+ virtual DispatchResponse getSearchResults(const String& in_searchId, int in_fromIndex, int in_toIndex, std::unique_ptr<protocol::Array<int>>* out_nodeIds) override;
35
+ virtual DispatchResponse discardSearchResults(const String& in_searchId) override;
36
+ virtual DispatchResponse resolveNode(Maybe<int> in_nodeId, Maybe<int> in_backendNodeId, Maybe<String> in_objectGroup, Maybe<int> in_executionContextId, std::unique_ptr<protocol::Runtime::RemoteObject>* out_object) override;
37
+
38
+ DispatchResponse collectClassNamesFromSubtree(int in_nodeId, std::unique_ptr<protocol::Array<String>>* out_classNames) override;
39
+ DispatchResponse copyTo(int in_nodeId, int in_targetNodeId, Maybe<int> in_insertBeforeNodeId, int* out_nodeId) override;
40
+ DispatchResponse describeNode(Maybe<int> in_nodeId, Maybe<int> in_backendNodeId, Maybe<String> in_objectId, Maybe<int> in_depth, Maybe<bool> in_pierce, std::unique_ptr<protocol::DOM::Node>* out_node) override;
41
+ DispatchResponse focus(Maybe<int> in_nodeId, Maybe<int> in_backendNodeId, Maybe<String> in_objectId) override;
42
+ DispatchResponse getAttributes(int in_nodeId, std::unique_ptr<protocol::Array<String>>* out_attributes) override;
43
+ DispatchResponse getBoxModel(Maybe<int> in_nodeId, Maybe<int> in_backendNodeId, Maybe<String> in_objectId, std::unique_ptr<protocol::DOM::BoxModel>* out_model) override;
44
+ DispatchResponse getFlattenedDocument(Maybe<int> in_depth, Maybe<bool> in_pierce, std::unique_ptr<protocol::Array<protocol::DOM::Node>>* out_nodes) override;
45
+ DispatchResponse getNodeForLocation(int in_x, int in_y, Maybe<bool> in_includeUserAgentShadowDOM, Maybe<bool> in_ignorePointerEventsNone, int* out_backendNodeId, String* out_frameId, Maybe<int>* out_nodeId) override;
46
+ DispatchResponse getOuterHTML(Maybe<int> in_nodeId, Maybe<int> in_backendNodeId, Maybe<String> in_objectId, String* out_outerHTML) override;
47
+ DispatchResponse getRelayoutBoundary(int in_nodeId, int* out_nodeId) override;
48
+ DispatchResponse markUndoableState() override;
49
+ DispatchResponse moveTo(int in_nodeId, int in_targetNodeId, Maybe<int> in_insertBeforeNodeId, int* out_nodeId) override;
50
+ DispatchResponse pushNodeByPathToFrontend(const String& in_path, int* out_nodeId) override;
51
+ DispatchResponse pushNodesByBackendIdsToFrontend(std::unique_ptr<protocol::Array<int>> in_backendNodeIds, std::unique_ptr<protocol::Array<int>>* out_nodeIds) override;
52
+ DispatchResponse querySelector(int in_nodeId, const String& in_selector, int* out_nodeId) override;
53
+ DispatchResponse querySelectorAll(int in_nodeId, const String& in_selector, std::unique_ptr<protocol::Array<int>>* out_nodeIds) override;
54
+ DispatchResponse redo() override;
55
+ DispatchResponse requestChildNodes(int in_nodeId, Maybe<int> in_depth, Maybe<bool> in_pierce) override;
56
+ DispatchResponse requestNode(const String& in_objectId, int* out_nodeId) override;
57
+ DispatchResponse setFileInputFiles(std::unique_ptr<protocol::Array<String>> in_files, Maybe<int> in_nodeId, Maybe<int> in_backendNodeId, Maybe<String> in_objectId) override;
58
+ DispatchResponse getFileInfo(const String& in_objectId, String* out_path) override;
59
+ DispatchResponse setInspectedNode(int in_nodeId) override;
60
+ DispatchResponse setNodeName(int in_nodeId, const String& in_name, int* out_nodeId) override;
61
+ DispatchResponse setNodeValue(int in_nodeId, const String& in_value) override;
62
+ DispatchResponse setOuterHTML(int in_nodeId, const String& in_outerHTML) override;
63
+ DispatchResponse undo() override;
64
+ DispatchResponse getFrameOwner(const String& in_frameId, int* out_backendNodeId, Maybe<int>* out_nodeId) override;
65
+ DispatchResponse setNodeStackTracesEnabled(bool in_enable) override;
66
+ DispatchResponse getNodeStackTraces(int in_nodeId, Maybe<protocol::Runtime::StackTrace>* out_creation) override;
67
+
68
+
69
+ const bool enabled() {
70
+ return m_enabled;
71
+ };
72
+
73
+ void dispatch(std::string message);
74
+ private:
75
+ protocol::DOM::Frontend m_frontend;
76
+ protocol::DictionaryValue* m_state;
77
+ V8InspectorImpl* m_inspector;
78
+ V8InspectorSessionImpl* m_session;
79
+
80
+ bool m_enabled;
81
+
82
+ void ChildNodeInserted(const v8::Local<v8::Object>& obj);
83
+ void ChildNodeRemoved(const v8::Local<v8::Object>& obj);
84
+ void AttributeModified(const v8::Local<v8::Object>& obj);
85
+ void AttributeRemoved(const v8::Local<v8::Object>& obj);
86
+ void DocumentUpdated();
87
+ std::u16string AddBackendNodeIdProperty(v8::Local<v8::Context> context, v8::Local<v8::Value> jsonInput);
88
+ };
89
+
90
+ }
91
+ #endif /* v8_dom_agent_impl_h */
@@ -0,0 +1,80 @@
1
+ // Copyright 2016 the V8 project authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style license that can be
3
+ // found in the LICENSE file.
4
+
5
+ #ifndef V8_INSPECTOR_V8_HEAP_PROFILER_AGENT_IMPL_H_
6
+ #define V8_INSPECTOR_V8_HEAP_PROFILER_AGENT_IMPL_H_
7
+
8
+ #include <memory>
9
+
10
+ #include "src/base/macros.h"
11
+ #include "src/inspector/protocol/Forward.h"
12
+ #include "src/inspector/protocol/HeapProfiler.h"
13
+
14
+ #include "include/v8.h"
15
+
16
+ namespace v8_inspector {
17
+
18
+ class V8InspectorSessionImpl;
19
+
20
+ using protocol::Maybe;
21
+ using protocol::Response;
22
+
23
+ class V8HeapProfilerAgentImpl : public protocol::HeapProfiler::Backend {
24
+ public:
25
+ V8HeapProfilerAgentImpl(V8InspectorSessionImpl*, protocol::FrontendChannel*,
26
+ protocol::DictionaryValue* state);
27
+ ~V8HeapProfilerAgentImpl() override;
28
+ V8HeapProfilerAgentImpl(const V8HeapProfilerAgentImpl&) = delete;
29
+ V8HeapProfilerAgentImpl& operator=(const V8HeapProfilerAgentImpl&) = delete;
30
+ void restore();
31
+
32
+ void collectGarbage(
33
+ std::unique_ptr<CollectGarbageCallback> callback) override;
34
+
35
+ Response enable() override;
36
+ Response startTrackingHeapObjects(Maybe<bool> trackAllocations) override;
37
+ Response stopTrackingHeapObjects(Maybe<bool> reportProgress,
38
+ Maybe<bool> treatGlobalObjectsAsRoots,
39
+ Maybe<bool> captureNumericValue) override;
40
+
41
+ Response disable() override;
42
+
43
+ Response takeHeapSnapshot(Maybe<bool> reportProgress,
44
+ Maybe<bool> treatGlobalObjectsAsRoots,
45
+ Maybe<bool> captureNumericValue) override;
46
+
47
+ Response getObjectByHeapObjectId(
48
+ const String16& heapSnapshotObjectId, Maybe<String16> objectGroup,
49
+ std::unique_ptr<protocol::Runtime::RemoteObject>* result) override;
50
+ Response addInspectedHeapObject(
51
+ const String16& inspectedHeapObjectId) override;
52
+ Response getHeapObjectId(const String16& objectId,
53
+ String16* heapSnapshotObjectId) override;
54
+
55
+ Response startSampling(Maybe<double> samplingInterval) override;
56
+ Response stopSampling(
57
+ std::unique_ptr<protocol::HeapProfiler::SamplingHeapProfile>*) override;
58
+ Response getSamplingProfile(
59
+ std::unique_ptr<protocol::HeapProfiler::SamplingHeapProfile>*) override;
60
+
61
+ private:
62
+ struct AsyncGC;
63
+ class GCTask;
64
+
65
+ void startTrackingHeapObjectsInternal(bool trackAllocations);
66
+ void stopTrackingHeapObjectsInternal();
67
+ void requestHeapStatsUpdate();
68
+ static void onTimer(void*);
69
+
70
+ V8InspectorSessionImpl* m_session;
71
+ v8::Isolate* m_isolate;
72
+ protocol::HeapProfiler::Frontend m_frontend;
73
+ protocol::DictionaryValue* m_state;
74
+ bool m_hasTimer;
75
+ std::shared_ptr<AsyncGC> m_async_gc;
76
+ };
77
+
78
+ } // namespace v8_inspector
79
+
80
+ #endif // V8_INSPECTOR_V8_HEAP_PROFILER_AGENT_IMPL_H_
@@ -0,0 +1,191 @@
1
+ /*
2
+ * Copyright (c) 2010, Google Inc. All rights reserved.
3
+ *
4
+ * Redistribution and use in source and binary forms, with or without
5
+ * modification, are permitted provided that the following conditions are
6
+ * met:
7
+ *
8
+ * * Redistributions of source code must retain the above copyright
9
+ * notice, this list of conditions and the following disclaimer.
10
+ * * Redistributions in binary form must reproduce the above
11
+ * copyright notice, this list of conditions and the following disclaimer
12
+ * in the documentation and/or other materials provided with the
13
+ * distribution.
14
+ * * Neither the name of Google Inc. nor the names of its
15
+ * contributors may be used to endorse or promote products derived from
16
+ * this software without specific prior written permission.
17
+ *
18
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
+ */
30
+
31
+ #ifndef V8_INSPECTOR_V8_INSPECTOR_IMPL_H_
32
+ #define V8_INSPECTOR_V8_INSPECTOR_IMPL_H_
33
+
34
+ #include <functional>
35
+ #include <map>
36
+ #include <memory>
37
+ #include <unordered_map>
38
+
39
+ #include "src/base/macros.h"
40
+ #include "src/base/platform/mutex.h"
41
+ #include "src/inspector/injected-script.h"
42
+ #include "src/inspector/protocol/Protocol.h"
43
+
44
+ #include "include/v8-inspector.h"
45
+
46
+ namespace v8_inspector {
47
+
48
+ class InspectedContext;
49
+ class V8Console;
50
+ class V8ConsoleMessageStorage;
51
+ class V8Debugger;
52
+ class V8DebuggerAgentImpl;
53
+ class V8InspectorSessionImpl;
54
+ class V8ProfilerAgentImpl;
55
+ class V8RuntimeAgentImpl;
56
+ class V8StackTraceImpl;
57
+
58
+ class V8InspectorImpl : public V8Inspector {
59
+ public:
60
+ V8InspectorImpl(v8::Isolate*, V8InspectorClient*);
61
+ ~V8InspectorImpl() override;
62
+ V8InspectorImpl(const V8InspectorImpl&) = delete;
63
+ V8InspectorImpl& operator=(const V8InspectorImpl&) = delete;
64
+
65
+ v8::Isolate* isolate() const { return m_isolate; }
66
+ V8InspectorClient* client() { return m_client; }
67
+ V8Debugger* debugger() { return m_debugger.get(); }
68
+ int contextGroupId(v8::Local<v8::Context>) const;
69
+ int contextGroupId(int contextId) const;
70
+ uint64_t isolateId() const { return m_isolateId; }
71
+ int resolveUniqueContextId(V8DebuggerId uniqueId) const;
72
+
73
+ v8::MaybeLocal<v8::Value> compileAndRunInternalScript(v8::Local<v8::Context>,
74
+ v8::Local<v8::String>);
75
+ v8::MaybeLocal<v8::Script> compileScript(v8::Local<v8::Context>,
76
+ const String16& code,
77
+ const String16& fileName);
78
+ v8::MaybeLocal<v8::Context> regexContext();
79
+
80
+ // V8Inspector implementation.
81
+ std::unique_ptr<V8InspectorSession> connect(int contextGroupId,
82
+ V8Inspector::Channel*,
83
+ StringView state) override;
84
+ void contextCreated(const V8ContextInfo&) override;
85
+ void contextDestroyed(v8::Local<v8::Context>) override;
86
+ v8::MaybeLocal<v8::Context> contextById(int contextId) override;
87
+ void contextCollected(int contextGroupId, int contextId);
88
+ void resetContextGroup(int contextGroupId) override;
89
+ void idleStarted() override;
90
+ void idleFinished() override;
91
+ unsigned exceptionThrown(v8::Local<v8::Context>, StringView message,
92
+ v8::Local<v8::Value> exception,
93
+ StringView detailedMessage, StringView url,
94
+ unsigned lineNumber, unsigned columnNumber,
95
+ std::unique_ptr<V8StackTrace>,
96
+ int scriptId) override;
97
+ void exceptionRevoked(v8::Local<v8::Context>, unsigned exceptionId,
98
+ StringView message) override;
99
+ std::unique_ptr<V8StackTrace> createStackTrace(
100
+ v8::Local<v8::StackTrace>) override;
101
+ std::unique_ptr<V8StackTrace> captureStackTrace(bool fullStack) override;
102
+ void asyncTaskScheduled(StringView taskName, void* task,
103
+ bool recurring) override;
104
+ void asyncTaskCanceled(void* task) override;
105
+ void asyncTaskStarted(void* task) override;
106
+ void asyncTaskFinished(void* task) override;
107
+ void allAsyncTasksCanceled() override;
108
+
109
+ V8StackTraceId storeCurrentStackTrace(StringView description) override;
110
+ void externalAsyncTaskStarted(const V8StackTraceId& parent) override;
111
+ void externalAsyncTaskFinished(const V8StackTraceId& parent) override;
112
+
113
+ std::shared_ptr<Counters> enableCounters() override;
114
+
115
+ unsigned nextExceptionId() { return ++m_lastExceptionId; }
116
+ void enableStackCapturingIfNeeded();
117
+ void disableStackCapturingIfNeeded();
118
+ void muteExceptions(int contextGroupId);
119
+ void unmuteExceptions(int contextGroupId);
120
+ V8ConsoleMessageStorage* ensureConsoleMessageStorage(int contextGroupId);
121
+ bool hasConsoleMessageStorage(int contextGroupId);
122
+ void discardInspectedContext(int contextGroupId, int contextId);
123
+ void disconnect(V8InspectorSessionImpl*);
124
+ V8InspectorSessionImpl* sessionById(int contextGroupId, int sessionId);
125
+ InspectedContext* getContext(int groupId, int contextId) const;
126
+ InspectedContext* getContext(int contextId) const;
127
+ V8Console* console();
128
+ void forEachContext(int contextGroupId,
129
+ const std::function<void(InspectedContext*)>& callback);
130
+ void forEachSession(
131
+ int contextGroupId,
132
+ const std::function<void(V8InspectorSessionImpl*)>& callback);
133
+ int64_t generateUniqueId();
134
+
135
+ class EvaluateScope {
136
+ public:
137
+ explicit EvaluateScope(const InjectedScript::Scope& scope);
138
+ ~EvaluateScope();
139
+
140
+ protocol::Response setTimeout(double timeout);
141
+
142
+ private:
143
+ class TerminateTask;
144
+ struct CancelToken;
145
+
146
+ const InjectedScript::Scope& m_scope;
147
+ v8::Isolate* m_isolate;
148
+ std::shared_ptr<CancelToken> m_cancelToken;
149
+ v8::Isolate::SafeForTerminationScope m_safeForTerminationScope;
150
+ };
151
+
152
+ private:
153
+ friend class Counters;
154
+
155
+ v8::Isolate* m_isolate;
156
+ V8InspectorClient* m_client;
157
+ std::unique_ptr<V8Debugger> m_debugger;
158
+ v8::Global<v8::Context> m_regexContext;
159
+ int m_capturingStackTracesCount;
160
+ unsigned m_lastExceptionId;
161
+ int m_lastContextId;
162
+ int m_lastSessionId = 0;
163
+ uint64_t m_isolateId;
164
+
165
+ using MuteExceptionsMap = std::unordered_map<int, int>;
166
+ MuteExceptionsMap m_muteExceptionsMap;
167
+
168
+ using ContextByIdMap =
169
+ std::unordered_map<int, std::unique_ptr<InspectedContext>>;
170
+ using ContextsByGroupMap =
171
+ std::unordered_map<int, std::unique_ptr<ContextByIdMap>>;
172
+ ContextsByGroupMap m_contexts;
173
+
174
+ // contextGroupId -> sessionId -> session
175
+ std::unordered_map<int, std::map<int, V8InspectorSessionImpl*>> m_sessions;
176
+
177
+ using ConsoleStorageMap =
178
+ std::unordered_map<int, std::unique_ptr<V8ConsoleMessageStorage>>;
179
+ ConsoleStorageMap m_consoleStorageMap;
180
+
181
+ std::unordered_map<int, int> m_contextIdToGroupIdMap;
182
+ std::map<std::pair<int64_t, int64_t>, int> m_uniqueIdToContextId;
183
+
184
+ std::unique_ptr<V8Console> m_console;
185
+
186
+ Counters* m_counters = nullptr;
187
+ };
188
+
189
+ } // namespace v8_inspector
190
+
191
+ #endif // V8_INSPECTOR_V8_INSPECTOR_IMPL_H_