JJianliang Wang[Optimize][DOM] Skip redundant fixed insertion traversal
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[BugFix] Correct animation color spaces and premultiply alpha Interpolate sRGB in encoded space and linearRGB in linear-light space using the standard piecewise sRGB transfer function. Resolve CSS auto to sRGB on iOS and linearRGB on other platforms. Premultiply color channels by alpha in the selected interpolation space and unpremultiply before encoding the result. This prevents transparent endpoint colors from tinting visible intermediate colors. Cover color curves, box shadows, transfer-function boundaries, and zero or small alpha values. SkipChecks: macro, spell | 9 天前 | |
[Testing][Runtime] Cover App teardown ownership semantics - Verify App teardown keeps native bindings alive until explicit destruction completes. - Cover idempotent teardown and destructor fallback behavior. - Document UnsafeWeakPtr expiration before the managed object destructor runs. AutoSubmit: True | 2 天前 | |
[Doc] Add AGENTS guides for core bootstrap dirs Summary of change: Add AGENTS.md guidance for: lynx/core/AGENTS.md lynx/core/build/AGENTS.md lynx/core/include/AGENTS.md TEST: not run (documentation only) AutoSubmit: True | 6 个月前 | |
[Feature][DevTool] MTS debugging supports pre-execute and pre-decode MTSRuntime. 1. Add LynxDevToolPool to manage LynxDevTool for pre-execute MTSRuntime. 2. Update lepus observer when TemplateEntry uses a pre-execute MTSRuntime from the context pool. | 6 个月前 | |
[Feature] Add the core PointerEvent model Add pointer event payload normalization, related targets and propagation semantics, with model tests for defaults, timestamps and component boundaries. TEST: event_unittests_exec AutoSubmit: True QuickRun: True Lynxstack-Change-Id: I35860a73670330f04d1ec8ae343b1de3d26c7157 Lynxstack-Target-Branch: origin/develop | 22 天前 | |
[Doc] Add AGENTS guides for core bootstrap dirs Summary of change: Add AGENTS.md guidance for: lynx/core/AGENTS.md lynx/core/build/AGENTS.md lynx/core/include/AGENTS.md TEST: not run (documentation only) AutoSubmit: True | 6 个月前 | |
[Refactor][DevTool] Move NativeModule recording implementation into DevTool Keep abstract recording hooks in core and move invocation identity, callback placeholders, argument copying and record construction into the DevTool component. Use observer and context availability to control recording instead of ENABLE_INSPECTOR guards. Route invocation, callback and global event records through NativeModuleRecordObserver::OnRecord. Invocation contexts hold a weak reference to the record observer, preserving observer lifetimes and shared argument isolation. Route global events through App::RecordGlobalEvent with listener arguments normalized by the caller. Keep recorder tests at their existing path, build them in the DevTool test target and verify record delivery through the observer into CDP history. TEST: Android core and DevTool libraries compiled and linked; 15 related C++ tests passed using the system linker; affected core sources passed Android syntax checks with ENABLE_INSPECTOR set to 0 and 1; generated iOS Podspec source ownership verified. | 1 天前 | |
[BugFix][List] Restore update animations with separate container targets Shared builds could select no-op animation managers for native lists. Split the container into a base target without the animation backend and an animated target that supplies per-container factories. Preserve the platform-list fallback and include both targets in the iOS list subspec. Update the existing animation test fixture to select real managers. TEST: Static source and factory wiring review; git diff --cached --check. No build or unit tests run. | 9 天前 | |
[Doc] Add AGENTS guides for core interface layers Summary of change: Add AGENTS.md guidance for: lynx/core/public/AGENTS.md lynx/core/parser/AGENTS.md lynx/core/inspector/AGENTS.md TEST: not run (documentation only) AutoSubmit: True | 6 个月前 | |
[Feature][DevTool] Support CDP mouse event dispatch Support Input.dispatchMouseEvent in Clay-backed embedders for mouse presses, releases, hover, drag, and wheel input. Use dedicated synthetic mouse input with persistent pointer state, separate from touch and native mouse input. Add protocol metadata for Lynx 4.4 and unit coverage for event forwarding and pointer lifecycle. TEST: macOS arm64 Release build and 13 live CDP checks passed in visible mode. Formatting and CDP metadata checks passed. The full E2E runner was not executed. | 10 天前 | |
[Optimize][DOM] Skip redundant fixed insertion traversal Only Radon with legacy fixed behavior defers fixed insertions until the root's ordered tree pass. Skip that pass for Fiber and new/unified fixed modes, avoiding an extra whole-tree scan even on clean root flushes. Add traversal-count coverage for all architecture/fixed-mode combinations and preserve legacy Radon fixed insertion order across scheduling modes. TEST: 117 fixed-related tests passed. The new traversal regression fails before the fix in all six scheduling modes and passes after it. Full DOM: 3183 passed, 36 skipped, and 19 failures reproduced on the unchanged production code under the same local build configuration. | 1 天前 | |
[Feature][Recorder] Add shared replay resource cache support(Part 1) - Add replay resource cache plumbing for recorded script resources. - Wire the resource loader and testbench replay path to resolve cached resources. - Include the replay resource cache target in the iOS replay podspec dependency. SkipChecks: macro | 23 天前 | |
[AutoRoll] Roll revisions automatically from repositories: lynx/primjs AutoSubmit: True FullCheck: True '' | 1 天前 | |
[Feature][DevTool] Send observation payloads through CDP Associate Record observation logs with full payloads using a shared payload ID. Gate serialization on observation logging, full DevTool, a connected transport, and one process-wide boolean CDP switch that defaults to false. Keep payload formatting and the optional function callback in recorder. Reuse the existing global DevTool facade and task runner to send one complete event per payload. Send UTF-8 text directly and encode other bytes as Base64, without size-based dropping or binding delivery to a view. TEST: Added coverage for metadata updates with and without template data. Focused payload tests and syntax checks pending; git diff --check passes. AutoSubmit: True SkipChecks: macro | 4 天前 | |
[Feature] Add LEPUS session storage subscription APIs - Add RendererFunctionNG bindings for subscribing and unsubscribing session storage updates from LEPUS. - Route the new bindings through WhiteBoardDelegate and register LEPUS listeners with trace events. - This expands the shared data session storage surface for runtime callers. | 3 个月前 | |
[Refactor][DevTool] Move NativeModule recording implementation into DevTool Keep abstract recording hooks in core and move invocation identity, callback placeholders, argument copying and record construction into the DevTool component. Use observer and context availability to control recording instead of ENABLE_INSPECTOR guards. Route invocation, callback and global event records through NativeModuleRecordObserver::OnRecord. Invocation contexts hold a weak reference to the record observer, preserving observer lifetimes and shared argument isolation. Route global events through App::RecordGlobalEvent with listener arguments normalized by the caller. Keep recorder tests at their existing path, build them in the DevTool test target and verify record delivery through the observer into CDP history. TEST: Android core and DevTool libraries compiled and linked; 15 related C++ tests passed using the system linker; affected core sources passed Android syntax checks with ENABLE_INSPECTOR set to 0 and 1; generated iOS Podspec source ownership verified. | 1 天前 | |
[Refactor] Move transform operations into GFX - Move transform matrices, operations, decomposition, and interpolation from the Lynx renderer into the shared GFX geometry layer. - Keep CSS parsing and unit resolution in a core adapter while preserving matrix, percentage resize, and unit update behavior. - Preserve full 4x4 values for mismatched transform-list interpolation and serialize fallback samples as matrix3d instead of decomposed function lists. - Preserve legacy new animator translateZ interpolation used for platform stacking, including raw percentage values. - Update Harmony renderer dependencies and add shared geometry and renderer regression coverage. - Only aggregate geometry unit tests when unit-test targets are enabled so Android GN generation does not reference an unavailable host test target. TEST: Run GFX geometry tests and Lynx transform adapter and animation tests; build the LynxAndroid noasan debug AndroidTest APK. SkipChecks: macro | 1 个月前 | |
[Optimize] Support preloading MTS runtime pools - Add asynchronous bytecode preload support for existing LepusNG runtimes. - Disable automatic pool refill once preload is accepted to prevent uninitialized runtimes from entering the pool. - Make the auto-generation flag atomic and cover preload ordering and pending refill cancellation. issue: f-7380079086 AutoSubmit: true | 3 天前 | |
[Optimize][Runtime] Report circular JS data with its property path Circular reference detection only tagged the conversion site and logged the offending key via LOGE, so the final error report never carried the key that actually closed the cycle, forcing a log dive to diagnose. - Add js::CircularDataChecker to track ancestor objects together with the property key / array index used to reach each of them, and build the full path (e.g. .user.friends[1].parent) plus the ancestor it points back to when a cycle is found. - Emit one message shared by reportJSIException and LOGE so the reported exception and the log can no longer drift apart, and quote keys that contain path separators to keep the rendered path unambiguous. - Thread the checker through ParseJSValue and ConvertPiper*ToPubValue and update all call sites in js_app, lynx_jsi_module, and module_testbench. - Align the pub-value ValueImplPiper::CheckCircle wording with the same "Find circular JS data" prefix so both paths are searchable together. AutoSubmit: True | 1 个月前 | |
[Doc] Add AGENTS guides for core ownership surfaces - Add AGENTS guides for the core root, list and resource layers, service roots, SSR support, and shared UI wrapper ownership surfaces. - Clarify how contributors should choose the right guide before editing broad coordination directories. - Verified by keeping this commit within the 300-line limit during the history rewrite. AutoSubmit:True | 6 个月前 | |
[BugFix] Add the linux platform macro definition Fill in the missing macro definition of the linux platform, so that lynx runs correctly on linux. | 1 个月前 | |
[Refactor] Remove obsolete Air build configuration - Remove the remaining enable_air wiring and stale Air build glue after the source cleanup landed. - Keep an empty iOS Lynx/Air subspec for hosts that still resolve that pod name, while deleting the obsolete Air GN shim files. - This preserves pod install compatibility without restoring the removed Air implementation path. AutoSubmit:True | 6 个月前 | |
[Feature][Core] Support isolated source replacements for decoder builds Allow core source sets to select alternate translation units through a source mapping. The default mapping is empty, preserving existing source lists and interfaces. TEST: Empty and explicit source mappings verified in generated build graphs. SkipChecks:macro | 15 天前 | |
[Infra][AnimaX] Add AnimaX NAPI publishing and Explorer integration Add PrimeJS-backed animax-napi build and publish support for Android and iOS, including GN, Gradle, podspec generation, release packaging, and sparse Lynx binding inputs. Publish animax-napi artifacts through the AnimaX Android and iOS release paths, with dependency metadata and coverage-property wiring aligned to the shared Gradle scripts. Wire Android Explorer to the local Lynx AnimaX xelement module, pass the enable_napi_binding flag through Android GN builds, register the animax-view auto registry, initialize and load animax_napi from the Android UI component, and bridge AnimaX image loading through the Lynx image service. AutoSubmit: True SkipChecks: spell,gn-relative-path-check,file-type,file-type-v2 | 2 个月前 |