Repository navigation
Conversation
Sequential Navigation Soak A/B✅ HEAD completed the 200-navigation resilience and memory observation. One browser process, one target, and one CDP session navigate CSDN → SegmentFault → Huaban → example.com repeatedly. This run issued 200 Common ancestor Session resilience
A public-page failure is reported separately from an unrecoverable session. The soak requires all navigation attempts, zero failed recovery, zero lifecycle/network ordering violations, and complete resource evidence. Process-tree memory
HEAD memory by 50-navigation quarter
Raw reports and per-navigation boundary samples: workflow run and full Public-site timing and memory are observational. Use the A/B deltas and trend shape as evidence, not as a deterministic performance threshold. |
Spider Bench A/B✅ All benchmark browser service runs completed; results are informational. Public HEAD: 184 / 240 rows; 38 / 48 sites produced rows; 10 unexpected empty sites. ✅ Deterministic fixture contract is clean. Common ancestor Public 48-site run · informational
Public-site content, timing, and memory are noisy. This single A/B run reports evidence only; site outcome counts explain missing rows without treating them as a deterministic regression. CPU and memory timelinesThese are bounded 40-point views of the same complete process-tree samples used by the HTML report. CPU uses 100% per occupied logical core; memory lines are RSS first and PSS second when complete PSS samples are available. Basexychart-beta
title "Base CPU"
x-axis "Elapsed seconds" [1.538, 3.04, 4.041, 4.541, 6.045, 7.546, 9.047, 10.55, 12.051, 13.553, 15.056, 16.558, 17.059, 18.06, 19.562, 21.062, 22.563, 24.065, 25.567, 27.07, 28.573, 30.075, 31.577, 33.079, 34.581, 36.083, 37.583, 39.086, 40.586, 42.087, 43.589, 45.09, 46.592, 48.095, 49.597, 51.099, 52.601, 53.603]
y-axis "CPU percent" 0 --> 200
line [83.78, 69.92, 115.83, 107.94, 113.74, 127.96, 91.8, 115.94, 75.97, 143.7, 23.97, 7.99, 0, 0, 137.93, 0, 59.97, 69.86, 125.96, 101.88, 135.79, 141.96, 59.85, 69.86, 55.95, 57.86, 87.99, 49.96, 76.07, 6, 0, 115.83, 99.87, 101.89, 131.87, 9.99, 125.89, 163.72]
xychart-beta
title "Base memory: RSS then PSS"
x-axis "Elapsed seconds" [0.035, 1.538, 3.04, 4.041, 4.541, 6.045, 7.546, 9.047, 10.55, 12.051, 13.553, 15.056, 16.558, 17.059, 18.06, 19.562, 21.062, 22.563, 24.065, 25.567, 27.07, 28.573, 30.075, 31.577, 33.079, 34.581, 36.083, 37.583, 39.086, 40.586, 42.087, 43.589, 45.09, 46.592, 48.095, 49.597, 51.099, 52.601, 53.603, 54.07]
y-axis "Memory MiB" 0 --> 500
line [12.98, 91.37, 93.77, 122.25, 120.36, 145.41, 148.23, 156.98, 132.49, 170.66, 134.52, 121.16, 117.56, 117.71, 117.45, 138.21, 117.41, 117.79, 125.8, 143.16, 270.45, 183.35, 211.7, 139.6, 152.54, 140.23, 133.55, 142.88, 137.63, 155.79, 125.2, 124.04, 150.71, 156.89, 156.92, 163.93, 123.96, 155.96, 171.8, 0]
line [9.44, 87.59, 90.01, 118.45, 116.49, 141.65, 143.9, 153.13, 128.64, 166.81, 130.64, 117.28, 113.68, 113.83, 113.57, 134.34, 113.54, 113.91, 121.92, 139.27, 266.59, 180.7, 208.42, 135.74, 148.66, 136.47, 129.67, 139.04, 133.76, 151.98, 121.32, 120.21, 146.85, 152.84, 153.06, 160.05, 120.17, 151.35, 168.01, 0]
HEADxychart-beta
title "HEAD CPU"
x-axis "Elapsed seconds" [1.036, 2.537, 3.539, 5.042, 6.042, 7.044, 8.546, 9.547, 11.049, 12.049, 13.05, 14.553, 15.553, 16.053, 16.553, 18.056, 19.057, 20.559, 21.561, 22.061, 22.562, 24.064, 25.065, 26.567, 27.569, 28.57, 30.071, 31.071, 32.573, 33.574, 34.575, 36.076, 37.077, 38.079, 39.581, 40.081, 40.581, 42.083]
y-axis "CPU percent" 0 --> 200
line [3.99, 120.02, 123.78, 113.83, 127.97, 123.72, 115.94, 97.85, 97.98, 127.93, 49.98, 139.75, 115.98, 0, 32, 113.79, 23.99, 99.96, 91.78, 101.9, 107.9, 125.8, 117.9, 33.99, 109.8, 105.86, 31.98, 63.96, 109.95, 47.96, 107.97, 99.96, 6, 55.89, 99.71, 155.88, 14.02, 121.88]
xychart-beta
title "HEAD memory: RSS then PSS"
x-axis "Elapsed seconds" [0.035, 1.036, 2.537, 3.539, 5.042, 6.042, 7.044, 8.546, 9.547, 11.049, 12.049, 13.05, 14.553, 15.553, 16.053, 16.553, 18.056, 19.057, 20.559, 21.561, 22.061, 22.562, 24.064, 25.065, 26.567, 27.569, 28.57, 30.071, 31.071, 32.573, 33.574, 34.575, 36.076, 37.077, 38.079, 39.581, 40.081, 40.581, 42.083, 42.716]
y-axis "Memory MiB" 0 --> 500
line [13.01, 64.03, 105.28, 110.6, 134.95, 142.93, 138.21, 139.2, 130.74, 149.91, 160.64, 134.09, 132.86, 115.29, 115.29, 116.61, 156.75, 150.56, 140.89, 197.07, 265.99, 204.54, 186.86, 205.94, 146.37, 169.01, 141.85, 133.27, 135.79, 140.01, 142.27, 179.18, 146.39, 123.68, 137.39, 159.01, 138.89, 141.72, 154.89, 0]
line [9.47, 60.32, 101.57, 106.8, 131.23, 139.16, 134.47, 135.41, 126.95, 146.1, 156.84, 130.26, 129.17, 111.52, 111.52, 113.03, 152.9, 146.82, 137.14, 193.34, 260.08, 200.25, 183.21, 202.18, 142.79, 165.21, 138.22, 129.44, 131.8, 136.23, 138.5, 175.74, 142.7, 119.91, 133.72, 155.29, 135.18, 137.95, 151.27, 0]
Deterministic fixture · required contractThe fixture exercises 15 routes: 8 are expected to emit rows and 7 intentionally exercise empty, loading, or timeout behavior.
Full HTML, JSON, CSV, logs, and page snapshots: workflow run and full The public-web A/B is informational. The exact HEAD fixture contract runs as a separate required CI check; timing and public-site content deltas remain non-blocking. |
CI Regression ReportSource CI run · source state at render:
Release regression — ⚪ artifact unavailable or invalidArtifact unavailable or invalid. See the source CI run for infrastructure details. Frontend differential — ⚪ artifact unavailable or invalidArtifact unavailable or invalid. See the source CI run for infrastructure details. Agent episodes · Moli vs Chromium — ✅ 8/8 Moli episodes passed; 0 failures
Runtime and CDP session contracts — ✅ 26 contract cases; 0 failures
CDP smoke — ⚪ artifact unavailable or invalidArtifact unavailable or invalid. See the source CI run for infrastructure details. WebMainBench · 545 pages — ✅ 545/545 completed; 0 unexpected failures
Frozen HTML · Linux · Diagnostics: All artifact fields are parsed by the trusted default-branch renderer; missing or invalid inputs remain visible as unavailable. |
a3e8a58 to
2805a57
Compare
Use the creator URL for source matching in inherited about:blank/srcdoc documents. Keep actual document URLs in violation reports and preserve opaque sandbox origins and data URL blocking. Cover ordinary and sandboxed srcdoc, changed parent/child base URLs, allowed same-origin images, blocked cross-origin images, and owner reports. Regression-commit: 5399724 Regression-PR: #1714 Validate this independent patch on main ce0781f: - cargo fmt --all - cargo clippy --workspace --all-targets --all-features -- -D warnings - cargo nextest run --no-fail-fast Summary [ 551.506s] 20434 tests run: 20434 passed (9 slow), 18 skipped Original-commit: 59c8fc2
Capture the CSP matching URL in the policy container, preserve it through local-document snapshots, and replace it on network navigation. Recheck redirected responses and cached final URLs using the requesting Document policy while retaining local report URLs and Report-Only behavior.
Apply owner-document image policy before network dispatch or decoded resource reuse. Preserve Report-Only loading and verify owner reports, real HTTP requests, and redirected image cache admission.
2805a57 to
b0f0f85
Compare
Images in inherited about:blank/srcdoc Documents matched
img-src 'self'against the local document URL and incorrectly rejected creator-origin resources. Capture the CSP matching URL in the policy container when a document is created or receives a navigation response, retain it through local-document snapshots, and update it on network document commits. Keep base-URL resolution, sandboxed Window origins, and violation report document URLs independent.Retain the final response URL with cached image metadata and recheck it for each requesting Document before reuse. Recheck redirected image responses against the owning Document's
img-srcwithFollowedRedirectsemantics before publishing an image result. Cross-origin violations produce an image error and an owner-scoped violation event; Report-Only continues loading. This is a final-response check: automatic redirects have already issued their HTTP requests. Blocking each forbidden next-hop request is a separate transport integration step.CSS image admission also checks the owning Document before shared-resource reuse or network dispatch. The image response check covers its redirected responses as well. This existing CSS gap is isolated in its own commit.
Regression coverage includes ordinary/sandboxed srcdoc, about:blank, nested local Documents, inherited response-header CSP, changed base URLs, network-navigation policy replacement, real same-origin/cross-origin redirects, redirect path matching, Report-Only, and CSS image admission. Tests observe load/error, owner violation reports, and real HTTP request logs.
The original inheritance fix addresses
5399724fb07a24935531b92c42621be1baa8c089(#1714). No Cases snapshot or internal notes are included.Validation on final head
b0f0f85ab7e(rebased onto mainbaf87cfb248):cargo fmt --allcargo clippy --workspace --all-targets --all-features -- -D warningscargo nextest run --no-fail-fast: 20,893 passed, 19 skipped, no retries. All seven new regression tests passed.Review follow-ups are separated into
01335b63551(document policy sources, redirected image responses, cached response validation) andb0f0f85ab7e(CSS image admission and shared decoded-cache validation).