Files
moli/Cargo.toml
T
ldm0 69e53ec34c fix(layout): derive directional scroll geometry from fragment bounds
Preserve pre-relative in-flow positions and used margins in the Taffy layout result, keeping alignment bounds separate from transformed visual overflow. Resolve reachable regions and signed scroll ranges once for scrollbar feedback and frozen CSSOM/paint projection. Retain fixed descendants of transformed containing blocks in their overflow graph.

Cover writing directions, reverse flex packing, relative and transformed fragments, collapsing and negative margins, zero-area bounds, fixed containing blocks, and removal after capture. Chromium-checked release probes match 1668 geometry and 180 pixel checks; overflow focus gains 10 cases while the previous 306-case focus is unchanged. Full workspace fmt, Clippy and 17193 Nextest tests pass.
2026-09-09 10:31:33 +08:00

127 lines
3.7 KiB
TOML

[workspace]
resolver = "3"
members = [
"moli",
"moli-action-window",
"moli-bounded-buffer",
"moli-bounded-json",
"moli-broadcast-channel",
"moli-browser-profile",
"moli-canvas",
"moli-charset-parser",
"moli-cookie-cache",
"moli-protocol-cdp",
"moli-cookie-store",
"moli-content-type",
"moli-css-parse",
"moli-crypto",
"moli-curl",
"moli-dns-resolver",
"moli-protocol",
"moli-encoding",
"moli-encoding-detector",
"moli-core",
"moli-import-map",
"moli-image",
"moli-indexeddb",
"moli-local-executor",
"moli-layout",
"moli-message-port",
"moli-multipart",
"moli-xpath",
"moli-module-script-tree",
"moli-module-syntax",
"moli-owner-queue",
"moli-opfs",
"moli-dom",
"moli-parser",
"moli-paint",
"moli-page-types",
"moli-process-signal",
"moli-renderer-v8",
"moli-robots",
"moli-protocol-server",
"moli-script",
"moli-selector",
"moli-site",
"moli-shared-worker",
"moli-storage-service",
"moli-storage-key",
"moli-streams",
"moli-structured-clone",
"moli-stylesheet-blocking",
"moli-svg",
"moli-test-support",
"moli-url",
"moli-url-policy",
"moli-v8-init",
"moli-v8-platform",
"moli-v8-test-util",
"moli-v8-util",
"moli-web-mime",
"moli-web-bot-auth",
"moli-web-errors",
"moli-protocol-webdriver-bidi",
"moli-protocol-webdriver-classic",
"moli-webcrypto",
"moli-webapi-declare",
"moli-webapi-declare-derive",
"moli-webidl",
"moli-webidl-callback",
"moli-webidl-derive",
"moli-cookie-jar",
"moli-websocket",
"moli-fetch",
"moli-file-api",
"moli-geometry",
"moli-header-field",
"moli-html-input-temporal",
"moli-time",
"moli-trace",
"moli-http-cache",
"moli-wpt-compat"
]
exclude = ["vendor/xml5ever-0.39.0"]
[workspace.package]
license = "MIT OR Apache-2.0"
[patch.crates-io]
# Keep inline boundaries, out-of-flow items and line-edge whitespace in paragraph layout.
parley = { git = "https://github.com/ldm0/parley", rev = "9e1fffaf84437cda87fa1fc726a61f9e091b9563" }
xml5ever = { path = "vendor/xml5ever-0.39.0" }
curl = { git = "https://github.com/ldm0/curl-rust", branch = "moli" }
curl-sys = { git = "https://github.com/ldm0/curl-rust", branch = "moli" }
cookie = { git = "https://github.com/ldm0/cookie-rs", branch = "priority" }
v8 = { path = "vendor/v8-152.2.0" }
deno_v8 = { path = "vendor/deno_v8-0.3.0" }
selectors = { git = "https://github.com/ldm0/stylo", rev = "cfa170da90c467e93786ec0fa5526bd83f201933" }
servo_arc = { git = "https://github.com/ldm0/stylo", rev = "cfa170da90c467e93786ec0fa5526bd83f201933" }
stylo = { git = "https://github.com/ldm0/stylo", rev = "cfa170da90c467e93786ec0fa5526bd83f201933" }
stylo_atoms = { git = "https://github.com/ldm0/stylo", rev = "cfa170da90c467e93786ec0fa5526bd83f201933" }
stylo_dom = { git = "https://github.com/ldm0/stylo", rev = "cfa170da90c467e93786ec0fa5526bd83f201933" }
stylo_static_prefs = { git = "https://github.com/ldm0/stylo", rev = "cfa170da90c467e93786ec0fa5526bd83f201933" }
stylo_traits = { git = "https://github.com/ldm0/stylo", rev = "cfa170da90c467e93786ec0fa5526bd83f201933" }
taffy = { git = "https://github.com/ldm0/taffy", rev = "1301f8118a0fd0e7e151eb61d16ec137df6f2039" }
[workspace.lints.clippy]
disallowed_methods = "deny"
disallowed_types = "deny"
enum_variant_names = "allow"
result_unit_err = "allow"
too_many_arguments = "allow"
type_complexity = "allow"
[profile.dev]
panic = "abort"
[profile.release]
panic = "abort"
strip = false
# Production and release-regression binaries favor a compact code working set
# over parallel code generation.
codegen-units = 1
[profile.test]
debug = 1