Skip to content

test(webkit): CacheStorage entry should survive page.reload()#41701

Merged
yury-s merged 1 commit into
microsoft:mainfrom
yury-s:fix-41618
Jul 10, 2026
Merged

test(webkit): CacheStorage entry should survive page.reload()#41701
yury-s merged 1 commit into
microsoft:mainfrom
yury-s:fix-41618

Conversation

@yury-s

@yury-s yury-s commented Jul 8, 2026

Copy link
Copy Markdown
Member

Summary

  • Roll WebKit to r2328, which fixes CacheStorage disk persistence in persistent contexts. The Playwright patch added httpRequestHeaderFields to ResourceResponseData but never to its persistence encoder, so persisted responses failed to decode and cache.match() returned null on disk-backed (persistent) contexts — even immediately after cache.put(). Browser fix: microsoft/playwright-browsers#2404.
  • Add a persistent-context regression test (fixed by the roll).
  • Add an ephemeral-context test, marked expected-fail on WebKit: an in-memory CacheStorage entry is not persisted across reload, consistent with Safari.

Fixes #41618

Roll WebKit to r2328, which fixes CacheStorage disk persistence in
persistent contexts (httpRequestHeaderFields was missing from the
ResourceResponseData persistence encoder, so persisted responses failed
to decode and cache.match() returned null).

Add a persistent-context regression test (fixed by the roll) and an
ephemeral-context test. The ephemeral case is marked as expected to fail
on WebKit: an in-memory CacheStorage entry is not persisted across
reload, consistent with Safari.

Fixes microsoft#41618
@github-actions

Copy link
Copy Markdown
Contributor

Test results for "MCP"

2 failed
❌ [chromium] › mcp/cli-killall.spec.ts:42 › kill-all kills filtered dashboard pid @mcp-ubuntu-latest-chromium
❌ [webkit] › mcp/cli-killall.spec.ts:42 › kill-all kills filtered dashboard pid @mcp-ubuntu-latest-webkit

7758 passed, 1249 skipped


Merge workflow run.

@github-actions

Copy link
Copy Markdown
Contributor

Test results for "tests 1"

6 flaky ⚠️ [chromium-library] › library/video.spec.ts:275 › screencast › should capture navigation `@chromium-ubuntu-22.04-arm-node20`
⚠️ [chromium-library] › library/beforeunload.spec.ts:130 › should support dismissing the dialog multiple times `@chromium-ubuntu-22.04-node24`
⚠️ [chromium-library] › library/video.spec.ts:275 › screencast › should capture navigation `@chromium-ubuntu-22.04-node24`
⚠️ [chromium-library] › library/video.spec.ts:680 › screencast › should capture full viewport on hidpi `@chromium-ubuntu-22.04-node24`
⚠️ [firefox-library] › library/heap.spec.ts:223 › should not leak workers `@firefox-ubuntu-22.04-node20`
⚠️ [firefox-page] › page/page-emulate-media.spec.ts:144 › should keep reduced motion and color emulation after reload `@firefox-ubuntu-22.04-node20`

49534 passed, 1161 skipped


Merge workflow run.

@yury-s yury-s merged commit 9bfde8b into microsoft:main Jul 10, 2026
46 of 48 checks passed
@yury-s yury-s deleted the fix-41618 branch July 10, 2026 22:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] WebKit: Cache Storage entry silently lost across page.reload() (container survives, entry does not)

3 participants