Skip to content

CI run for contributor PR #38607 - #38700

Draft
brave-builds wants to merge 1 commit into
masterfrom
contributor-netzenbot-fix-blob-url-partition-flake
Draft

CI run for contributor PR #38607#38700
brave-builds wants to merge 1 commit into
masterfrom
contributor-netzenbot-fix-blob-url-partition-flake

Conversation

@brave-builds

Copy link
Copy Markdown
Collaborator

Description

This PR is created to run CI on the changes proposed in PR #38607 by @netzenbot.

This PR should not be merged.

TestBlobsArePartitioned() closes the first a.com tab and then immediately
expects every blob URL registered in that tab to be unfetchable. Closing
the tab destroys the browser-side RenderFrameHosts synchronously, but the
blob URL mappings are owned by the browser-side BlobURLStoreImpl objects,
which drop their mappings only in ~BlobURLStoreImpl. Each of those objects
is kept alive by its mojo receiver, so it is destroyed only after the
closed document is torn down in its renderer (which resets the renderer's
BlobURLStore remote) and the resulting pipe disconnect is processed in the
browser. Nothing on the browser side reports that renderer-side teardown,
so the assertions raced with it and intermittently observed the blob
contents instead of "error" on macOS.

The previous attempt (#35003) flushed the IO thread and ran all pending
browser tasks, which cannot close this race: at that point the renderer
has not sent the disconnect yet.

Instead, poll each blob URL with the Fetch API until it stops resolving,
bounded by TestTimeouts::action_max_timeout(), and only then run the
existing strict check that also fetches through a dedicated worker. The
polling loop calls EvalJs() directly instead of using base::test::RunUntil()
because EvalJs() spins a nested run loop. The two fetches performed by
FetchBlob() can legitimately disagree while a revocation is in flight,
which is the second failure signature seen in the issue, and that is now
avoided as well.

Re-enable the four tests that were disabled on macOS in #38104.

Resolves brave/brave-browser#57252
@github-actions

github-actions Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

The following commits were not verified:
57d3c9d (unsigned)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants