Open Bug 1617784 Opened 2 months ago Updated 22 days ago

ContentBlockingAllowListPrincipal lookup doesn't handle ancestors in a different process

Categories

(Core :: Privacy: Anti-Tracking, defect, P3)

defect

Tracking

()

People

(Reporter: mattwoodrow, Unassigned)

References

(Blocks 1 open bug)

Details

ContentBlockingAllowListPrincipal lookup for document loading uses ThirdPartyUtil::GetTopWindowForChannel, which walks up the nsGlobalWindowOuter chain, and can only see Windows that in the current process. With fission, this will frequently not be the full ancestor chain.

As part of bug 1615966, I'm moving the computation of topWindowURI/contentBlockingAllowListPrincipal to the parent-process, when using DocumentChannel for a document load.

This means we should have access to all ancestor WindowGlobalParent's, not just Windows that exist in the current process.

I've had to manually add back support for restricting the lookup to within the current process, because we fail a bunch of tests otherwise: https://treeherder.mozilla.org/#/jobs?repo=try&selectedJob=290284305&revision=16cf0f7019aa7c7e381e29c13a147140461ca414

It would be good to figure out why this, because I suspect we need it in the long term.

Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.