Make the test framework of ETP Fission-Compatible
Categories
(Core :: Privacy: Anti-Tracking, task, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox78 | --- | fixed |
People
(Reporter: timhuang, Assigned: timhuang)
References
Details
Attachments
(8 files)
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review |
There are some places in the ETP's test framwork are not fission-compatible. For example, we open a window from a cross-origin content window, which is not allowed in Fission. Maybe there are more of them, we should fix them.
Comment 1•3 years ago
|
||
Tracking for Fission's M4.1 Mochitest milestone.
Assignee | ||
Comment 2•3 years ago
|
||
There are two places where we will hit the assertion during the test. It
won't stop the test, but might bring unforeseeable problems in the
future.
There are two assertions, one is that we don't read the channel when we
use a channel to detect if a third party page is a tracker. The another
one is that we directly open window from the chrome window. This patch
fixes these issues.
Assignee | ||
Comment 3•3 years ago
|
||
Depends on D75974
Assignee | ||
Comment 4•3 years ago
|
||
Depends on D75975
Assignee | ||
Comment 5•3 years ago
|
||
When we do the accessRemoval test for the top-frame navigation, we first
add an iframe through the test script and then do the naviagtion. After
the browser has been navigated back, it will access the same iframe to
see if the storage access is removed. This works for non-Fission mode.
But, it wont work for Fission.
In Fission, the iframe added by the script won't exist after navigating
back. So, we cannot use the same iframe to do the test. In order to
address this, we change the test to create a new iframe instead and do
the test in it.
Depends on D75976
Assignee | ||
Comment 6•3 years ago
|
||
The old SpecialPowers.Services.perms.testPermissionFromPrincipal() would
only test the permission in the content process. But we won't sync the
stoarge permission to the tracker's process since it is under the
top-level principal. In order to resolve this, we change to use
SpecialPowers.testPermission() which asynchronously test permission in
the parent process. Through it, we can make waiting permissions
fission-compatible.
Depends on D75977
Assignee | ||
Comment 7•3 years ago
|
||
Due to the fact the the same domain with different schemes would be
consider as third-party in Fission. So, we have to use the same scheme
when doing the test in Fission. This patch change
TEST_ANOTHER_3RD_PARTY_DOMAIN to http scheme in Fission mode. In
non-Fission mode, it will still use https scheme.
Depends on D75978
Assignee | ||
Comment 8•3 years ago
|
||
The ETP test needs a longer running time in Fission. We make it longer
in this patch.
Depends on D75979
Assignee | ||
Comment 9•3 years ago
|
||
Sometimes we check the console log before the content blocking log
has appeared on the console in Fission. This patch makes the test
framework to explicitly wait the content blocking log.
Depends on D75980
Comment 10•3 years ago
|
||
Pushed by tihuang@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c8bea1f96f4b Part 1: Resolve assertion issues for the ETP test framework. r=baku https://hg.mozilla.org/integration/autoland/rev/50393ee6ebf8 Part 2: Make opening window in iframe for antitracking test framework fission-compatible. r=baku https://hg.mozilla.org/integration/autoland/rev/d8b89c681ed0 Part 3: Make DynamicFPIHelper and StoragePrincipalHelper Fission compatible. r=baku https://hg.mozilla.org/integration/autoland/rev/0851ca04159b Part 4: Change the way how we do accessRemoval test for the 'navigate-topframe'. r=baku https://hg.mozilla.org/integration/autoland/rev/e1c78a5bcd8d Part 5: Use a Fission compatible API to wait permissions in storageAccessAPIHelpers.js. r=baku https://hg.mozilla.org/integration/autoland/rev/ec7583769b9c Part 6: Use the 'http' scheme for TEST_ANOTHER_3RD_PARTY_DOMAIN in ETP test for Fission. r=baku https://hg.mozilla.org/integration/autoland/rev/51a737bb9ba7 Part 7: Request even longer timeout for ETP tests in Fission. r=baku https://hg.mozilla.org/integration/autoland/rev/2d918365a865 Part 8: Explicitly wait the console message before get the console log. r=baku
Comment 11•3 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/c8bea1f96f4b
https://hg.mozilla.org/mozilla-central/rev/50393ee6ebf8
https://hg.mozilla.org/mozilla-central/rev/d8b89c681ed0
https://hg.mozilla.org/mozilla-central/rev/0851ca04159b
https://hg.mozilla.org/mozilla-central/rev/e1c78a5bcd8d
https://hg.mozilla.org/mozilla-central/rev/ec7583769b9c
https://hg.mozilla.org/mozilla-central/rev/51a737bb9ba7
https://hg.mozilla.org/mozilla-central/rev/2d918365a865
Description
•