@nativescript/canvas 2.0.0-alpha.10 → 2.0.0-alpha.12

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 (372) hide show
  1. package/Canvas/index.android.d.ts +4 -0
  2. package/Canvas/index.android.js +15 -1
  3. package/Canvas/index.android.js.map +1 -1
  4. package/Canvas/index.ios.js +0 -1
  5. package/Canvas/index.ios.js.map +1 -1
  6. package/WebGL/WebGLRenderingContext/index.js +9 -1
  7. package/WebGL/WebGLRenderingContext/index.js.map +1 -1
  8. package/package.json +1 -1
  9. package/platforms/android/canvas-release.aar +0 -0
  10. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative +0 -0
  11. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h +4 -0
  12. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +46 -0
  13. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  14. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json +381 -16
  15. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface +3 -0
  16. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface +3 -0
  17. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  18. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative +0 -0
  19. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h +8 -0
  20. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h +46 -0
  21. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  22. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  23. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json +381 -16
  24. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +3 -0
  25. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface +3 -0
  26. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +381 -16
  27. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +3 -0
  28. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +3 -0
  29. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources +24 -24
  30. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  31. package/platforms/ios/Podfile +1 -1
  32. package/platforms/ios/build.xcconfig +1 -1
  33. package/platforms/ios/src/CanvasModule.h +1 -1
  34. package/platforms/ios/src/cpp/CanvasJSIModule.h +1 -1
  35. package/platforms/ios/src/cpp/CanvasJSIModule.mm +17 -17
  36. package/platforms/ios/src/cpp/Helpers.h +1 -1
  37. package/platforms/ios/src/cpp/ImageAssetImpl.h +1 -1
  38. package/platforms/ios/src/cpp/ImageBitmapImpl.h +1 -1
  39. package/platforms/ios/src/cpp/JSICallback.h +1 -1
  40. package/platforms/ios/src/cpp/JSIReadFileCallback.h +1 -1
  41. package/platforms/ios/src/cpp/TextDecoderImpl.h +1 -1
  42. package/platforms/ios/src/cpp/VecMutableBuffer.h +1 -1
  43. package/platforms/ios/src/cpp/canvas2d/CanvasGradient.h +1 -1
  44. package/platforms/ios/src/cpp/canvas2d/CanvasPattern.h +1 -1
  45. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.h +1 -1
  46. package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.h +1 -1
  47. package/platforms/ios/src/cpp/canvas2d/MatrixImpl.h +1 -1
  48. package/platforms/ios/src/cpp/canvas2d/Path2D.h +1 -1
  49. package/platforms/ios/src/cpp/canvas2d/TextMetricsImpl.h +1 -1
  50. package/platforms/ios/src/cpp/webgl/WebGLActiveInfoImpl.h +1 -1
  51. package/platforms/ios/src/cpp/webgl/WebGLBuffer.h +1 -1
  52. package/platforms/ios/src/cpp/webgl/WebGLFramebuffer.h +1 -1
  53. package/platforms/ios/src/cpp/webgl/WebGLProgram.h +1 -1
  54. package/platforms/ios/src/cpp/webgl/WebGLRenderbuffer.h +1 -1
  55. package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.h +1 -1
  56. package/platforms/ios/src/cpp/webgl/WebGLRenderingContextBase.h +1 -1
  57. package/platforms/ios/src/cpp/webgl/WebGLRenderingContextBase.mm +1 -1
  58. package/platforms/ios/src/cpp/webgl/WebGLShader.h +1 -1
  59. package/platforms/ios/src/cpp/webgl/WebGLShaderPrecisionFormatImpl.h +1 -1
  60. package/platforms/ios/src/cpp/webgl/WebGLTexture.h +1 -1
  61. package/platforms/ios/src/cpp/webgl/WebGLUniformLocation.h +1 -1
  62. package/platforms/ios/src/cpp/webgl/extensions/ANGLE_instanced_arraysImpl.h +1 -1
  63. package/platforms/ios/src/cpp/webgl/extensions/EXT_blend_minmaxImpl.h +1 -1
  64. package/platforms/ios/src/cpp/webgl/extensions/EXT_color_buffer_half_floatImpl.h +1 -1
  65. package/platforms/ios/src/cpp/webgl/extensions/EXT_disjoint_timer_queryImpl.h +1 -1
  66. package/platforms/ios/src/cpp/webgl/extensions/EXT_sRGBImpl.h +1 -1
  67. package/platforms/ios/src/cpp/webgl/extensions/EXT_shader_texture_lodImpl.h +1 -1
  68. package/platforms/ios/src/cpp/webgl/extensions/EXT_texture_filter_anisotropicImpl.h +1 -1
  69. package/platforms/ios/src/cpp/webgl/extensions/OES_element_index_uintImpl.h +1 -1
  70. package/platforms/ios/src/cpp/webgl/extensions/OES_fbo_render_mipmap.h +1 -1
  71. package/platforms/ios/src/cpp/webgl/extensions/OES_standard_derivativesImpl.h +1 -1
  72. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_floatImpl.h +1 -1
  73. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_float_linearImpl.h +1 -1
  74. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_floatImpl.h +1 -1
  75. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_float_linearImpl.h +1 -1
  76. package/platforms/ios/src/cpp/webgl/extensions/OES_vertex_array_objectImpl.h +1 -1
  77. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_color_buffer_floatImpl.h +1 -1
  78. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_atcImpl.h +1 -1
  79. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etc1Impl.h +1 -1
  80. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etcImpl.h +1 -1
  81. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_pvrtcImpl.h +1 -1
  82. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tcImpl.h +1 -1
  83. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tc_srgbImpl.h +1 -1
  84. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_depth_textureImpl.h +1 -1
  85. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_draw_buffersImpl.h +1 -1
  86. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_lose_contextImpl.h +1 -1
  87. package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.h +1 -1
  88. package/platforms/ios/src/cpp/webgl2/WebGLQuery.h +1 -1
  89. package/platforms/ios/src/cpp/webgl2/WebGLSampler.h +1 -1
  90. package/platforms/ios/src/cpp/webgl2/WebGLSyncImpl.h +1 -1
  91. package/platforms/ios/src/cpp/webgl2/WebGLTransformFeedback.h +1 -1
  92. package/platforms/ios/src/cpp/webgl2/WebGLVertexArrayObject.h +1 -1
  93. package/pods/Headers/include/APIDesign.md +0 -72
  94. package/pods/Headers/include/DEPS +0 -10
  95. package/pods/Headers/include/DIR_METADATA +0 -11
  96. package/pods/Headers/include/OWNERS +0 -23
  97. package/pods/Headers/include/cppgc/DEPS +0 -8
  98. package/pods/Headers/include/cppgc/OWNERS +0 -2
  99. package/pods/Headers/include/cppgc/README.md +0 -133
  100. package/pods/Headers/include/cppgc/allocation.h +0 -310
  101. package/pods/Headers/include/cppgc/common.h +0 -29
  102. package/pods/Headers/include/cppgc/cross-thread-persistent.h +0 -465
  103. package/pods/Headers/include/cppgc/custom-space.h +0 -97
  104. package/pods/Headers/include/cppgc/default-platform.h +0 -67
  105. package/pods/Headers/include/cppgc/ephemeron-pair.h +0 -30
  106. package/pods/Headers/include/cppgc/explicit-management.h +0 -100
  107. package/pods/Headers/include/cppgc/garbage-collected.h +0 -106
  108. package/pods/Headers/include/cppgc/heap-consistency.h +0 -266
  109. package/pods/Headers/include/cppgc/heap-state.h +0 -82
  110. package/pods/Headers/include/cppgc/heap-statistics.h +0 -120
  111. package/pods/Headers/include/cppgc/heap.h +0 -206
  112. package/pods/Headers/include/cppgc/internal/api-constants.h +0 -55
  113. package/pods/Headers/include/cppgc/internal/atomic-entry-flag.h +0 -48
  114. package/pods/Headers/include/cppgc/internal/caged-heap-local-data.h +0 -79
  115. package/pods/Headers/include/cppgc/internal/compiler-specific.h +0 -38
  116. package/pods/Headers/include/cppgc/internal/finalizer-trait.h +0 -93
  117. package/pods/Headers/include/cppgc/internal/gc-info.h +0 -156
  118. package/pods/Headers/include/cppgc/internal/logging.h +0 -50
  119. package/pods/Headers/include/cppgc/internal/name-trait.h +0 -122
  120. package/pods/Headers/include/cppgc/internal/persistent-node.h +0 -216
  121. package/pods/Headers/include/cppgc/internal/pointer-policies.h +0 -186
  122. package/pods/Headers/include/cppgc/internal/write-barrier.h +0 -435
  123. package/pods/Headers/include/cppgc/liveness-broker.h +0 -77
  124. package/pods/Headers/include/cppgc/macros.h +0 -26
  125. package/pods/Headers/include/cppgc/member.h +0 -291
  126. package/pods/Headers/include/cppgc/name-provider.h +0 -65
  127. package/pods/Headers/include/cppgc/object-size-trait.h +0 -58
  128. package/pods/Headers/include/cppgc/persistent.h +0 -370
  129. package/pods/Headers/include/cppgc/platform.h +0 -156
  130. package/pods/Headers/include/cppgc/prefinalizer.h +0 -75
  131. package/pods/Headers/include/cppgc/process-heap-statistics.h +0 -36
  132. package/pods/Headers/include/cppgc/sentinel-pointer.h +0 -32
  133. package/pods/Headers/include/cppgc/source-location.h +0 -92
  134. package/pods/Headers/include/cppgc/testing.h +0 -106
  135. package/pods/Headers/include/cppgc/trace-trait.h +0 -116
  136. package/pods/Headers/include/cppgc/type-traits.h +0 -240
  137. package/pods/Headers/include/cppgc/visitor.h +0 -379
  138. package/pods/Headers/include/js_protocol-1.2.json +0 -936
  139. package/pods/Headers/include/js_protocol-1.3.json +0 -1112
  140. package/pods/Headers/include/js_protocol.pdl +0 -1709
  141. package/pods/Headers/include/libffi/arm64/ffi.h +0 -524
  142. package/pods/Headers/include/libffi/arm64/ffitarget.h +0 -92
  143. package/pods/Headers/include/libffi/x86_64/ffi.h +0 -524
  144. package/pods/Headers/include/libffi/x86_64/ffitarget.h +0 -147
  145. package/pods/Headers/include/libffi.h +0 -12
  146. package/pods/Headers/include/libplatform/DEPS +0 -9
  147. package/pods/Headers/include/libplatform/libplatform-export.h +0 -29
  148. package/pods/Headers/include/libplatform/libplatform.h +0 -106
  149. package/pods/Headers/include/libplatform/v8-tracing.h +0 -333
  150. package/pods/Headers/include/v8-array-buffer.h +0 -433
  151. package/pods/Headers/include/v8-callbacks.h +0 -397
  152. package/pods/Headers/include/v8-container.h +0 -129
  153. package/pods/Headers/include/v8-context.h +0 -407
  154. package/pods/Headers/include/v8-cppgc.h +0 -215
  155. package/pods/Headers/include/v8-data.h +0 -80
  156. package/pods/Headers/include/v8-date.h +0 -43
  157. package/pods/Headers/include/v8-debug.h +0 -168
  158. package/pods/Headers/include/v8-embedder-heap.h +0 -218
  159. package/pods/Headers/include/v8-embedder-state-scope.h +0 -51
  160. package/pods/Headers/include/v8-exception.h +0 -217
  161. package/pods/Headers/include/v8-extension.h +0 -62
  162. package/pods/Headers/include/v8-external.h +0 -37
  163. package/pods/Headers/include/v8-fast-api-calls.h +0 -939
  164. package/pods/Headers/include/v8-forward.h +0 -81
  165. package/pods/Headers/include/v8-function-callback.h +0 -475
  166. package/pods/Headers/include/v8-function.h +0 -125
  167. package/pods/Headers/include/v8-initialization.h +0 -315
  168. package/pods/Headers/include/v8-inspector-protocol.h +0 -13
  169. package/pods/Headers/include/v8-inspector.h +0 -376
  170. package/pods/Headers/include/v8-internal.h +0 -661
  171. package/pods/Headers/include/v8-isolate.h +0 -1709
  172. package/pods/Headers/include/v8-json.h +0 -47
  173. package/pods/Headers/include/v8-local-handle.h +0 -455
  174. package/pods/Headers/include/v8-locker.h +0 -149
  175. package/pods/Headers/include/v8-maybe.h +0 -137
  176. package/pods/Headers/include/v8-memory-span.h +0 -43
  177. package/pods/Headers/include/v8-message.h +0 -216
  178. package/pods/Headers/include/v8-metrics.h +0 -255
  179. package/pods/Headers/include/v8-microtask-queue.h +0 -152
  180. package/pods/Headers/include/v8-microtask.h +0 -28
  181. package/pods/Headers/include/v8-object.h +0 -775
  182. package/pods/Headers/include/v8-persistent-handle.h +0 -590
  183. package/pods/Headers/include/v8-platform.h +0 -1092
  184. package/pods/Headers/include/v8-primitive-object.h +0 -118
  185. package/pods/Headers/include/v8-primitive.h +0 -866
  186. package/pods/Headers/include/v8-profiler.h +0 -1198
  187. package/pods/Headers/include/v8-promise.h +0 -174
  188. package/pods/Headers/include/v8-proxy.h +0 -50
  189. package/pods/Headers/include/v8-regexp.h +0 -105
  190. package/pods/Headers/include/v8-script.h +0 -748
  191. package/pods/Headers/include/v8-snapshot.h +0 -196
  192. package/pods/Headers/include/v8-statistics.h +0 -217
  193. package/pods/Headers/include/v8-template.h +0 -1079
  194. package/pods/Headers/include/v8-traced-handle.h +0 -420
  195. package/pods/Headers/include/v8-typed-array.h +0 -282
  196. package/pods/Headers/include/v8-unwinder-state.h +0 -31
  197. package/pods/Headers/include/v8-unwinder.h +0 -132
  198. package/pods/Headers/include/v8-util.h +0 -658
  199. package/pods/Headers/include/v8-value-serializer-version.h +0 -24
  200. package/pods/Headers/include/v8-value-serializer.h +0 -279
  201. package/pods/Headers/include/v8-value.h +0 -526
  202. package/pods/Headers/include/v8-version-string.h +0 -38
  203. package/pods/Headers/include/v8-version.h +0 -20
  204. package/pods/Headers/include/v8-wasm-trap-handler-posix.h +0 -31
  205. package/pods/Headers/include/v8-wasm-trap-handler-win.h +0 -28
  206. package/pods/Headers/include/v8-wasm.h +0 -257
  207. package/pods/Headers/include/v8-weak-callback-info.h +0 -86
  208. package/pods/Headers/include/v8.h +0 -88
  209. package/pods/Headers/include/v8config.h +0 -605
  210. package/pods/Headers/inspector/InspectorServer.h +0 -20
  211. package/pods/Headers/inspector/JsV8InspectorClient.h +0 -66
  212. package/pods/Headers/inspector/base/trace_event/common/trace_event_common.h +0 -1123
  213. package/pods/Headers/inspector/base64.h +0 -9
  214. package/pods/Headers/inspector/src/base/address-region.h +0 -95
  215. package/pods/Headers/inspector/src/base/atomic-utils.h +0 -219
  216. package/pods/Headers/inspector/src/base/atomicops.h +0 -332
  217. package/pods/Headers/inspector/src/base/atomicops_internals_atomicword_compat.h +0 -89
  218. package/pods/Headers/inspector/src/base/base-export.h +0 -31
  219. package/pods/Headers/inspector/src/base/bits.h +0 -343
  220. package/pods/Headers/inspector/src/base/build_config.h +0 -234
  221. package/pods/Headers/inspector/src/base/compiler-specific.h +0 -136
  222. package/pods/Headers/inspector/src/base/export-template.h +0 -163
  223. package/pods/Headers/inspector/src/base/flags.h +0 -130
  224. package/pods/Headers/inspector/src/base/immediate-crash.h +0 -162
  225. package/pods/Headers/inspector/src/base/lazy-instance.h +0 -258
  226. package/pods/Headers/inspector/src/base/logging.h +0 -417
  227. package/pods/Headers/inspector/src/base/macros.h +0 -423
  228. package/pods/Headers/inspector/src/base/memory.h +0 -89
  229. package/pods/Headers/inspector/src/base/once.h +0 -108
  230. package/pods/Headers/inspector/src/base/optional.h +0 -882
  231. package/pods/Headers/inspector/src/base/platform/mutex.h +0 -370
  232. package/pods/Headers/inspector/src/base/platform/platform.h +0 -476
  233. package/pods/Headers/inspector/src/base/platform/semaphore.h +0 -108
  234. package/pods/Headers/inspector/src/base/platform/v8-time.h +0 -513
  235. package/pods/Headers/inspector/src/base/platform/wrappers.h +0 -73
  236. package/pods/Headers/inspector/src/base/safe_conversions.h +0 -389
  237. package/pods/Headers/inspector/src/base/safe_conversions_impl.h +0 -822
  238. package/pods/Headers/inspector/src/base/template-utils.h +0 -113
  239. package/pods/Headers/inspector/src/base/v8-fallthrough.h +0 -21
  240. package/pods/Headers/inspector/src/common/checks.h +0 -38
  241. package/pods/Headers/inspector/src/common/globals.h +0 -1842
  242. package/pods/Headers/inspector/src/debug/debug-interface.h +0 -667
  243. package/pods/Headers/inspector/src/debug/interface-types.h +0 -175
  244. package/pods/Headers/inspector/src/init/v8.h +0 -52
  245. package/pods/Headers/inspector/src/inspector/custom-preview.h +0 -24
  246. package/pods/Headers/inspector/src/inspector/injected-script.h +0 -251
  247. package/pods/Headers/inspector/src/inspector/inspected-context.h +0 -79
  248. package/pods/Headers/inspector/src/inspector/protocol/CSS.h +0 -2148
  249. package/pods/Headers/inspector/src/inspector/protocol/Console.h +0 -211
  250. package/pods/Headers/inspector/src/inspector/protocol/DOM.h +0 -1008
  251. package/pods/Headers/inspector/src/inspector/protocol/Debugger.h +0 -892
  252. package/pods/Headers/inspector/src/inspector/protocol/Forward.h +0 -75
  253. package/pods/Headers/inspector/src/inspector/protocol/HeapProfiler.h +0 -346
  254. package/pods/Headers/inspector/src/inspector/protocol/Log.h +0 -342
  255. package/pods/Headers/inspector/src/inspector/protocol/Network.h +0 -2528
  256. package/pods/Headers/inspector/src/inspector/protocol/Overlay.h +0 -281
  257. package/pods/Headers/inspector/src/inspector/protocol/Page.h +0 -1189
  258. package/pods/Headers/inspector/src/inspector/protocol/Profiler.h +0 -1001
  259. package/pods/Headers/inspector/src/inspector/protocol/Protocol.h +0 -617
  260. package/pods/Headers/inspector/src/inspector/protocol/Runtime.h +0 -1696
  261. package/pods/Headers/inspector/src/inspector/protocol/Schema.h +0 -146
  262. package/pods/Headers/inspector/src/inspector/protocol/Security.h +0 -793
  263. package/pods/Headers/inspector/src/inspector/remote-object-id.h +0 -54
  264. package/pods/Headers/inspector/src/inspector/search-util.h +0 -26
  265. package/pods/Headers/inspector/src/inspector/string-16.h +0 -180
  266. package/pods/Headers/inspector/src/inspector/string-util.h +0 -128
  267. package/pods/Headers/inspector/src/inspector/v8-console-agent-impl.h +0 -48
  268. package/pods/Headers/inspector/src/inspector/v8-console-message.h +0 -147
  269. package/pods/Headers/inspector/src/inspector/v8-console.h +0 -173
  270. package/pods/Headers/inspector/src/inspector/v8-css-agent-impl.h +0 -62
  271. package/pods/Headers/inspector/src/inspector/v8-debugger-agent-impl.h +0 -248
  272. package/pods/Headers/inspector/src/inspector/v8-debugger-id.h +0 -44
  273. package/pods/Headers/inspector/src/inspector/v8-debugger-script.h +0 -123
  274. package/pods/Headers/inspector/src/inspector/v8-debugger.h +0 -257
  275. package/pods/Headers/inspector/src/inspector/v8-dom-agent-impl.h +0 -91
  276. package/pods/Headers/inspector/src/inspector/v8-heap-profiler-agent-impl.h +0 -80
  277. package/pods/Headers/inspector/src/inspector/v8-inspector-impl.h +0 -191
  278. package/pods/Headers/inspector/src/inspector/v8-inspector-session-impl.h +0 -156
  279. package/pods/Headers/inspector/src/inspector/v8-log-agent-impl.h +0 -34
  280. package/pods/Headers/inspector/src/inspector/v8-network-agent-impl.h +0 -71
  281. package/pods/Headers/inspector/src/inspector/v8-ns-debugger-agent-impl.h +0 -24
  282. package/pods/Headers/inspector/src/inspector/v8-overlay-agent-impl.h +0 -70
  283. package/pods/Headers/inspector/src/inspector/v8-page-agent-impl.h +0 -88
  284. package/pods/Headers/inspector/src/inspector/v8-profiler-agent-impl.h +0 -104
  285. package/pods/Headers/inspector/src/inspector/v8-regex.h +0 -38
  286. package/pods/Headers/inspector/src/inspector/v8-runtime-agent-impl.h +0 -157
  287. package/pods/Headers/inspector/src/inspector/v8-schema-agent-impl.h +0 -38
  288. package/pods/Headers/inspector/src/inspector/v8-stack-trace-impl.h +0 -164
  289. package/pods/Headers/inspector/src/inspector/v8-string-conversions.h +0 -17
  290. package/pods/Headers/inspector/src/inspector/v8-value-utils.h +0 -23
  291. package/pods/Headers/inspector/src/inspector/value-mirror.h +0 -87
  292. package/pods/Headers/inspector/src/libplatform/default-platform.h +0 -92
  293. package/pods/Headers/inspector/src/logging/tracing-flags.h +0 -50
  294. package/pods/Headers/inspector/src/numbers/conversions.h +0 -183
  295. package/pods/Headers/inspector/src/tracing/trace-event.h +0 -664
  296. package/pods/Headers/inspector/src/utils/allocation.h +0 -367
  297. package/pods/Headers/inspector/src/utils/vector.h +0 -324
  298. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/cbor.h +0 -305
  299. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/dispatch.h +0 -314
  300. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/error_support.h +0 -62
  301. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/export.h +0 -6
  302. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/find_by_first.h +0 -58
  303. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/frontend_channel.h +0 -47
  304. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/glue.h +0 -80
  305. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/json.h +0 -52
  306. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/json_platform.h +0 -26
  307. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/maybe.h +0 -104
  308. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/parser_handler.h +0 -39
  309. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/protocol_core.h +0 -406
  310. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/serializable.h +0 -32
  311. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/serializer_traits.h +0 -158
  312. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/span.h +0 -99
  313. package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/status.h +0 -139
  314. package/pods/Headers/inspector/utils.h +0 -32
  315. package/pods/Headers/inspector/v8-inspector-platform.h +0 -44
  316. package/pods/Headers/jsi/decorator.h +0 -770
  317. package/pods/Headers/jsi/instrumentation.h +0 -117
  318. package/pods/Headers/jsi/jsi-inl.h +0 -338
  319. package/pods/Headers/jsi/jsi.h +0 -1571
  320. package/pods/Headers/jsi/jsilib.h +0 -59
  321. package/pods/Headers/jsi/threadsafe.h +0 -79
  322. package/pods/Headers/runtime/ArgConverter.h +0 -61
  323. package/pods/Headers/runtime/ArrayAdapter.h +0 -13
  324. package/pods/Headers/runtime/Caches.h +0 -98
  325. package/pods/Headers/runtime/ClassBuilder.h +0 -61
  326. package/pods/Headers/runtime/Common.h +0 -9
  327. package/pods/Headers/runtime/ConcurrentMap.h +0 -55
  328. package/pods/Headers/runtime/ConcurrentQueue.h +0 -28
  329. package/pods/Headers/runtime/Console.h +0 -27
  330. package/pods/Headers/runtime/Constants.h +0 -15
  331. package/pods/Headers/runtime/DataWrapper.h +0 -671
  332. package/pods/Headers/runtime/DictionaryAdapter.h +0 -13
  333. package/pods/Headers/runtime/ExtVector.h +0 -21
  334. package/pods/Headers/runtime/FFICall.h +0 -105
  335. package/pods/Headers/runtime/FastEnumerationAdapter.h +0 -13
  336. package/pods/Headers/runtime/FunctionReference.h +0 -18
  337. package/pods/Headers/runtime/Helpers.h +0 -84
  338. package/pods/Headers/runtime/InlineFunctions.h +0 -16
  339. package/pods/Headers/runtime/Interop.h +0 -202
  340. package/pods/Headers/runtime/KnownUnknownClassPair.h +0 -35
  341. package/pods/Headers/runtime/Metadata.h +0 -981
  342. package/pods/Headers/runtime/MetadataBuilder.h +0 -72
  343. package/pods/Headers/runtime/MetadataInlines.h +0 -157
  344. package/pods/Headers/runtime/ModuleInternal.h +0 -59
  345. package/pods/Headers/runtime/NSDataAdapter.h +0 -13
  346. package/pods/Headers/runtime/NativeScriptException.h +0 -27
  347. package/pods/Headers/runtime/ObjectManager.h +0 -31
  348. package/pods/Headers/runtime/OneByteStringResource.h +0 -21
  349. package/pods/Headers/runtime/Pointer.h +0 -26
  350. package/pods/Headers/runtime/PromiseProxy.h +0 -15
  351. package/pods/Headers/runtime/Reference.h +0 -38
  352. package/pods/Headers/runtime/Runtime.h +0 -67
  353. package/pods/Headers/runtime/RuntimeConfig.h +0 -17
  354. package/pods/Headers/runtime/SetTimeout.h +0 -34
  355. package/pods/Headers/runtime/SimpleAllocator.h +0 -23
  356. package/pods/Headers/runtime/StringHasher.h +0 -315
  357. package/pods/Headers/runtime/SymbolIterator.h +0 -18
  358. package/pods/Headers/runtime/SymbolLoader.h +0 -27
  359. package/pods/Headers/runtime/TNSDerivedClass.h +0 -8
  360. package/pods/Headers/runtime/TSHelpers.h +0 -15
  361. package/pods/Headers/runtime/Tasks.h +0 -19
  362. package/pods/Headers/runtime/UnmanagedType.h +0 -21
  363. package/pods/Headers/runtime/WeakRef.h +0 -15
  364. package/pods/Headers/runtime/Worker.h +0 -26
  365. package/pods/Headers/runtime/robin_hood.h +0 -2184
  366. package/pods/Headers/v8runtime/HostProxy.h +0 -71
  367. package/pods/Headers/v8runtime/JSIV8ValueConverter.h +0 -74
  368. package/pods/Headers/v8runtime/V8PointerValue.h +0 -44
  369. package/pods/Headers/v8runtime/V8Runtime.h +0 -240
  370. package/pods/Headers/v8runtime/V8RuntimeConfig.h +0 -26
  371. package/pods/Headers/v8runtime/V8RuntimeFactory.h +0 -21
  372. package/pods/NativeScript.podspec +0 -68
@@ -1,658 +0,0 @@
1
- // Copyright 2014 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_UTIL_H_
6
- #define V8_UTIL_H_
7
-
8
- #include <assert.h>
9
-
10
- #include <map>
11
- #include <vector>
12
-
13
- #include "v8-function-callback.h" // NOLINT(build/include_directory)
14
- #include "v8-persistent-handle.h" // NOLINT(build/include_directory)
15
-
16
- /**
17
- * Support for Persistent containers.
18
- *
19
- * C++11 embedders can use STL containers with Global values,
20
- * but pre-C++11 does not support the required move semantic and hence
21
- * may want these container classes.
22
- */
23
- namespace v8 {
24
-
25
- template <typename K, typename V, typename Traits>
26
- class GlobalValueMap;
27
-
28
- typedef uintptr_t PersistentContainerValue;
29
- static const uintptr_t kPersistentContainerNotFound = 0;
30
- enum PersistentContainerCallbackType {
31
- kNotWeak,
32
- // These correspond to v8::WeakCallbackType
33
- kWeakWithParameter,
34
- kWeakWithInternalFields
35
- };
36
-
37
- /**
38
- * A default trait implementation for PersistentValueMap which uses std::map
39
- * as a backing map.
40
- *
41
- * Users will have to implement their own weak callbacks & dispose traits.
42
- */
43
- template<typename K, typename V>
44
- class StdMapTraits {
45
- public:
46
- // STL map & related:
47
- typedef std::map<K, PersistentContainerValue> Impl;
48
- typedef typename Impl::iterator Iterator;
49
-
50
- static bool Empty(Impl* impl) { return impl->empty(); }
51
- static size_t Size(Impl* impl) { return impl->size(); }
52
- static void Swap(Impl& a, Impl& b) { std::swap(a, b); }
53
- static Iterator Begin(Impl* impl) { return impl->begin(); }
54
- static Iterator End(Impl* impl) { return impl->end(); }
55
- static K Key(Iterator it) { return it->first; }
56
- static PersistentContainerValue Value(Iterator it) { return it->second; }
57
- static PersistentContainerValue Set(Impl* impl, K key,
58
- PersistentContainerValue value) {
59
- std::pair<Iterator, bool> res = impl->insert(std::make_pair(key, value));
60
- PersistentContainerValue old_value = kPersistentContainerNotFound;
61
- if (!res.second) {
62
- old_value = res.first->second;
63
- res.first->second = value;
64
- }
65
- return old_value;
66
- }
67
- static PersistentContainerValue Get(Impl* impl, K key) {
68
- Iterator it = impl->find(key);
69
- if (it == impl->end()) return kPersistentContainerNotFound;
70
- return it->second;
71
- }
72
- static PersistentContainerValue Remove(Impl* impl, K key) {
73
- Iterator it = impl->find(key);
74
- if (it == impl->end()) return kPersistentContainerNotFound;
75
- PersistentContainerValue value = it->second;
76
- impl->erase(it);
77
- return value;
78
- }
79
- };
80
-
81
-
82
- /**
83
- * A default trait implementation for PersistentValueMap, which inherits
84
- * a std:map backing map from StdMapTraits and holds non-weak persistent
85
- * objects and has no special Dispose handling.
86
- *
87
- * You should not derive from this class, since MapType depends on the
88
- * surrounding class, and hence a subclass cannot simply inherit the methods.
89
- */
90
- template<typename K, typename V>
91
- class DefaultPersistentValueMapTraits : public StdMapTraits<K, V> {
92
- public:
93
- // Weak callback & friends:
94
- static const PersistentContainerCallbackType kCallbackType = kNotWeak;
95
- typedef PersistentValueMap<K, V, DefaultPersistentValueMapTraits<K, V> >
96
- MapType;
97
- typedef void WeakCallbackDataType;
98
-
99
- static WeakCallbackDataType* WeakCallbackParameter(
100
- MapType* map, const K& key, Local<V> value) {
101
- return nullptr;
102
- }
103
- static MapType* MapFromWeakCallbackInfo(
104
- const WeakCallbackInfo<WeakCallbackDataType>& data) {
105
- return nullptr;
106
- }
107
- static K KeyFromWeakCallbackInfo(
108
- const WeakCallbackInfo<WeakCallbackDataType>& data) {
109
- return K();
110
- }
111
- static void DisposeCallbackData(WeakCallbackDataType* data) { }
112
- static void Dispose(Isolate* isolate, Global<V> value, K key) {}
113
- };
114
-
115
-
116
- template <typename K, typename V>
117
- class DefaultGlobalMapTraits : public StdMapTraits<K, V> {
118
- private:
119
- template <typename T>
120
- struct RemovePointer;
121
-
122
- public:
123
- // Weak callback & friends:
124
- static const PersistentContainerCallbackType kCallbackType = kNotWeak;
125
- typedef GlobalValueMap<K, V, DefaultGlobalMapTraits<K, V> > MapType;
126
- typedef void WeakCallbackDataType;
127
-
128
- static WeakCallbackDataType* WeakCallbackParameter(MapType* map, const K& key,
129
- Local<V> value) {
130
- return nullptr;
131
- }
132
- static MapType* MapFromWeakCallbackInfo(
133
- const WeakCallbackInfo<WeakCallbackDataType>& data) {
134
- return nullptr;
135
- }
136
- static K KeyFromWeakCallbackInfo(
137
- const WeakCallbackInfo<WeakCallbackDataType>& data) {
138
- return K();
139
- }
140
- static void DisposeCallbackData(WeakCallbackDataType* data) {}
141
- static void OnWeakCallback(
142
- const WeakCallbackInfo<WeakCallbackDataType>& data) {}
143
- static void Dispose(Isolate* isolate, Global<V> value, K key) {}
144
- // This is a second pass callback, so SetSecondPassCallback cannot be called.
145
- static void DisposeWeak(const WeakCallbackInfo<WeakCallbackDataType>& data) {}
146
-
147
- private:
148
- template <typename T>
149
- struct RemovePointer<T*> {
150
- typedef T Type;
151
- };
152
- };
153
-
154
-
155
- /**
156
- * A map wrapper that allows using Global as a mapped value.
157
- * C++11 embedders don't need this class, as they can use Global
158
- * directly in std containers.
159
- *
160
- * The map relies on a backing map, whose type and accessors are described
161
- * by the Traits class. The backing map will handle values of type
162
- * PersistentContainerValue, with all conversion into and out of V8
163
- * handles being transparently handled by this class.
164
- */
165
- template <typename K, typename V, typename Traits>
166
- class PersistentValueMapBase {
167
- public:
168
- Isolate* GetIsolate() { return isolate_; }
169
-
170
- /**
171
- * Return size of the map.
172
- */
173
- size_t Size() { return Traits::Size(&impl_); }
174
-
175
- /**
176
- * Return whether the map holds weak persistents.
177
- */
178
- bool IsWeak() { return Traits::kCallbackType != kNotWeak; }
179
-
180
- /**
181
- * Get value stored in map.
182
- */
183
- Local<V> Get(const K& key) {
184
- return Local<V>::New(isolate_, FromVal(Traits::Get(&impl_, key)));
185
- }
186
-
187
- /**
188
- * Check whether a value is contained in the map.
189
- */
190
- bool Contains(const K& key) {
191
- return Traits::Get(&impl_, key) != kPersistentContainerNotFound;
192
- }
193
-
194
- /**
195
- * Get value stored in map and set it in returnValue.
196
- * Return true if a value was found.
197
- */
198
- bool SetReturnValue(const K& key,
199
- ReturnValue<Value> returnValue) {
200
- return SetReturnValueFromVal(&returnValue, Traits::Get(&impl_, key));
201
- }
202
-
203
- /**
204
- * Return value for key and remove it from the map.
205
- */
206
- Global<V> Remove(const K& key) {
207
- return Release(Traits::Remove(&impl_, key)).Pass();
208
- }
209
-
210
- /**
211
- * Traverses the map repeatedly,
212
- * in case side effects of disposal cause insertions.
213
- **/
214
- void Clear() {
215
- typedef typename Traits::Iterator It;
216
- HandleScope handle_scope(isolate_);
217
- // TODO(dcarney): figure out if this swap and loop is necessary.
218
- while (!Traits::Empty(&impl_)) {
219
- typename Traits::Impl impl;
220
- Traits::Swap(impl_, impl);
221
- for (It i = Traits::Begin(&impl); i != Traits::End(&impl); ++i) {
222
- Traits::Dispose(isolate_, Release(Traits::Value(i)).Pass(),
223
- Traits::Key(i));
224
- }
225
- }
226
- }
227
-
228
- /**
229
- * Helper class for GetReference/SetWithReference. Do not use outside
230
- * that context.
231
- */
232
- class PersistentValueReference {
233
- public:
234
- PersistentValueReference() : value_(kPersistentContainerNotFound) { }
235
- PersistentValueReference(const PersistentValueReference& other)
236
- : value_(other.value_) { }
237
-
238
- Local<V> NewLocal(Isolate* isolate) const {
239
- return Local<V>::New(isolate, FromVal(value_));
240
- }
241
- bool IsEmpty() const {
242
- return value_ == kPersistentContainerNotFound;
243
- }
244
- template<typename T>
245
- bool SetReturnValue(ReturnValue<T> returnValue) {
246
- return SetReturnValueFromVal(&returnValue, value_);
247
- }
248
- void Reset() {
249
- value_ = kPersistentContainerNotFound;
250
- }
251
- void operator=(const PersistentValueReference& other) {
252
- value_ = other.value_;
253
- }
254
-
255
- private:
256
- friend class PersistentValueMapBase;
257
- friend class PersistentValueMap<K, V, Traits>;
258
- friend class GlobalValueMap<K, V, Traits>;
259
-
260
- explicit PersistentValueReference(PersistentContainerValue value)
261
- : value_(value) { }
262
-
263
- void operator=(PersistentContainerValue value) {
264
- value_ = value;
265
- }
266
-
267
- PersistentContainerValue value_;
268
- };
269
-
270
- /**
271
- * Get a reference to a map value. This enables fast, repeated access
272
- * to a value stored in the map while the map remains unchanged.
273
- *
274
- * Careful: This is potentially unsafe, so please use with care.
275
- * The value will become invalid if the value for this key changes
276
- * in the underlying map, as a result of Set or Remove for the same
277
- * key; as a result of the weak callback for the same key; or as a
278
- * result of calling Clear() or destruction of the map.
279
- */
280
- PersistentValueReference GetReference(const K& key) {
281
- return PersistentValueReference(Traits::Get(&impl_, key));
282
- }
283
-
284
- protected:
285
- explicit PersistentValueMapBase(Isolate* isolate)
286
- : isolate_(isolate), label_(nullptr) {}
287
- PersistentValueMapBase(Isolate* isolate, const char* label)
288
- : isolate_(isolate), label_(label) {}
289
-
290
- ~PersistentValueMapBase() { Clear(); }
291
-
292
- Isolate* isolate() { return isolate_; }
293
- typename Traits::Impl* impl() { return &impl_; }
294
-
295
- static V* FromVal(PersistentContainerValue v) {
296
- return reinterpret_cast<V*>(v);
297
- }
298
-
299
- static PersistentContainerValue ClearAndLeak(Global<V>* persistent) {
300
- V* v = persistent->val_;
301
- persistent->val_ = nullptr;
302
- return reinterpret_cast<PersistentContainerValue>(v);
303
- }
304
-
305
- static PersistentContainerValue Leak(Global<V>* persistent) {
306
- return reinterpret_cast<PersistentContainerValue>(persistent->val_);
307
- }
308
-
309
- /**
310
- * Return a container value as Global and make sure the weak
311
- * callback is properly disposed of. All remove functionality should go
312
- * through this.
313
- */
314
- static Global<V> Release(PersistentContainerValue v) {
315
- Global<V> p;
316
- p.val_ = FromVal(v);
317
- if (Traits::kCallbackType != kNotWeak && p.IsWeak()) {
318
- Traits::DisposeCallbackData(
319
- p.template ClearWeak<typename Traits::WeakCallbackDataType>());
320
- }
321
- return p.Pass();
322
- }
323
-
324
- void RemoveWeak(const K& key) {
325
- Global<V> p;
326
- p.val_ = FromVal(Traits::Remove(&impl_, key));
327
- p.Reset();
328
- }
329
-
330
- void AnnotateStrongRetainer(Global<V>* persistent) {
331
- persistent->AnnotateStrongRetainer(label_);
332
- }
333
-
334
- private:
335
- PersistentValueMapBase(PersistentValueMapBase&);
336
- void operator=(PersistentValueMapBase&);
337
-
338
- static bool SetReturnValueFromVal(ReturnValue<Value>* returnValue,
339
- PersistentContainerValue value) {
340
- bool hasValue = value != kPersistentContainerNotFound;
341
- if (hasValue) {
342
- returnValue->SetInternal(
343
- *reinterpret_cast<internal::Address*>(FromVal(value)));
344
- }
345
- return hasValue;
346
- }
347
-
348
- Isolate* isolate_;
349
- typename Traits::Impl impl_;
350
- const char* label_;
351
- };
352
-
353
- template <typename K, typename V, typename Traits>
354
- class PersistentValueMap : public PersistentValueMapBase<K, V, Traits> {
355
- public:
356
- explicit PersistentValueMap(Isolate* isolate)
357
- : PersistentValueMapBase<K, V, Traits>(isolate) {}
358
- PersistentValueMap(Isolate* isolate, const char* label)
359
- : PersistentValueMapBase<K, V, Traits>(isolate, label) {}
360
-
361
- typedef
362
- typename PersistentValueMapBase<K, V, Traits>::PersistentValueReference
363
- PersistentValueReference;
364
-
365
- /**
366
- * Put value into map. Depending on Traits::kIsWeak, the value will be held
367
- * by the map strongly or weakly.
368
- * Returns old value as Global.
369
- */
370
- Global<V> Set(const K& key, Local<V> value) {
371
- Global<V> persistent(this->isolate(), value);
372
- return SetUnique(key, &persistent);
373
- }
374
-
375
- /**
376
- * Put value into map, like Set(const K&, Local<V>).
377
- */
378
- Global<V> Set(const K& key, Global<V> value) {
379
- return SetUnique(key, &value);
380
- }
381
-
382
- /**
383
- * Put the value into the map, and set the 'weak' callback when demanded
384
- * by the Traits class.
385
- */
386
- Global<V> SetUnique(const K& key, Global<V>* persistent) {
387
- if (Traits::kCallbackType == kNotWeak) {
388
- this->AnnotateStrongRetainer(persistent);
389
- } else {
390
- WeakCallbackType callback_type =
391
- Traits::kCallbackType == kWeakWithInternalFields
392
- ? WeakCallbackType::kInternalFields
393
- : WeakCallbackType::kParameter;
394
- Local<V> value(Local<V>::New(this->isolate(), *persistent));
395
- persistent->template SetWeak<typename Traits::WeakCallbackDataType>(
396
- Traits::WeakCallbackParameter(this, key, value), WeakCallback,
397
- callback_type);
398
- }
399
- PersistentContainerValue old_value =
400
- Traits::Set(this->impl(), key, this->ClearAndLeak(persistent));
401
- return this->Release(old_value).Pass();
402
- }
403
-
404
- /**
405
- * Put a value into the map and update the reference.
406
- * Restrictions of GetReference apply here as well.
407
- */
408
- Global<V> Set(const K& key, Global<V> value,
409
- PersistentValueReference* reference) {
410
- *reference = this->Leak(&value);
411
- return SetUnique(key, &value);
412
- }
413
-
414
- private:
415
- static void WeakCallback(
416
- const WeakCallbackInfo<typename Traits::WeakCallbackDataType>& data) {
417
- if (Traits::kCallbackType != kNotWeak) {
418
- PersistentValueMap<K, V, Traits>* persistentValueMap =
419
- Traits::MapFromWeakCallbackInfo(data);
420
- K key = Traits::KeyFromWeakCallbackInfo(data);
421
- Traits::Dispose(data.GetIsolate(),
422
- persistentValueMap->Remove(key).Pass(), key);
423
- Traits::DisposeCallbackData(data.GetParameter());
424
- }
425
- }
426
- };
427
-
428
-
429
- template <typename K, typename V, typename Traits>
430
- class GlobalValueMap : public PersistentValueMapBase<K, V, Traits> {
431
- public:
432
- explicit GlobalValueMap(Isolate* isolate)
433
- : PersistentValueMapBase<K, V, Traits>(isolate) {}
434
- GlobalValueMap(Isolate* isolate, const char* label)
435
- : PersistentValueMapBase<K, V, Traits>(isolate, label) {}
436
-
437
- typedef
438
- typename PersistentValueMapBase<K, V, Traits>::PersistentValueReference
439
- PersistentValueReference;
440
-
441
- /**
442
- * Put value into map. Depending on Traits::kIsWeak, the value will be held
443
- * by the map strongly or weakly.
444
- * Returns old value as Global.
445
- */
446
- Global<V> Set(const K& key, Local<V> value) {
447
- Global<V> persistent(this->isolate(), value);
448
- return SetUnique(key, &persistent);
449
- }
450
-
451
- /**
452
- * Put value into map, like Set(const K&, Local<V>).
453
- */
454
- Global<V> Set(const K& key, Global<V> value) {
455
- return SetUnique(key, &value);
456
- }
457
-
458
- /**
459
- * Put the value into the map, and set the 'weak' callback when demanded
460
- * by the Traits class.
461
- */
462
- Global<V> SetUnique(const K& key, Global<V>* persistent) {
463
- if (Traits::kCallbackType == kNotWeak) {
464
- this->AnnotateStrongRetainer(persistent);
465
- } else {
466
- WeakCallbackType callback_type =
467
- Traits::kCallbackType == kWeakWithInternalFields
468
- ? WeakCallbackType::kInternalFields
469
- : WeakCallbackType::kParameter;
470
- Local<V> value(Local<V>::New(this->isolate(), *persistent));
471
- persistent->template SetWeak<typename Traits::WeakCallbackDataType>(
472
- Traits::WeakCallbackParameter(this, key, value), OnWeakCallback,
473
- callback_type);
474
- }
475
- PersistentContainerValue old_value =
476
- Traits::Set(this->impl(), key, this->ClearAndLeak(persistent));
477
- return this->Release(old_value).Pass();
478
- }
479
-
480
- /**
481
- * Put a value into the map and update the reference.
482
- * Restrictions of GetReference apply here as well.
483
- */
484
- Global<V> Set(const K& key, Global<V> value,
485
- PersistentValueReference* reference) {
486
- *reference = this->Leak(&value);
487
- return SetUnique(key, &value);
488
- }
489
-
490
- private:
491
- static void OnWeakCallback(
492
- const WeakCallbackInfo<typename Traits::WeakCallbackDataType>& data) {
493
- if (Traits::kCallbackType != kNotWeak) {
494
- auto map = Traits::MapFromWeakCallbackInfo(data);
495
- K key = Traits::KeyFromWeakCallbackInfo(data);
496
- map->RemoveWeak(key);
497
- Traits::OnWeakCallback(data);
498
- data.SetSecondPassCallback(SecondWeakCallback);
499
- }
500
- }
501
-
502
- static void SecondWeakCallback(
503
- const WeakCallbackInfo<typename Traits::WeakCallbackDataType>& data) {
504
- Traits::DisposeWeak(data);
505
- }
506
- };
507
-
508
-
509
- /**
510
- * A map that uses Global as value and std::map as the backing
511
- * implementation. Persistents are held non-weak.
512
- *
513
- * C++11 embedders don't need this class, as they can use
514
- * Global directly in std containers.
515
- */
516
- template<typename K, typename V,
517
- typename Traits = DefaultPersistentValueMapTraits<K, V> >
518
- class StdPersistentValueMap : public PersistentValueMap<K, V, Traits> {
519
- public:
520
- explicit StdPersistentValueMap(Isolate* isolate)
521
- : PersistentValueMap<K, V, Traits>(isolate) {}
522
- };
523
-
524
-
525
- /**
526
- * A map that uses Global as value and std::map as the backing
527
- * implementation. Globals are held non-weak.
528
- *
529
- * C++11 embedders don't need this class, as they can use
530
- * Global directly in std containers.
531
- */
532
- template <typename K, typename V,
533
- typename Traits = DefaultGlobalMapTraits<K, V> >
534
- class StdGlobalValueMap : public GlobalValueMap<K, V, Traits> {
535
- public:
536
- explicit StdGlobalValueMap(Isolate* isolate)
537
- : GlobalValueMap<K, V, Traits>(isolate) {}
538
- };
539
-
540
-
541
- class DefaultPersistentValueVectorTraits {
542
- public:
543
- typedef std::vector<PersistentContainerValue> Impl;
544
-
545
- static void Append(Impl* impl, PersistentContainerValue value) {
546
- impl->push_back(value);
547
- }
548
- static bool IsEmpty(const Impl* impl) {
549
- return impl->empty();
550
- }
551
- static size_t Size(const Impl* impl) {
552
- return impl->size();
553
- }
554
- static PersistentContainerValue Get(const Impl* impl, size_t i) {
555
- return (i < impl->size()) ? impl->at(i) : kPersistentContainerNotFound;
556
- }
557
- static void ReserveCapacity(Impl* impl, size_t capacity) {
558
- impl->reserve(capacity);
559
- }
560
- static void Clear(Impl* impl) {
561
- impl->clear();
562
- }
563
- };
564
-
565
-
566
- /**
567
- * A vector wrapper that safely stores Global values.
568
- * C++11 embedders don't need this class, as they can use Global
569
- * directly in std containers.
570
- *
571
- * This class relies on a backing vector implementation, whose type and methods
572
- * are described by the Traits class. The backing map will handle values of type
573
- * PersistentContainerValue, with all conversion into and out of V8
574
- * handles being transparently handled by this class.
575
- */
576
- template<typename V, typename Traits = DefaultPersistentValueVectorTraits>
577
- class PersistentValueVector {
578
- public:
579
- explicit PersistentValueVector(Isolate* isolate) : isolate_(isolate) { }
580
-
581
- ~PersistentValueVector() {
582
- Clear();
583
- }
584
-
585
- /**
586
- * Append a value to the vector.
587
- */
588
- void Append(Local<V> value) {
589
- Global<V> persistent(isolate_, value);
590
- Traits::Append(&impl_, ClearAndLeak(&persistent));
591
- }
592
-
593
- /**
594
- * Append a persistent's value to the vector.
595
- */
596
- void Append(Global<V> persistent) {
597
- Traits::Append(&impl_, ClearAndLeak(&persistent));
598
- }
599
-
600
- /**
601
- * Are there any values in the vector?
602
- */
603
- bool IsEmpty() const {
604
- return Traits::IsEmpty(&impl_);
605
- }
606
-
607
- /**
608
- * How many elements are in the vector?
609
- */
610
- size_t Size() const {
611
- return Traits::Size(&impl_);
612
- }
613
-
614
- /**
615
- * Retrieve the i-th value in the vector.
616
- */
617
- Local<V> Get(size_t index) const {
618
- return Local<V>::New(isolate_, FromVal(Traits::Get(&impl_, index)));
619
- }
620
-
621
- /**
622
- * Remove all elements from the vector.
623
- */
624
- void Clear() {
625
- size_t length = Traits::Size(&impl_);
626
- for (size_t i = 0; i < length; i++) {
627
- Global<V> p;
628
- p.val_ = FromVal(Traits::Get(&impl_, i));
629
- }
630
- Traits::Clear(&impl_);
631
- }
632
-
633
- /**
634
- * Reserve capacity in the vector.
635
- * (Efficiency gains depend on the backing implementation.)
636
- */
637
- void ReserveCapacity(size_t capacity) {
638
- Traits::ReserveCapacity(&impl_, capacity);
639
- }
640
-
641
- private:
642
- static PersistentContainerValue ClearAndLeak(Global<V>* persistent) {
643
- V* v = persistent->val_;
644
- persistent->val_ = nullptr;
645
- return reinterpret_cast<PersistentContainerValue>(v);
646
- }
647
-
648
- static V* FromVal(PersistentContainerValue v) {
649
- return reinterpret_cast<V*>(v);
650
- }
651
-
652
- Isolate* isolate_;
653
- typename Traits::Impl impl_;
654
- };
655
-
656
- } // namespace v8
657
-
658
- #endif // V8_UTIL_H
@@ -1,24 +0,0 @@
1
- // Copyright 2017 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
- /**
6
- * Compile-time constants.
7
- *
8
- * This header provides access to information about the value serializer at
9
- * compile time, without declaring or defining any symbols that require linking
10
- * to V8.
11
- */
12
-
13
- #ifndef INCLUDE_V8_VALUE_SERIALIZER_VERSION_H_
14
- #define INCLUDE_V8_VALUE_SERIALIZER_VERSION_H_
15
-
16
- #include <stdint.h>
17
-
18
- namespace v8 {
19
-
20
- constexpr uint32_t CurrentValueSerializerFormatVersion() { return 15; }
21
-
22
- } // namespace v8
23
-
24
- #endif // INCLUDE_V8_VALUE_SERIALIZER_VERSION_H_