| [Optimize][Canvas] Refactor NAPI buffered object registration Formerly a buffered object may be registered multiple times if it is derived from another class, which leads to a runtime error. Also the lifecyle is not automatically managed. This CL: - Introduces RAII ownership for buffered-object registration in napi_canvas_command_buffer.h and napi_canvas_command_buffer.cc, with Register() now also defining __id. - Moves generated bindings to a single-owner model so root wrappers register once, derived wrappers stop redefining __id, stop carrying duplicate object_id_, and stop manually unregistering. - Updated all generated files. AutoSubmit: true Change-Id: I49f3726f70ce28f1e57843cf3af3c0646b765336 | 6 个月前 |
| [Refactor][LepusNG] Move QuickJS runtime into dedicated lepusng module Split LepusNG QuickJS runtime code out of lepus_context into the new core/runtime/lepusng module and wire it through GN and platform deps. Rename lepus_context to lepus. Key changes include: - Introduce core/runtime/lepusng/BUILD.gn with lepus_ng source set - Move jsvalue_helper, quick_context, qjs_callback, quickjs_debug_info, lynx_api_context_lepusng, and related tests into core/runtime/lepusng - Update includes and BUILD deps across renderer, worklet, SSR, template codec, profiling, devtools, benchmarks, tests, and iOS subspecs to reference core/runtime/lepusng - Remove the lepus_context:lepus_ng source set and reuse the new lepusng:lepus_ng target where needed AutoSubmit: True doc: https://github.com/lynx-family/lynx/discussions/281 issue: m-6787224557 | 9 个月前 |
| [Feature][Canvas] Support batched Canvas 2D command buffer part 3 - Move enableBatched2D from CanvasOptions to CanvasFeatureFlag. - Implement globalAlpha, globalCompositeOperation and imageSmoothingEnabled for batched Canvas 2D context. - Update binding generator to support async attributes and methods that raise exceptions in command buffer. - Update command IDs to avoid conflicts with new Canvas 2D commands. | 8 个月前 |