JJianliang Wang[Feature] Add Element Template reference type
| Files | Last commit | Last update |
|---|---|---|
[Optimize] string-related logic during the decoding stage Analysis revealed that calculating the hash value of `base::String` incurs a performance overhead for extremely long strings. Furthermore, the probability of extremely long strings needing hash calculation and being used as hash map keys is extremely low. Therefore, the hash value calculation for `base::String` was changed to a lazy mode, initially calculating and caching hash values only for short strings under 128 bytes. Simultaneously, during decoding, strings in JS source buffers are directly stored as `base::String`, avoiding the need for copying during conversion to `std::string`. This improves performance and reduces memory usage for extremely long JS source code. | 9 months ago | |
[Feature] Add Element Template reference type Add a dedicated RefType for Element Template handles without renumbering existing reference kinds. Preserve the opaque native reference across Value, RestrictedValue, and LepusNG conversions. Change-Id: I03078d0c23abfebe3d35f3afb3ed829bf68231b7 TEST: lepus_unittests_exec | 2 months ago | |
[Optimize] Add a suffix to the lynx_value extension API The API in lynx_value_extended file is the extension API of lynx_value. In order to provide lynx_value with external C API, the extension API is added with the ext suffix. issue:m-6042769122 | 1 year ago | |
[Optimize] Refine constructors of `lepus::Value` Currently to construct a `lepus::Value` of NAN, two boolean arguments are provided and that is a bad design. | 9 months ago | |
[Optimize] Migrate lepus::Value to base directory Migrate lepus::Value to the base module. lepus::Value will be set up as a standalone target that can be independently depended upon by other higher-level modules. issue:m-6042769122 doc:https://github.com/lynx-family/lynx/discussions/172 | 1 year ago | |
[BugFix][Reland] Improve WebView cookie APIs and input handling for Lynx Desktop - Darwin: Fix NSNumber BOOL detection by checking objCType prefix ('c'/'B') instead of strcmp, and generalize AppKitPlatformView callback to accept NSObject. - macOS WebView: Add cookies.get method with filtering, support request headers, and optional corner-radius; ensure WebView layer setup when rounded. - Windows WebView: Persist user data in temp path; enhance cookies.get with optional name/domain/path filters. - Windows pointer: Remove incorrect scroll deltas from PanZoomUpdate events. - Clay PageView: Skip key events when converted web key is empty. - LynxValue: Add lynx_value_get_number API - Windows Example: Add LynxTestModule.getInteger JSB SkipChecks: macro issue:m-6731137118 | 10 months ago | |
[Optimize] Add a suffix to the lynx_value extension API The API in lynx_value_extended file is the extension API of lynx_value. In order to provide lynx_value with external C API, the extension API is added with the ext suffix. issue:m-6042769122 | 1 year ago | |
[Optimize] Migrate lepus::Value to base directory Migrate lepus::Value to the base module. lepus::Value will be set up as a standalone target that can be independently depended upon by other higher-level modules. issue:m-6042769122 doc:https://github.com/lynx-family/lynx/discussions/172 | 1 year ago | |
[Optimize] Migrate lepus::Value to base directory Migrate lepus::Value to the base module. lepus::Value will be set up as a standalone target that can be independently depended upon by other higher-level modules. issue:m-6042769122 doc:https://github.com/lynx-family/lynx/discussions/172 | 1 year ago | |
[Optimize] Refactor `lepus::Dictionary` This commit brings several functional improvements and performance optimizations to the base library. 1. Optimized `boost::unordered_flat_map` to understand the `IsTriviallyRelocatable` type trait, significantly improving data movement performance during buffer expansion. 2. Added the `base::HybridMap` template type, which dynamically switches the underlying container type based on the amount of data and supports externally defined data movement and iterator protocols. 3. Based on the aforementioned improvements to basic capabilities and previous `base::Vector` improvements, `lepus::Dictionary` has been refactored. `base::HybridMap` has been used instead of the original `std::unordered_map`, significantly improving performance. 4. Extensive unit tests have been added. SkipChecks: macro issue:m-6481490102 | 1 year ago |