Commit Graph
1072 Commits
Author SHA1 Message Date
ldm0 1fe21acac3 docs: close split3 ownership and frozen comparison review 2026-09-23 07:34:20 +08:00
ldm0 f3e4c92459 fix(renderer): admit parked parser work from scheduler readiness 2026-09-23 07:11:00 +08:00
ldm0 32b2658f3e refactor(protocol): remove the obsolete deferred document load pipeline 2026-09-23 06:31:56 +08:00
ldm0 f20c1ab6ac refactor(protocol): replace fallback document fixtures with native ownership 2026-09-23 05:53:37 +08:00
ldm0 8ecfaadba6 fix(devtools): keep renderer inspection independent of the browser queue 2026-09-23 05:30:15 +08:00
ldm0 171c1d4875 docs(benchmark): record final browser owner acceptance and costs 2026-09-23 03:27:52 +08:00
ldm0 d743043ab7 fix(network): keep native response output and cancellation runnable
Reuse the current native Document binding and existing Log cursors before
preparing live output. Remove the unused network-log forwarding method and
yield ready body pumps and collectors to their Context executor.

Preserve every physical chunk and the existing transport budgets. Add a
cancellation regression and a public 128 MiB burst/Log replay probe; retain
before/after evidence in the acceptance report.

Validation: fmt, strict workspace Clippy, 19,531 nextest passes (13 configured
skips), 48 CDP groups, 165 WebDriver cases, shared-page lifecycle, exact local
wire checks and three concurrent website rounds.
2026-09-23 02:49:57 +08:00
ldm0 7be1fd9b8c perf(browser): batch navigation observations and admission reads
Read navigation responses and commit metadata in one owner turn, and resolve
inherited request headers together. Reuse existing Context capabilities and
exact PageAgentHost sessions; remove unused background subscriptions and idle
followup dialog reads. Preserve physical handle validation and output budgets.

Gate the three delayed Worker cancellation fixtures on actual requests and
transport completion, retaining their semantic assertions and checking joins.

Validated with root fmt, strict workspace Clippy and nextest (19530 passed,
13 configured skips; 91 expected panic pairs unchanged), 60 cancellation runs,
48 CDP groups/536 scenarios, 165 WebDriver cases and shared-page lifecycle.
Pinned local comparisons reduce owner calls from ~18.8k to ~12k; the report
retains the remaining main-relative latency and concurrent Slack open items.
2026-09-23 01:58:17 +08:00
ldm0 15b7fac30f perf(benchmark): pin the rebased browser owner comparison
Record the full frozen release, client, Lexbench, webfetch and balanced local measurements against main 8e7be5c3fb. Preserve failed replay and setup attempts, observer effects and the remaining navigation regression. Update instrumentation for the additional test-support enqueue site.
2026-09-23 00:51:18 +08:00
ldm0 30721b1a21 fix(runtime): resume native output after observer shutdown
Keep live Contexts and Page/Worker streams after their protocol transport
closes. Replacement observers start at the existing producer sequence and
receive native state; frozen output and cursor leases from the old observer
cannot cross into the new FIFO. Retired streams remain closed, initial binding
retains its replay contract, and transport budgets are unchanged.

Validate with fmt, strict workspace Clippy, 35 focused and 481 related tests
across three zero-retry iterations, and full nextest (19528 passed, 13
configured skips). Cover websocket owner restart, all Worker stream families,
ServiceWorker recovery without a Window, delayed output/fences and overload.
2026-09-22 23:21:34 +08:00
ldm0 9f339f418d refactor(runtime): settle native output and bound retained history
Settle native resource completion before publishing script results. Bound Page/Worker report histories, remove cumulative output projection and redundant owner queries, and observe native Document retirement. Add reproducible acceptance probes and record unresolved overload and performance limits.
2026-09-22 23:21:34 +08:00
ldm0 43503a0f5d refactor(protocol): finish native producer and command ownership boundaries
Stream remaining original loaders, synchronous XHR, manifest and popup resources with their real identities and metadata. Remove obsolete cross-layer ownership entries and preserve exact command routes for error replies.
2026-09-22 23:21:34 +08:00
ldm0 61d5fb5d4d refactor(network): share response decisions and controlled stream ownership
Unify pre-body response/authentication decisions across Window, Worker, XHR, navigation and controlled responses. Resume or cancel the original physical stream, release old challenges before retry, and preserve partial binary bodies and keepalive lifetime.
2026-09-22 23:21:33 +08:00
ldm0 9234bdf481 fix(network): preserve request ownership across continuation and retirement
Retain asynchronous Window responses, beacon/ping and CSP policy through page retirement. Keep intercepted bytes, fetch options and rejected response facts on the original request, and synchronize lifecycle fixtures with the real callback boundary.
2026-09-22 23:21:33 +08:00
ldm0 9a772a23d9 refactor(network): unify Context execution for CSP, preflight and authentication
Replace the abandoned publication-flag migrations with the original request transfer and one ServiceWorker result channel. Preserve admitted bootstrap policy and publish physical CSP, preflight and final authentication phases without buffered auth-only branches.
2026-09-22 23:21:33 +08:00
ldm0 78d4158a01 refactor(worker): own main scripts and preflight transfers in Context
Route dedicated/shared/service main scripts and updates through Context-owned loads. Keep preflight identity and rejected response bodies through retirement and cancellation.
2026-09-22 23:21:33 +08:00
ldm0 869c3d07ae refactor(runtime): own Worker lanes and shared target publication
Own Worker service lanes and late binding, bound retained Worker output and remove redundant identity/event mirrors. Publish actual target creation and retirement to every frontend independently of command origin or discovery.
2026-09-22 23:21:33 +08:00
ldm0 258591383d refactor(worker): publish native fetch, XHR and script transfers
Move Worker fetch, synchronous/asynchronous XHR, script imports and CSP reports onto request-owned native transfers. Stream filtered responses and preserve cancellation, partial bodies, shared-cache consumers and retirement ordering.
2026-09-22 23:21:33 +08:00
ldm0 7138fafbc0 refactor(browser): commit native resource facts and Worker fetch decisions
Commit document, child and Worker network facts at BrowserOwner while retaining renderer FIFO and rejected responses. Recover Worker observation at readiness and bind fetch decisions and initial surfaces to native ownership.
2026-09-22 23:21:33 +08:00
ldm0 104f1a93d0 refactor(browser): own Worker lifecycles and inspection readiness
Admit dedicated, nested, shared and service Workers natively. Bind inspection at readiness, preserve bootstrap ordering and issue replay, and keep Runtime admission and failed navigation retirement tied to native state.
2026-09-22 23:21:33 +08:00
ldm0 5d26120f4e refactor(browser): drive lifecycle and navigation independently of observers
Publish native download, lifecycle, dialog and popup facts. Own initial and cross-document navigation execution and decisions; remove staged capabilities, caller-driven fallback and legacy navigation completion paths.
2026-09-22 23:21:33 +08:00
ldm0 eb450764bb refactor(protocol): share native Browser lifetime across frontends
Project Context, WebContents and Document occurrences across CDP, BiDi and Classic. Share the protocol owner, preserve navigation continuations across adapter turns, and join Worker/resource work at its native shutdown boundary.
2026-09-22 23:21:33 +08:00
ldm0 4300adeec3 refactor(browser): move physical state behind BrowserService handles
Bind document commands, resource work, Worker controls, downloads and retirement to exact native handles. Remove Context-wide mirrors and transfer physical ownership to the independent Core service.
2026-09-22 23:21:33 +08:00
ldm0 caec5956ad refactor(devtools): bind layered dispatch to sessions and projection fences
Make AgentHost dispatch and session ownership explicit. Gate commands on the committed Document projection instead of treating protocol completion as native navigation authority.
2026-09-22 23:21:33 +08:00
ldm0 aa6951109d refactor(browser): admit and commit native navigation transactions
Construct and commit initial and successor Documents through WebContents. Preserve exact cancellation, Context cache and loading policy across response preparation, authentication and interception, and retire failed attempts without destroying the current Document.
2026-09-22 23:21:33 +08:00
ldm0 20ef9d588e refactor(browser): own page collections, permissions and downloads
Move page selection, permissions and document refresh into Context ownership. Separate download policy and observation from execution and artifact lifetime.
2026-09-22 23:21:33 +08:00
ldm0 b1f44e9f98 refactor(devtools): separate inspection bindings from Page ownership
Route Runtime, DOM, CSS, accessibility and IO inspection through exact renderer bindings. Separate inspector replies and replay from Page caches, preserve session teardown isolation, and remove obsolete Page inspection entries.
2026-09-22 23:21:33 +08:00
ldm0 5fd3bbdb36 refactor(browser): own Context storage and effective page policies
Put Window, emulation, request, security and environment policy under Browser ownership. Own Context storage/runtime roots and inherited defaults while retaining per-session DevTools contributions.
2026-09-22 23:21:32 +08:00
ldm0 9ea7a84f00 refactor(browser): own WebContents, Document and navigation identities
Move document lifecycle, loaded state and navigation controllers under stable native WebContents identities. Keep protocol identifiers separate from Browser handles and constrain synthetic identities to tests.
2026-09-22 23:21:32 +08:00
ldm0 8e7be5c3fb fix(window): resolve named properties in the holder realm 2026-09-22 23:04:44 +08:00
ldm0 199abbb005 fix(html): report errors in the receiver Window realm 2026-09-22 22:49:08 +08:00
ldm0 ca5a66beae test(wpt): serve fixture directory listings 2026-09-22 21:55:02 +08:00
ldm0 ed7e56eb42 fix(fetch): preserve URLs on opaque redirect responses 2026-09-22 21:25:54 +08:00
ldm0 8df3ad554c fix(clipboard): preserve presentation style in shared snapshots 2026-09-22 20:14:59 +08:00
ldm0 f3080df33d refactor(history): centralize fully-active admission 2026-09-22 20:09:38 +08:00
ldm0 d919076a13 fix(fetch): reject cross-origin no-cors requests with non-follow redirects 2026-09-22 20:06:50 +08:00
lanyue-llk bcf420f622 revert: undo split PR 640 merges (#734-#740) 2026-09-22 20:02:07 +08:00
mini llk cba79021aa fix(document): parse text responses with consistent decoding (#740)
* fix(parser): preserve text document MIME and encoding semantics

* fix(document): share literal text parsing across child document paths

* fix(document): construct projection parser with the public API
2026-09-22 19:50:42 +08:00
mini llk e979f50c33 fix(forms): preserve live and detached named property semantics (#739) 2026-09-22 19:50:01 +08:00
mini llk 011e2268f2 fix(navigation): cancel loading without retiring the active document (#738) 2026-09-22 19:49:18 +08:00
mini llk 1be735d5c5 fix(network): preserve request metadata and response evidence (#737) 2026-09-22 19:45:58 +08:00
mini llk 50a4242b2e fix(input): preserve activation and navigation boundaries (#736) 2026-09-22 19:45:14 +08:00
mini llk c5ac254058 fix(layout): refresh geometry and preserve inline fragments (#735) 2026-09-22 19:42:55 +08:00
mini llk e30ca4aea4 fix(reliability): harden diagnostics and test infrastructure (#734) 2026-09-22 19:39:41 +08:00
ldm0 a54ba82a7a fix(cssom): accept counters in content alternative text 2026-09-22 17:45:37 +08:00
ldm0 70e5ef620b fix(cssom): serialize computed mask from its longhands 2026-09-22 17:42:42 +08:00
ldm0 7934998657 fix(xhr): recognize Document as a native send body
Preserve Document during argument conversion so invalid state checks and GET/HEAD requests do not invoke string coercion. Add 300 assertions covering native Document objects, coercion getters, altered prototypes, and non-native lookalikes.

Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast (18273 passed, 13 skipped).
2026-09-22 14:55:05 +08:00
ldm0 d63b4e7e57 fix(xhr): convert send bodies before request state checks
Extracted from 7cf4040051a3ca350f9b4955347aabcf393398fd.

Validation: cargo fmt --all; cargo clippy --workspace --all-targets
--all-features -- -D warnings. Runtime tests were not run for this split.
2026-09-22 14:55:05 +08:00
ldm0 2793b2407f fix(csp): report eval source samples 2026-09-22 12:56:37 +08:00
ldm0 1f635fa30d test(wpt): substitute request headers with template escaping 2026-09-22 12:54:16 +08:00