Closed Bug 1635261 Opened 4 years ago Closed 4 years ago

AntiTrackingUtils::HasStoragePermissionInParent() returns a wrong value in Fission

Categories

(Core :: Privacy: Anti-Tracking, task, P1)

task

Tracking

()

RESOLVED FIXED
mozilla78
Fission Milestone M6a
Tracking Status
firefox78 --- fixed

People

(Reporter: timhuang, Assigned: timhuang)

References

Details

Attachments

(1 file)

The AntiTrackingUtils::HasStoragePermissionInParent() would returns a wrong value in Fission.

The reason is that we get the topLevelStorageAreaPrincipal from the channel. But, it is incorrect in Fission. To Fix this, we will not use the topLevelStorageAreaPrincipal, but to use the browsingContext and windowGlobalParent to get the principal we need since we are in the parent process when calling this function.

We used to use the topLevelStorageAreaPrincipal and topLevelPrincipal to
get the principal we need to do the storage permission checks in
AntiTrackingUtils::HasStoragePermissionInParent(). But, they don't work
in Fission. Also, we use these two principals to implicitly check if the
channel is top-level. This won't work as well.

So, we change to use the browsingContext to do the top-level check as
well as getting the top-level principal.

Tracking for Fission Nightly milestone (M6a) since this is work in progress.

Fission Milestone: --- → M6a
Status: NEW → ASSIGNED
Pushed by tihuang@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/05ac80df0e76
Modify the way how we get the top-level principal in AntiTrackingUtils::HasStoragePermissionInParent(). r=dimi,baku
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla78
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: