@nativescript/canvas 2.0.0-webgpu.1 → 2.0.0-webgpu.3

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 (245) hide show
  1. package/Canvas/common.d.ts +2 -16
  2. package/Canvas/common.js +1 -62
  3. package/Canvas/common.js.map +1 -1
  4. package/Canvas/index.android.d.ts +6 -7
  5. package/Canvas/index.android.js +87 -42
  6. package/Canvas/index.android.js.map +1 -1
  7. package/Canvas/index.d.ts +7 -8
  8. package/Canvas/index.ios.d.ts +3 -2
  9. package/Canvas/index.ios.js +87 -46
  10. package/Canvas/index.ios.js.map +1 -1
  11. package/Canvas2D/CanvasRenderingContext2D/index.js +71 -72
  12. package/Canvas2D/CanvasRenderingContext2D/index.js.map +1 -1
  13. package/Canvas2D/DOMMatrix/index.js +1 -1
  14. package/Canvas2D/DOMMatrix/index.js.map +1 -1
  15. package/Canvas2D/ImageData/index.js.map +1 -1
  16. package/Canvas2D/Path2D/index.js.map +1 -1
  17. package/Dom/Dom.js +8 -1
  18. package/Dom/Dom.js.map +1 -1
  19. package/Dom/Group.js.map +1 -1
  20. package/Dom/Image.d.ts +4 -1
  21. package/Dom/Image.js +16 -2
  22. package/Dom/Image.js.map +1 -1
  23. package/Dom/Paint.js.map +1 -1
  24. package/Dom/Text.js.map +1 -1
  25. package/Dom/shaders/LinearGradient.js.map +1 -1
  26. package/Dom/shaders/TwoPointConicalGradient.js.map +1 -1
  27. package/Dom/shapes/Atlas.js.map +1 -1
  28. package/Dom/shapes/Circle.js.map +1 -1
  29. package/Dom/shapes/Line.js.map +1 -1
  30. package/Dom/shapes/Oval.js.map +1 -1
  31. package/Dom/shapes/Path.js.map +1 -1
  32. package/Dom/shapes/Rect.js.map +1 -1
  33. package/Dom/shapes/RoundedRect.js.map +1 -1
  34. package/Dom/shapes/index.js.map +1 -1
  35. package/ImageAsset/index.d.ts +3 -1
  36. package/ImageAsset/index.js +38 -6
  37. package/ImageAsset/index.js.map +1 -1
  38. package/ImageBitmap/index.js +3 -3
  39. package/ImageBitmap/index.js.map +1 -1
  40. package/README.md +64 -3
  41. package/TextDecoder/index.js +3 -3
  42. package/TextDecoder/index.js.map +1 -1
  43. package/TextEncoder/index.js +3 -3
  44. package/TextEncoder/index.js.map +1 -1
  45. package/WebGL/WebGLExtensions/index.js +5 -5
  46. package/WebGL/WebGLExtensions/index.js.map +1 -1
  47. package/WebGL/WebGLRenderingContext/common.js.map +1 -1
  48. package/WebGL/WebGLRenderingContext/index.js.map +1 -1
  49. package/WebGL2/WebGL2RenderingContext/index.js.map +1 -1
  50. package/WebGPU/Constants.js.map +1 -1
  51. package/WebGPU/GPU.js.map +1 -1
  52. package/WebGPU/GPUAdapter.js.map +1 -1
  53. package/WebGPU/GPUAdapterInfo.js.map +1 -1
  54. package/WebGPU/GPUBindGroup.js.map +1 -1
  55. package/WebGPU/GPUBindGroupLayout.js.map +1 -1
  56. package/WebGPU/GPUBuffer.js +5 -1
  57. package/WebGPU/GPUBuffer.js.map +1 -1
  58. package/WebGPU/GPUCanvasContext.js.map +1 -1
  59. package/WebGPU/GPUCommandBuffer.js.map +1 -1
  60. package/WebGPU/GPUCommandEncoder.js.map +1 -1
  61. package/WebGPU/GPUComputePassEncoder.js.map +1 -1
  62. package/WebGPU/GPUComputePipeline.js.map +1 -1
  63. package/WebGPU/GPUDevice.d.ts +2 -2
  64. package/WebGPU/GPUDevice.js +4 -3
  65. package/WebGPU/GPUDevice.js.map +1 -1
  66. package/WebGPU/GPUExternalTexture.js.map +1 -1
  67. package/WebGPU/GPUPipelineLayout.js.map +1 -1
  68. package/WebGPU/GPUQuerySet.js.map +1 -1
  69. package/WebGPU/GPUQueue.js.map +1 -1
  70. package/WebGPU/GPURenderBundle.js.map +1 -1
  71. package/WebGPU/GPURenderBundleEncoder.js.map +1 -1
  72. package/WebGPU/GPURenderPassEncoder.js +2 -2
  73. package/WebGPU/GPURenderPassEncoder.js.map +1 -1
  74. package/WebGPU/GPURenderPipeline.js.map +1 -1
  75. package/WebGPU/GPUSampler.js.map +1 -1
  76. package/WebGPU/GPUShaderModule.js.map +1 -1
  77. package/WebGPU/GPUTexture.js.map +1 -1
  78. package/WebGPU/GPUTextureView.js.map +1 -1
  79. package/WebGPU/Types.d.ts +27 -27
  80. package/WebGPU/Utils.d.ts +1 -1
  81. package/WebGPU/Utils.js.map +1 -1
  82. package/angular/{esm2020 → esm2022}/index.mjs +5 -5
  83. package/angular/{fesm2015 → fesm2022}/nativescript-canvas-angular.mjs +4 -4
  84. package/angular/{fesm2020 → fesm2022}/nativescript-canvas-angular.mjs.map +1 -1
  85. package/angular/package.json +4 -10
  86. package/helpers.js.map +1 -1
  87. package/package.json +2 -2
  88. package/platforms/android/canvas-release.aar +0 -0
  89. package/platforms/ios/CanvasNative.xcframework/Info.plist +5 -5
  90. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative +0 -0
  91. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h +21 -9
  92. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +2049 -2061
  93. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  94. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json +752 -108
  95. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface +35 -9
  96. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  97. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface +35 -9
  98. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/NSCCanvas.nib +0 -0
  99. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  100. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +644 -602
  101. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative +0 -0
  102. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h +42 -18
  103. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h +2049 -2061
  104. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  105. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  106. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json +752 -108
  107. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +35 -9
  108. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  109. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface +35 -9
  110. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +752 -108
  111. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +35 -9
  112. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  113. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +35 -9
  114. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/NSCCanvas.nib +0 -0
  115. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources +24 -24
  116. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  117. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +646 -604
  118. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml +684 -638
  119. package/platforms/ios/src/NSOperationQueueWrapper.h +2 -0
  120. package/platforms/ios/src/cpp/AsyncCallback.h +206 -0
  121. package/platforms/ios/src/cpp/CanvasJSIModule.cpp +13 -13
  122. package/platforms/ios/src/cpp/Helpers.h +2 -164
  123. package/platforms/ios/src/cpp/ImageAssetImpl.cpp +13 -13
  124. package/platforms/ios/src/cpp/ImageBitmapImpl.cpp +1 -1
  125. package/platforms/ios/src/cpp/ImageBitmapImpl.h +2 -1
  126. package/platforms/ios/src/cpp/JSIReadFileCallback.h +4 -4
  127. package/platforms/ios/src/cpp/NativeType.h +87 -0
  128. package/platforms/ios/src/cpp/ObjectWrapperImpl.h +50 -0
  129. package/platforms/ios/src/cpp/OneByteStringResource.cpp +2 -2
  130. package/platforms/ios/src/cpp/PromiseCallback.h +198 -0
  131. package/platforms/ios/src/cpp/RafImpl.h +2 -2
  132. package/platforms/ios/src/cpp/TextDecoderImpl.cpp +0 -6
  133. package/platforms/ios/src/cpp/TextDecoderImpl.h +3 -3
  134. package/platforms/ios/src/cpp/TextEncoderImpl.cpp +1 -1
  135. package/platforms/ios/src/cpp/TextEncoderImpl.h +3 -3
  136. package/platforms/ios/src/cpp/canvas2d/CanvasGradient.h +8 -7
  137. package/platforms/ios/src/cpp/canvas2d/CanvasPattern.cpp +1 -1
  138. package/platforms/ios/src/cpp/canvas2d/CanvasPattern.h +3 -3
  139. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.cpp +145 -75
  140. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.h +74 -20
  141. package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.cpp +5 -6
  142. package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.h +4 -4
  143. package/platforms/ios/src/cpp/canvas2d/MatrixImpl.cpp +10 -10
  144. package/platforms/ios/src/cpp/canvas2d/MatrixImpl.h +2 -2
  145. package/platforms/ios/src/cpp/canvas2d/Path2D.cpp +6 -3
  146. package/platforms/ios/src/cpp/canvas2d/Path2D.h +2 -2
  147. package/platforms/ios/src/cpp/canvas2d/TextMetricsImpl.h +3 -3
  148. package/platforms/ios/src/cpp/webgl/WebGLActiveInfoImpl.h +1 -1
  149. package/platforms/ios/src/cpp/webgl/WebGLBuffer.h +1 -1
  150. package/platforms/ios/src/cpp/webgl/WebGLFramebuffer.h +1 -1
  151. package/platforms/ios/src/cpp/webgl/WebGLProgram.h +3 -3
  152. package/platforms/ios/src/cpp/webgl/WebGLRenderbuffer.h +3 -3
  153. package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.cpp +8 -8
  154. package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.h +1 -1
  155. package/platforms/ios/src/cpp/webgl/WebGLRenderingContextBase.cpp +1 -1
  156. package/platforms/ios/src/cpp/webgl/WebGLShader.h +1 -1
  157. package/platforms/ios/src/cpp/webgl/WebGLShaderPrecisionFormatImpl.h +5 -5
  158. package/platforms/ios/src/cpp/webgl/WebGLTexture.h +3 -2
  159. package/platforms/ios/src/cpp/webgl/WebGLUniformLocation.h +2 -2
  160. package/platforms/ios/src/cpp/webgl/extensions/ANGLE_instanced_arraysImpl.h +1 -1
  161. package/platforms/ios/src/cpp/webgl/extensions/EXT_blend_minmaxImpl.h +1 -1
  162. package/platforms/ios/src/cpp/webgl/extensions/EXT_color_buffer_half_floatImpl.h +1 -1
  163. package/platforms/ios/src/cpp/webgl/extensions/EXT_disjoint_timer_queryImpl.h +1 -1
  164. package/platforms/ios/src/cpp/webgl/extensions/EXT_sRGBImpl.h +1 -1
  165. package/platforms/ios/src/cpp/webgl/extensions/EXT_shader_texture_lodImpl.h +1 -1
  166. package/platforms/ios/src/cpp/webgl/extensions/EXT_texture_filter_anisotropicImpl.h +1 -1
  167. package/platforms/ios/src/cpp/webgl/extensions/OES_element_index_uintImpl.h +2 -2
  168. package/platforms/ios/src/cpp/webgl/extensions/OES_fbo_render_mipmap.h +5 -5
  169. package/platforms/ios/src/cpp/webgl/extensions/OES_standard_derivativesImpl.h +1 -1
  170. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_floatImpl.h +1 -1
  171. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_float_linearImpl.h +1 -1
  172. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_floatImpl.h +1 -1
  173. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_float_linearImpl.h +1 -1
  174. package/platforms/ios/src/cpp/webgl/extensions/OES_vertex_array_objectImpl.h +1 -1
  175. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_color_buffer_floatImpl.h +1 -1
  176. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_atcImpl.h +1 -1
  177. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etc1Impl.h +1 -1
  178. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etcImpl.h +2 -2
  179. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_pvrtcImpl.h +1 -1
  180. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tcImpl.h +1 -1
  181. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tc_srgbImpl.h +1 -1
  182. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_depth_textureImpl.h +1 -1
  183. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_draw_buffersImpl.h +1 -1
  184. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_lose_contextImpl.h +1 -1
  185. package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.cpp +722 -722
  186. package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.h +1 -1
  187. package/platforms/ios/src/cpp/webgl2/WebGLQuery.h +1 -1
  188. package/platforms/ios/src/cpp/webgl2/WebGLSampler.h +1 -1
  189. package/platforms/ios/src/cpp/webgl2/WebGLSyncImpl.h +1 -1
  190. package/platforms/ios/src/cpp/webgl2/WebGLTransformFeedback.h +1 -1
  191. package/platforms/ios/src/cpp/webgl2/WebGLVertexArrayObject.h +2 -2
  192. package/platforms/ios/src/cpp/webgpu/GPUAdapterImpl.cpp +124 -58
  193. package/platforms/ios/src/cpp/webgpu/GPUAdapterImpl.h +1 -1
  194. package/platforms/ios/src/cpp/webgpu/GPUAdapterInfoImpl.cpp +1 -1
  195. package/platforms/ios/src/cpp/webgpu/GPUAdapterInfoImpl.h +1 -1
  196. package/platforms/ios/src/cpp/webgpu/GPUBindGroupImpl.cpp +1 -1
  197. package/platforms/ios/src/cpp/webgpu/GPUBindGroupImpl.h +1 -1
  198. package/platforms/ios/src/cpp/webgpu/GPUBindGroupLayoutImpl.cpp +1 -1
  199. package/platforms/ios/src/cpp/webgpu/GPUBindGroupLayoutImpl.h +1 -1
  200. package/platforms/ios/src/cpp/webgpu/GPUBufferImpl.cpp +44 -30
  201. package/platforms/ios/src/cpp/webgpu/GPUBufferImpl.h +4 -4
  202. package/platforms/ios/src/cpp/webgpu/GPUCanvasContextImpl.cpp +11 -11
  203. package/platforms/ios/src/cpp/webgpu/GPUCanvasContextImpl.h +1 -1
  204. package/platforms/ios/src/cpp/webgpu/GPUCommandBufferImpl.cpp +1 -1
  205. package/platforms/ios/src/cpp/webgpu/GPUCommandBufferImpl.h +1 -1
  206. package/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.cpp +30 -31
  207. package/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.h +1 -1
  208. package/platforms/ios/src/cpp/webgpu/GPUComputePassEncoderImpl.cpp +1 -1
  209. package/platforms/ios/src/cpp/webgpu/GPUComputePassEncoderImpl.h +1 -1
  210. package/platforms/ios/src/cpp/webgpu/GPUComputePipelineImpl.cpp +1 -1
  211. package/platforms/ios/src/cpp/webgpu/GPUComputePipelineImpl.h +1 -1
  212. package/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.cpp +99 -73
  213. package/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.h +2 -2
  214. package/platforms/ios/src/cpp/webgpu/GPUImpl.cpp +54 -41
  215. package/platforms/ios/src/cpp/webgpu/GPUImpl.h +1 -1
  216. package/platforms/ios/src/cpp/webgpu/GPUPipelineLayoutImpl.cpp +1 -1
  217. package/platforms/ios/src/cpp/webgpu/GPUPipelineLayoutImpl.h +5 -4
  218. package/platforms/ios/src/cpp/webgpu/GPUQuerySetImpl.cpp +1 -1
  219. package/platforms/ios/src/cpp/webgpu/GPUQuerySetImpl.h +1 -1
  220. package/platforms/ios/src/cpp/webgpu/GPUQueueImpl.cpp +38 -23
  221. package/platforms/ios/src/cpp/webgpu/GPUQueueImpl.h +1 -1
  222. package/platforms/ios/src/cpp/webgpu/GPURenderBundleEncoderImpl.h +1 -1
  223. package/platforms/ios/src/cpp/webgpu/GPURenderBundleImpl.cpp +1 -1
  224. package/platforms/ios/src/cpp/webgpu/GPURenderBundleImpl.h +1 -1
  225. package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.cpp +4 -3
  226. package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.h +1 -1
  227. package/platforms/ios/src/cpp/webgpu/GPURenderPipelineImpl.cpp +1 -1
  228. package/platforms/ios/src/cpp/webgpu/GPURenderPipelineImpl.h +1 -1
  229. package/platforms/ios/src/cpp/webgpu/GPUSamplerImpl.cpp +1 -1
  230. package/platforms/ios/src/cpp/webgpu/GPUSamplerImpl.h +1 -1
  231. package/platforms/ios/src/cpp/webgpu/GPUShaderModuleImpl.cpp +1 -1
  232. package/platforms/ios/src/cpp/webgpu/GPUShaderModuleImpl.h +2 -2
  233. package/platforms/ios/src/cpp/webgpu/GPUSupportedLimitsImpl.cpp +2 -2
  234. package/platforms/ios/src/cpp/webgpu/GPUSupportedLimitsImpl.h +2 -2
  235. package/platforms/ios/src/cpp/webgpu/GPUTextureImpl.h +4 -4
  236. package/platforms/ios/src/cpp/webgpu/GPUTextureViewImpl.cpp +1 -1
  237. package/platforms/ios/src/cpp/webgpu/GPUTextureViewImpl.h +2 -2
  238. package/react/index.d.ts +1 -1
  239. package/utils.js.map +1 -1
  240. package/angular/fesm2015/nativescript-canvas-angular.mjs.map +0 -1
  241. package/angular/fesm2020/nativescript-canvas-angular.mjs +0 -24
  242. package/typings/objc!CanvasNative.d.ts +0 -2038
  243. package/typings/objc!CanvasNative.js +0 -1
  244. package/typings/objc!CanvasNative.js.map +0 -1
  245. /package/angular/{esm2020 → esm2022}/nativescript-canvas-angular.mjs +0 -0
@@ -115,7 +115,7 @@ public:
115
115
  v8::EscapableHandleScope scope(isolate);
116
116
  auto object = WebGL2RenderingContext::GetCtor(isolate)->GetFunction(
117
117
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
118
- SetNativeType(object, NativeType::WebGLRenderingContextBase);
118
+ SetNativeType(renderingContext, NativeType::WebGLRenderingContextBase);
119
119
  object->SetAlignedPointerInInternalField(0, renderingContext);
120
120
  renderingContext->BindFinalizer(isolate, object);
121
121
  return scope.Escape(object);
@@ -35,7 +35,7 @@ public:
35
35
  v8::EscapableHandleScope scope(isolate);
36
36
  auto object = WebGLQuery::GetCtor(isolate)->GetFunction(
37
37
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
38
- SetNativeType( object, NativeType::WebGLQuery);
38
+ SetNativeType( query, NativeType::WebGLQuery);
39
39
  object->SetAlignedPointerInInternalField(0, query);
40
40
  query->BindFinalizer(isolate, object);
41
41
  return scope.Escape(object);
@@ -36,7 +36,7 @@ public:
36
36
  v8::EscapableHandleScope scope(isolate);
37
37
  auto object = WebGLSampler::GetCtor(isolate)->GetFunction(
38
38
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
39
- SetNativeType( object, NativeType::WebGLSampler);
39
+ SetNativeType( sampler, NativeType::WebGLSampler);
40
40
  object->SetAlignedPointerInInternalField(0, sampler);
41
41
  sampler->BindFinalizer(isolate, object);
42
42
  return scope.Escape(object);
@@ -35,7 +35,7 @@ public:
35
35
  v8::EscapableHandleScope scope(isolate);
36
36
  auto object = WebGLSyncImpl::GetCtor(isolate)->GetFunction(
37
37
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
38
- SetNativeType( object, NativeType::WebGLSync);
38
+ SetNativeType( sync, NativeType::WebGLSync);
39
39
  object->SetAlignedPointerInInternalField(0, sync);
40
40
  sync->BindFinalizer(isolate, object);
41
41
  return scope.Escape(object);
@@ -37,7 +37,7 @@ public:
37
37
  v8::EscapableHandleScope scope(isolate);
38
38
  auto object = WebGLTransformFeedback::GetCtor(isolate)->GetFunction(
39
39
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
40
- SetNativeType( object, NativeType::WebGLTransformFeedback);
40
+ SetNativeType( feedback, NativeType::WebGLTransformFeedback);
41
41
  object->SetAlignedPointerInInternalField(0, feedback);
42
42
  feedback->BindFinalizer(isolate, object);
43
43
  return scope.Escape(object);
@@ -9,7 +9,7 @@
9
9
  #include "Helpers.h"
10
10
  #include "ObjectWrapperImpl.h"
11
11
 
12
- class WebGLVertexArrayObject: ObjectWrapperImpl {
12
+ class WebGLVertexArrayObject : ObjectWrapperImpl {
13
13
  public:
14
14
  WebGLVertexArrayObject(uint32_t vertexArrayObject) : vertexArrayObject_(vertexArrayObject) {}
15
15
 
@@ -38,7 +38,7 @@ public:
38
38
  v8::EscapableHandleScope scope(isolate);
39
39
  auto object = WebGLVertexArrayObject::GetCtor(isolate)->GetFunction(
40
40
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
41
- SetNativeType( object, NativeType::WebGLVertexArrayObject);
41
+ SetNativeType(vertexArrayObject, NativeType::WebGLVertexArrayObject);
42
42
  object->SetAlignedPointerInInternalField(0, vertexArrayObject);
43
43
  vertexArrayObject->BindFinalizer(isolate, object);
44
44
  return scope.Escape(object);
@@ -100,7 +100,7 @@ GPUAdapterImpl::GetFeatures(v8::Local<v8::Name> name,
100
100
  }
101
101
 
102
102
  }
103
- canvas_native_string_buffer_destroy(features);
103
+ canvas_native_string_buffer_release(features);
104
104
 
105
105
  info.GetReturnValue().Set(map);
106
106
 
@@ -158,6 +158,24 @@ void GPUAdapterImpl::RequestAdapterInfo(const v8::FunctionCallbackInfo<v8::Value
158
158
 
159
159
  }
160
160
 
161
+ struct RequestData {
162
+ char *error_;
163
+ const CanvasGPUDevice *device_;
164
+ char **required_features_data_;
165
+
166
+ ~RequestData() {
167
+ if (required_features_data_ != nullptr) {
168
+ delete[] required_features_data_;
169
+ required_features_data_ = nullptr;
170
+ }
171
+
172
+ if (error_ != nullptr) {
173
+ canvas_native_string_destroy(error_);
174
+ error_ = nullptr;
175
+ }
176
+ }
177
+ };
178
+
161
179
  void GPUAdapterImpl::RequestDevice(const v8::FunctionCallbackInfo<v8::Value> &args) {
162
180
  GPUAdapterImpl *ptr = GetPointer(args.This());
163
181
  auto isolate = args.GetIsolate();
@@ -170,7 +188,7 @@ void GPUAdapterImpl::RequestDevice(const v8::FunctionCallbackInfo<v8::Value> &ar
170
188
  return;
171
189
  }
172
190
 
173
- v8::Global<v8::Function> func(isolate, cb.As<v8::Function>());
191
+ auto func = cb.As<v8::Function>();
174
192
 
175
193
  std::string label;
176
194
 
@@ -210,7 +228,6 @@ void GPUAdapterImpl::RequestDevice(const v8::FunctionCallbackInfo<v8::Value> &ar
210
228
  }
211
229
  }
212
230
 
213
-
214
231
  v8::Local<v8::Value> limitsValue;
215
232
 
216
233
  options->Get(context, ConvertToV8String(isolate, "requiredLimits")).ToLocal(
@@ -235,68 +252,117 @@ void GPUAdapterImpl::RequestDevice(const v8::FunctionCallbackInfo<v8::Value> &ar
235
252
  }
236
253
  }
237
254
 
238
-
239
255
  auto callback = new AsyncCallback{
240
256
  isolate,
241
- std::move(func),
242
- static_cast<void *>(required_features_data)
257
+ func,
258
+ [](bool done, void *data) {
259
+ if (data != nullptr) {
260
+ auto async_data = static_cast<AsyncCallback *>(data);
261
+ auto func = async_data->inner_.get();
262
+ if (func != nullptr && func->isolate_ != nullptr) {
263
+ v8::Isolate *isolate = func->isolate_;
264
+ v8::Locker locker(isolate);
265
+ v8::Isolate::Scope isolate_scope(isolate);
266
+ v8::HandleScope handle_scope(isolate);
267
+ v8::Local<v8::Function> callback = func->callback_.Get(
268
+ isolate);
269
+ v8::Local<v8::Context> context = callback->GetCreationContextChecked();
270
+ v8::Context::Scope context_scope(context);
271
+
272
+ RequestData *requestData = nullptr;
273
+ if (func->data != nullptr) {
274
+ requestData = static_cast<RequestData *>(func->data);
275
+ }
276
+
277
+ if (requestData == nullptr) {
278
+ // Should never happen
279
+ v8::Local<v8::Value> args[1] = {
280
+ v8::Exception::Error(
281
+ ConvertToV8String(isolate, "Internal Error"))};
282
+
283
+ callback->Call(context, context->Global(),
284
+ 1,
285
+ args); // ignore JS return value
286
+ delete static_cast<AsyncCallback *>(data);
287
+
288
+ return;
289
+ }
290
+
291
+ if (requestData->error_ != nullptr) {
292
+ v8::Local<v8::Value> args[1] = {
293
+ v8::Exception::Error(
294
+ ConvertToV8String(isolate,
295
+ requestData->error_))};
296
+
297
+ callback->Call(context, context->Global(),
298
+ 1,
299
+ args); // ignore JS return value
300
+ delete static_cast<AsyncCallback *>(data);
301
+ } else {
302
+
303
+ auto impl = new GPUDeviceImpl(requestData->device_);
304
+ auto ret = GPUDeviceImpl::NewInstance(
305
+ isolate, impl);
306
+
307
+ v8::Local<v8::Value> args[2] = {
308
+ v8::Null(isolate), ret};
309
+
310
+
311
+ callback->Call(context, context->Global(),
312
+ 2,
313
+ args); // ignore JS return value
314
+
315
+ delete static_cast<AsyncCallback *>(data);
316
+ }
317
+
318
+ if (requestData != nullptr) {
319
+ delete requestData;
320
+ requestData = nullptr;
321
+ }
322
+ }
323
+ }
324
+ }
243
325
  };
244
326
 
245
- canvas_native_webgpu_adapter_request_device(ptr->GetGPUAdapter(),
246
- label.empty() ? nullptr : label.c_str(),
247
- required_features_data, required_features_data_length,
248
- limits,
249
- [](char *error, const CanvasGPUDevice *device, void *data) {
250
- if (data != nullptr) {
251
- auto func = static_cast<AsyncCallback *>(data);
252
- if (func->isolate != nullptr) {
253
- v8::Isolate *isolate = func->isolate;
254
- v8::Locker locker(isolate);
255
- v8::Isolate::Scope isolate_scope(isolate);
256
- v8::HandleScope handle_scope(isolate);
257
- v8::Local<v8::Function> callback = func->callback.Get(
258
- isolate);
259
- v8::Local<v8::Context> context = callback->GetCreationContextChecked();
260
- v8::Context::Scope context_scope(context);
261
-
262
- if (func->data != nullptr) {
263
- delete[] static_cast<char **>(func->data);
264
- func->data = nullptr;
265
- }
266
-
267
- if (error != nullptr) {
268
- v8::Local<v8::Value> args[1] = {
269
- v8::Exception::Error(
270
- ConvertToV8String(isolate,
271
- error))};
272
-
273
- canvas_native_string_destroy(error);
274
-
275
- callback->Call(context, context->Global(),
276
- 1,
277
- args); // ignore JS return value
278
- delete static_cast<AsyncCallback *>(data);
279
- } else {
280
-
281
- auto impl = new GPUDeviceImpl(device);
282
- auto ret = GPUDeviceImpl::NewInstance(
283
- isolate, impl);
284
-
327
+ auto inner = callback->inner_.get();
285
328
 
286
- v8::Local<v8::Value> args[2] = {
287
- v8::Null(isolate), ret};
288
-
289
-
290
- callback->Call(context, context->Global(),
291
- 2,
292
- args); // ignore JS return value
329
+ if (required_features_data != nullptr) {
330
+ inner->data = new RequestData{
331
+ nullptr,
332
+ nullptr,
333
+ required_features_data
334
+ };
335
+ }
293
336
 
294
- delete static_cast<AsyncCallback *>(data);
337
+ callback->prepare();
295
338
 
339
+ canvas_native_webgpu_adapter_request_device(ptr->GetGPUAdapter(),
340
+ label.empty() ? nullptr : label.c_str(),
341
+ required_features_data,
342
+ required_features_data_length,
343
+ limits,
344
+ [](char *error, const CanvasGPUDevice *device,
345
+ void *data) {
346
+ if (data != nullptr) {
347
+ auto async_data = static_cast<AsyncCallback *>(data);
348
+ auto inner = async_data->inner_.get();
349
+ if (inner != nullptr) {
350
+ if (inner->data == nullptr) {
351
+ inner->data = new RequestData{
352
+ error,
353
+ device
354
+ };
355
+ } else {
356
+ auto request_data = static_cast<RequestData *>(inner->data);
357
+ request_data->error_ = error;
358
+ request_data->device_ = device;
359
+ delete request_data->required_features_data_;
360
+ request_data->required_features_data_ = nullptr;
361
+ }
362
+
363
+ async_data->execute(true);
364
+ }
296
365
  }
297
- }
298
- }
299
- }, callback);
300
-
366
+ }, callback);
301
367
 
302
368
  }
@@ -33,7 +33,7 @@ public:
33
33
  v8::EscapableHandleScope scope(isolate);
34
34
  auto object = GPUAdapterImpl::GetCtor(isolate)->GetFunction(
35
35
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
36
- SetNativeType(object, NativeType::GPUAdapter);
36
+ SetNativeType(adapter, NativeType::GPUAdapter);
37
37
  object->SetAlignedPointerInInternalField(0, adapter);
38
38
  adapter->BindFinalizer(isolate, object);
39
39
  return scope.Escape(object);
@@ -21,7 +21,7 @@ void GPUAdapterInfoImpl::Init(v8::Local<v8::Object> canvasModule, v8::Isolate *i
21
21
  auto context = isolate->GetCurrentContext();
22
22
  auto func = ctor->GetFunction(context).ToLocalChecked();
23
23
 
24
- canvasModule->Set(context, ConvertToV8String(isolate, "GPUAdapterInfo"), func).FromJust();;
24
+ canvasModule->Set(context, ConvertToV8String(isolate, "GPUAdapterInfo"), func).FromJust();
25
25
  }
26
26
 
27
27
  GPUAdapterInfoImpl *GPUAdapterInfoImpl::GetPointer(const v8::Local<v8::Object> &object) {
@@ -30,7 +30,7 @@ public:
30
30
  v8::EscapableHandleScope scope(isolate);
31
31
  auto object = GPUAdapterInfoImpl::GetCtor(isolate)->GetFunction(
32
32
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
33
- SetNativeType(object, NativeType::GPUAdapterInfo);
33
+ SetNativeType(info, NativeType::GPUAdapterInfo);
34
34
  object->SetAlignedPointerInInternalField(0, info);
35
35
  info->BindFinalizer(isolate, object);
36
36
  return scope.Escape(object);
@@ -22,7 +22,7 @@ void GPUBindGroupImpl::Init(v8::Local <v8::Object> canvasModule, v8::Isolate *is
22
22
  auto context = isolate->GetCurrentContext();
23
23
  auto func = ctor->GetFunction(context).ToLocalChecked();
24
24
 
25
- canvasModule->Set(context, ConvertToV8String(isolate, "GPUBindGroup"), func).FromJust();;
25
+ canvasModule->Set(context, ConvertToV8String(isolate, "GPUBindGroup"), func).FromJust();
26
26
  }
27
27
 
28
28
  GPUBindGroupImpl *GPUBindGroupImpl::GetPointer(const v8::Local <v8::Object> &object) {
@@ -31,7 +31,7 @@ public:
31
31
  v8::EscapableHandleScope scope(isolate);
32
32
  auto object = GPUBindGroupImpl::GetCtor(isolate)->GetFunction(
33
33
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
34
- SetNativeType(object, NativeType::GPUBindGroup);
34
+ SetNativeType(groupLayout, NativeType::GPUBindGroup);
35
35
  object->SetAlignedPointerInInternalField(0, groupLayout);
36
36
  groupLayout->BindFinalizer(isolate, object);
37
37
  return scope.Escape(object);
@@ -22,7 +22,7 @@ void GPUBindGroupLayoutImpl::Init(v8::Local<v8::Object> canvasModule, v8::Isolat
22
22
  auto context = isolate->GetCurrentContext();
23
23
  auto func = ctor->GetFunction(context).ToLocalChecked();
24
24
 
25
- canvasModule->Set(context, ConvertToV8String(isolate, "GPUBindGroupLayout"), func).FromJust();;
25
+ canvasModule->Set(context, ConvertToV8String(isolate, "GPUBindGroupLayout"), func).FromJust();
26
26
  }
27
27
 
28
28
  GPUBindGroupLayoutImpl *GPUBindGroupLayoutImpl::GetPointer(const v8::Local<v8::Object> &object) {
@@ -31,7 +31,7 @@ public:
31
31
  v8::EscapableHandleScope scope(isolate);
32
32
  auto object = GPUBindGroupLayoutImpl::GetCtor(isolate)->GetFunction(
33
33
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
34
- SetNativeType(object, NativeType::GPUBindGroupLayout);
34
+ SetNativeType(groupLayout, NativeType::GPUBindGroupLayout);
35
35
  object->SetAlignedPointerInInternalField(0, groupLayout);
36
36
  groupLayout->BindFinalizer(isolate, object);
37
37
  return scope.Escape(object);
@@ -21,7 +21,7 @@ void GPUBufferImpl::Init(v8::Local<v8::Object> canvasModule, v8::Isolate *isolat
21
21
  auto context = isolate->GetCurrentContext();
22
22
  auto func = ctor->GetFunction(context).ToLocalChecked();
23
23
 
24
- canvasModule->Set(context, ConvertToV8String(isolate, "GPUBuffer"), func).FromJust();;
24
+ canvasModule->Set(context, ConvertToV8String(isolate, "GPUBuffer"), func).FromJust();
25
25
  }
26
26
 
27
27
  GPUBufferImpl *GPUBufferImpl::GetPointer(const v8::Local<v8::Object> &object) {
@@ -154,42 +154,56 @@ void GPUBufferImpl::MapAsync(const v8::FunctionCallbackInfo<v8::Value> &args) {
154
154
  auto resolver = v8::Promise::Resolver::New(isolate->GetCurrentContext()).ToLocalChecked();
155
155
  args.GetReturnValue().Set(resolver->GetPromise());
156
156
 
157
- v8::Global<v8::Promise::Resolver> promise(isolate, resolver);
158
157
  auto callback = new PromiseCallback{
159
158
  isolate,
160
- std::move(promise)
159
+ resolver,
160
+ [](bool done, void *data){
161
+ auto async_data = static_cast<PromiseCallback *>(data);
162
+ auto func = async_data->inner_.get();
163
+ if (func != nullptr && func->isolate_ != nullptr) {
164
+ v8::Isolate *isolate = func->isolate_;
165
+ v8::Locker locker(isolate);
166
+ v8::Isolate::Scope isolate_scope(
167
+ isolate);
168
+ v8::HandleScope handle_scope(
169
+ isolate);
170
+ v8::Local<v8::Promise::Resolver> callback = func->callback_.Get(
171
+ isolate);
172
+ v8::Local<v8::Context> context = callback->GetCreationContextChecked();
173
+ v8::Context::Scope context_scope(
174
+ context);
175
+
176
+
177
+ if (func->data == nullptr) {
178
+ callback->Resolve(context, v8::Undefined(isolate));
179
+ } else {
180
+ char* error = static_cast<char*>(func->data);
181
+ callback->Reject(context,
182
+ v8::Exception::Error(
183
+ ConvertToV8String(
184
+ isolate,
185
+ error)));
186
+ canvas_native_string_destroy(
187
+ error);
188
+ func->data = nullptr;
189
+ }
190
+ delete static_cast<PromiseCallback *>(data);
191
+ }
192
+ }
161
193
  };
194
+ callback->prepare();
195
+
196
+
162
197
  canvas_native_webgpu_buffer_map_async(ptr->GetGPUBuffer(), (GPUMapMode) mode, offset, size,
163
198
  [](char *error, void *data) {
164
199
  if (data != nullptr) {
165
- auto func = static_cast<PromiseCallback *>(data);
166
- if (func->isolate != nullptr) {
167
- v8::Isolate *isolate = func->isolate;
168
- v8::Locker locker(isolate);
169
- v8::Isolate::Scope isolate_scope(
170
- isolate);
171
- v8::HandleScope handle_scope(
172
- isolate);
173
- v8::Local<v8::Promise::Resolver> callback = func->callback.Get(
174
- isolate);
175
- v8::Local<v8::Context> context = callback->GetCreationContextChecked();
176
- v8::Context::Scope context_scope(
177
- context);
178
-
179
- auto ret = v8::Object::New(
180
- isolate);
181
- if (error == nullptr) {
182
- callback->Resolve(context, ret);
183
- } else {
184
- callback->Reject(context,
185
- v8::Exception::Error(
186
- ConvertToV8String(
187
- isolate,
188
- error)));
189
- canvas_native_string_destroy(
190
- error);
200
+ auto async_data = static_cast<PromiseCallback *>(data);
201
+ auto inner = async_data->inner_.get();
202
+ if (inner != nullptr) {
203
+ if(error != nullptr){
204
+ inner->data = error;
191
205
  }
192
- delete static_cast<PromiseCallback *>(data);
206
+ async_data->execute(true);
193
207
  }
194
208
  }
195
209
  }, callback);
@@ -24,14 +24,14 @@ public:
24
24
 
25
25
  static v8::Local<v8::FunctionTemplate> GetCtor(v8::Isolate *isolate);
26
26
 
27
- static v8::Local<v8::Object> NewInstance(v8::Isolate *isolate, GPUBufferImpl *adapter) {
27
+ static v8::Local<v8::Object> NewInstance(v8::Isolate *isolate, GPUBufferImpl *buffer) {
28
28
  auto context = isolate->GetCurrentContext();
29
29
  v8::EscapableHandleScope scope(isolate);
30
30
  auto object = GPUBufferImpl::GetCtor(isolate)->GetFunction(
31
31
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
32
- SetNativeType(object, NativeType::GPUBuffer);
33
- object->SetAlignedPointerInInternalField(0, adapter);
34
- adapter->BindFinalizer(isolate, object);
32
+ SetNativeType(buffer, NativeType::GPUBuffer);
33
+ object->SetAlignedPointerInInternalField(0, buffer);
34
+ buffer->BindFinalizer(isolate, object);
35
35
  return scope.Escape(object);
36
36
  }
37
37
 
@@ -270,7 +270,7 @@ void GPUCanvasContextImpl::GetCapabilities(const v8::FunctionCallbackInfo<v8::Va
270
270
  auto formats = v8::Array::New(isolate, (int) formats_len);
271
271
  for (int i = 0; i < formats_len; i++) {
272
272
  auto format = canvas_native_string_buffer_get_value_at(cap->formats, i);
273
- formats->Set(context, i, ConvertToV8String(isolate, format));
273
+ formats->Set(context, i, ConvertToV8String(isolate, format)).FromJust();
274
274
  canvas_native_string_destroy(format);
275
275
  }
276
276
 
@@ -280,7 +280,7 @@ void GPUCanvasContextImpl::GetCapabilities(const v8::FunctionCallbackInfo<v8::Va
280
280
 
281
281
  for (int i = 0; i < present_modes_len; i++) {
282
282
  auto mode = canvas_native_string_buffer_get_value_at(cap->present_modes, i);
283
- present_modes->Set(context, i, ConvertToV8String(isolate, mode));
283
+ present_modes->Set(context, i, ConvertToV8String(isolate, mode)).FromJust();
284
284
  canvas_native_string_destroy(mode);
285
285
  }
286
286
 
@@ -290,15 +290,15 @@ void GPUCanvasContextImpl::GetCapabilities(const v8::FunctionCallbackInfo<v8::Va
290
290
 
291
291
  for (int i = 0; i < alpha_modes_len; i++) {
292
292
  auto mode = canvas_native_string_buffer_get_value_at(cap->alpha_modes, i);
293
- alpha_modes->Set(context, i, ConvertToV8String(isolate, mode));
293
+ alpha_modes->Set(context, i, ConvertToV8String(isolate, mode)).FromJust();
294
294
  canvas_native_string_destroy(mode);
295
295
  }
296
296
 
297
- ret->Set(context, ConvertToV8String(isolate, "format"), formats);
298
- ret->Set(context, ConvertToV8String(isolate, "presentModes"), present_modes);
299
- ret->Set(context, ConvertToV8String(isolate, "alphaModes"), alpha_modes);
297
+ ret->Set(context, ConvertToV8String(isolate, "format"), formats).FromJust();
298
+ ret->Set(context, ConvertToV8String(isolate, "presentModes"), present_modes).FromJust();
299
+ ret->Set(context, ConvertToV8String(isolate, "alphaModes"), alpha_modes).FromJust();
300
300
  ret->Set(context, ConvertToV8String(isolate, "usages"),
301
- v8::Uint32::NewFromUnsigned(isolate, cap->usages));
301
+ v8::Uint32::NewFromUnsigned(isolate, cap->usages)).FromJust();
302
302
 
303
303
  canvas_native_webgpu_struct_surface_capabilities_release(cap);
304
304
 
@@ -309,9 +309,9 @@ void GPUCanvasContextImpl::GetCapabilities(const v8::FunctionCallbackInfo<v8::Va
309
309
 
310
310
  }
311
311
 
312
- ret->Set(context, ConvertToV8String(isolate, "format"), v8::Array::New(isolate));
313
- ret->Set(context, ConvertToV8String(isolate, "presentModes"), v8::Array::New(isolate));
314
- ret->Set(context, ConvertToV8String(isolate, "alphaModes"), v8::Array::New(isolate));
315
- ret->Set(context, ConvertToV8String(isolate, "usages"), v8::Uint32::New(isolate, 0));
312
+ ret->Set(context, ConvertToV8String(isolate, "format"), v8::Array::New(isolate)).FromJust();
313
+ ret->Set(context, ConvertToV8String(isolate, "presentModes"), v8::Array::New(isolate)).FromJust();
314
+ ret->Set(context, ConvertToV8String(isolate, "alphaModes"), v8::Array::New(isolate)).FromJust();
315
+ ret->Set(context, ConvertToV8String(isolate, "usages"), v8::Uint32::New(isolate, 0)).FromJust();
316
316
  args.GetReturnValue().Set(ret);
317
317
  }
@@ -31,7 +31,7 @@ public:
31
31
  v8::EscapableHandleScope scope(isolate);
32
32
  auto object = GPUCanvasContextImpl::GetCtor(isolate)->GetFunction(
33
33
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
34
- SetNativeType(object, NativeType::GPUCanvasContext);
34
+ SetNativeType(ctx, NativeType::GPUCanvasContext);
35
35
  object->SetAlignedPointerInInternalField(0, ctx);
36
36
  ctx->BindFinalizer(isolate, object);
37
37
  return scope.Escape(object);
@@ -22,7 +22,7 @@ void GPUCommandBufferImpl::Init(v8::Local<v8::Object> canvasModule, v8::Isolate
22
22
  auto context = isolate->GetCurrentContext();
23
23
  auto func = ctor->GetFunction(context).ToLocalChecked();
24
24
 
25
- canvasModule->Set(context, ConvertToV8String(isolate, "GPUCommandBuffer"), func).FromJust();;
25
+ canvasModule->Set(context, ConvertToV8String(isolate, "GPUCommandBuffer"), func).FromJust();
26
26
  }
27
27
 
28
28
  GPUCommandBufferImpl *GPUCommandBufferImpl::GetPointer(const v8::Local<v8::Object> &object) {
@@ -31,7 +31,7 @@ public:
31
31
  v8::EscapableHandleScope scope(isolate);
32
32
  auto object = GPUCommandBufferImpl::GetCtor(isolate)->GetFunction(
33
33
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
34
- SetNativeType(object, NativeType::GPUCommandBuffer);
34
+ SetNativeType(commandBuffer, NativeType::GPUCommandBuffer);
35
35
  object->SetAlignedPointerInInternalField(0, commandBuffer);
36
36
  commandBuffer->BindFinalizer(isolate, object);
37
37
  return scope.Escape(object);