Name Description Size
browser.toml 4936
browser_animationapi_iframes.js This test only tests values in the iframe, it does not test them on the framer Covers the following cases: - RFP is disabled entirely - RFP is enabled entirely - (A) RFP is exempted on the framer and framee and (if needed) on another cross-origin domain - (B) RFP is exempted on the framer and framee but is not on another (if needed) cross-origin domain - (C) RFP is exempted on the framer and (if needed) on another cross-origin domain, but not the framee - (D) RFP is exempted on the framer but not the framee nor another (if needed) cross-origin domain - (E) RFP is not exempted on the framer nor the framee but (if needed) is exempted on another cross-origin domain - (F) RFP is not exempted on the framer nor the framee nor another (if needed) cross-origin domain - (G) RFP is not exempted on the framer but is on the framee and (if needed) on another cross-origin domain - (H) RFP is not exempted on the framer nor another (if needed) cross-origin domain but is on the framee 6477
browser_block_mozAddonManager.js Bug 1384330 - A test case for making sure the navigator.mozAddonManager will be blocked when pref 'privacy.resistFingerprinting.block_mozAddonManager' is true. 1227
browser_bug1369357_site_specific_zoom_level.js 2562
browser_canvas_iframes.js This tests that the canvas is correctly randomized on the iframe (not the framer) Covers the following cases: - RFP/FPP is disabled entirely - RFP is enabled entirely, and only in PBM - FPP is enabled entirely, and only in PBM - A normal window when FPP is enabled globally and RFP is enabled in PBM, Protections Enabled and Disabled - (A) RFP is exempted on the framer and framee and (if needed) on another cross-origin domain - (B) RFP is exempted on the framer and framee but is not on another (if needed) cross-origin domain - (C) RFP is exempted on the framer and (if needed) on another cross-origin domain, but not the framee - (D) RFP is exempted on the framer but not the framee nor another (if needed) cross-origin domain - (E) RFP is not exempted on the framer nor the framee but (if needed) is exempted on another cross-origin domain - (F) RFP is not exempted on the framer nor the framee nor another (if needed) cross-origin domain - (G) RFP is not exempted on the framer but is on the framee and (if needed) on another cross-origin domain - (H) RFP is not exempted on the framer nor another (if needed) cross-origin domain but is on the framee 8177
browser_canvas_popups.js This tests that the canvas is correctly randomized on a popup (not the starting page) Covers the following cases: - RFP/FPP is disabled entirely - RFP is enabled entirely, and only in PBM - FPP is enabled entirely, and only in PBM - A normal window when FPP is enabled globally and RFP is enabled in PBM, Protections Enabled and Disabled - (A) RFP is exempted on the maker and popup - (C) RFP is exempted on the maker but not the popup - (E) RFP is not exempted on the maker nor the popup - (G) RFP is not exempted on the maker but is on the popup 6427
browser_canvascompare_iframes.js This test compares canvas randomization on a parent and an iframe, and ensures that the canvas randomization key is inherited correctly. (e.g. that the canvases have the same random value) It runs all the tests twice - once for when the iframe is cross-domain, and once when it is same-domain Covers the following cases: - RFP/FPP is disabled entirely - RFP is enabled entirely, and only in PBM - FPP is enabled entirely, and only in PBM - A normal window when FPP is enabled globally and RFP is enabled in PBM, Protections Enabled and Disabled 8502
browser_canvascompare_iframes_aboutblank.js This test compares canvas randomization on an iframe and an iframe of about:blank within that iframe, and ensures that the canvas randomization key is inherited correctly. (e.g. that the canvases have the same random value.) There's three pages at play here: the parent frame, the iframe, and the about:blank iframe within the iframe. We only compare the inner-most two, we don't measure the outer one. It runs all the tests twice - once for when the iframe is cross-domain from the parent, and once when it is same-domain. But in both cases the about:blank iframe is same-domain to its parent. Covers the following cases: - RFP/FPP is disabled entirely - RFP is enabled entirely, and only in PBM - FPP is enabled entirely, and only in PBM - A normal window when FPP is enabled globally and RFP is enabled in PBM, Protections Enabled and Disabled 8894
browser_canvascompare_iframes_blob.js This test compares canvas randomization on an iframe and a blob: iframe within that iframe, and ensures that the canvas randomization key is inherited correctly. (e.g. that the canvases have the same random value.) There's three pages at play here: the parent frame, the iframe, and the blob iframe within the iframe. We only compare the inner-most two, we don't measure the outer one. It runs all the tests twice - once for when the iframe is cross-domain from the parent, and once when it is same-domain. But in both cases the blob iframe is same-domain to its parent. Covers the following cases: - RFP/FPP is disabled entirely - RFP is enabled entirely, and only in PBM - FPP is enabled entirely, and only in PBM - A normal window when FPP is enabled globally and RFP is enabled in PBM, Protections Enabled and Disabled 8858
browser_canvascompare_iframes_data.js This test compares canvas randomization on an iframe and a data iframe within that iframe, and ensures that the canvas randomization key is inherited correctly. (e.g. that the canvases have the same random value.) There's three pages at play here: the parent frame, the iframe, and the data: iframe within the iframe. We only compare the inner-most two, we don't measure the outer one. It runs all the tests twice - once for when the iframe is cross-domain from the parent, and once when it is same-domain. But in both cases the data: iframe is same-domain to its parent. Covers the following cases: - RFP/FPP is disabled entirely - RFP is enabled entirely, and only in PBM - FPP is enabled entirely, and only in PBM - A normal window when FPP is enabled globally and RFP is enabled in PBM, Protections Enabled and Disabled 9009
browser_canvascompare_popups.js This test compares canvas randomization on a parent and a popup, and ensures that the canvas randomization key is inherited correctly. (e.g. that the canvases have the same random value) It runs all the tests twice - once for when the popup is cross-domain, and once when it is same-domain We DO NOT inherit a randomization key across cross-domain popups, but we do for same-domain Covers the following cases: - RFP/FPP is disabled entirely - RFP is enabled entirely, and only in PBM - FPP is enabled entirely, and only in PBM - A normal window when FPP is enabled globally and RFP is enabled in PBM, Protections Enabled and Disabled 8795
browser_canvascompare_popups_aboutblank.js This test compares canvas randomization on a parent and an about:blank popup, and ensures that the canvas randomization key is inherited correctly. (e.g. that the canvases have the same random value) It runs all the tests twice. Development showed that there were two different code paths that might get taken for about:blank popup creation depending on when in the page lifecycle the popup is created. I don't understand why that is, but at time of writing, the subtle difference in the test will hit both code paths. Covers the following cases: - RFP/FPP is disabled entirely - RFP is enabled entirely, and only in PBM - FPP is enabled entirely, and only in PBM - A normal window when FPP is enabled globally and RFP is enabled in PBM, Protections Enabled and Disabled 9161
browser_canvascompare_popups_blob.js This test compares canvas randomization on a parent and a blob popup, and ensures that the canvas randomization key is inherited correctly. (e.g. that the canvases have the same random value) Covers the following cases: - RFP/FPP is disabled entirely - RFP is enabled entirely, and only in PBM - FPP is enabled entirely, and only in PBM - A normal window when FPP is enabled globally and RFP is enabled in PBM, Protections Enabled and Disabled 6723
browser_canvascompare_popups_data.js This test compares canvas randomization on a parent and a data popup, and ensures that the canvas randomization key is inherited correctly. (e.g. that the canvases have the same random value) Covers the following cases: - RFP/FPP is disabled entirely - RFP is enabled entirely, and only in PBM - FPP is enabled entirely, and only in PBM - A normal window when FPP is enabled globally and RFP is enabled in PBM, Protections Enabled and Disabled 6723
browser_cross_origin_isolated_animation_api.js Bug 1621677 - A test for making sure getting the correct (higher) precision when it's cross-origin-isolated on animation APIs. 4558
browser_cross_origin_isolated_performance_api.js Bug 1621677 - A test for making sure getting the correct (higher) precision when it's cross-origin-isolated for performance APIs. 5241
browser_cross_origin_isolated_reduce_time_precision.js Bug 1621677 - A test for making sure getting the correct (higher) precision when it's cross-origin-isolated. 15187
browser_dynamical_window_rounding.js On Windows, we observed off-by-one pixel differences that couldn't be expained. When manually setting the window size to try to reproduce it; it did not occur. 12644
browser_hwconcurrency_etp_iframes.js This test only tests values in the iframe, it does not test them on the framer Covers the following cases: - RFP is disabled entirely - RFP is enabled entirely in normal and PBM - FPP is enabled entirely in normal and PBM 3365
browser_hwconcurrency_iframes.js This test only tests values in the iframe, it does not test them on the framer Covers the following cases: - RFP is disabled entirely - RFP is enabled entirely - FPP is enabled entirely - RFP is enabled in PBM, FPP is enabled globally, testing in a Normal Window - (A) RFP is exempted on the framer and framee and (if needed) on another cross-origin domain - (B) RFP is exempted on the framer and framee but is not on another (if needed) cross-origin domain - (C) RFP is exempted on the framer and (if needed) on another cross-origin domain, but not the framee - (D) RFP is exempted on the framer but not the framee nor another (if needed) cross-origin domain - (E) RFP is not exempted on the framer nor the framee but (if needed) is exempted on another cross-origin domain - (F) RFP is not exempted on the framer nor the framee nor another (if needed) cross-origin domain - (G) RFP is not exempted on the framer but is on the framee and (if needed) on another cross-origin domain - (H) RFP is not exempted on the framer nor another (if needed) cross-origin domain but is on the framee 5205
browser_hwconcurrency_iframes_aboutblank.js This test only tests values in an about:blank document that is created by the iframe, it does not test them on the framer Covers the following cases: - RFP is disabled entirely - RFP is enabled entirely - FPP is enabled entirely - (A) RFP is exempted on the framer and framee and (if needed) on another cross-origin domain - (B) RFP is exempted on the framer and framee but is not on another (if needed) cross-origin domain - (C) RFP is exempted on the framer and (if needed) on another cross-origin domain, but not the framee - (D) RFP is exempted on the framer but not the framee nor another (if needed) cross-origin domain - (E) RFP is not exempted on the framer nor the framee but (if needed) is exempted on another cross-origin domain - (F) RFP is not exempted on the framer nor the framee nor another (if needed) cross-origin domain - (G) RFP is not exempted on the framer but is on the framee and (if needed) on another cross-origin domain - (H) RFP is not exempted on the framer nor another (if needed) cross-origin domain but is on the framee 5078
browser_hwconcurrency_iframes_aboutsrcdoc.js This test only tests values in an about:srcdoc document that is created by the iframe, it does not test them on the framer Covers the following cases: - RFP is disabled entirely - RFP is enabled entirely - FPP is enabled entirely - (A) RFP is exempted on the framer and framee and (if needed) on another cross-origin domain - (B) RFP is exempted on the framer and framee but is not on another (if needed) cross-origin domain - (C) RFP is exempted on the framer and (if needed) on another cross-origin domain, but not the framee - (D) RFP is exempted on the framer but not the framee nor another (if needed) cross-origin domain - (E) RFP is not exempted on the framer nor the framee but (if needed) is exempted on another cross-origin domain - (F) RFP is not exempted on the framer nor the framee nor another (if needed) cross-origin domain - (G) RFP is not exempted on the framer but is on the framee and (if needed) on another cross-origin domain - (H) RFP is not exempted on the framer nor another (if needed) cross-origin domain but is on the framee 5080
browser_hwconcurrency_iframes_blob.js This test only tests values in a blob document that is created by the iframe, it does not test them on the framer Covers the following cases: - RFP is disabled entirely - RFP is enabled entirely - FPP is enabled entirely - (A) RFP is exempted on the framer and framee and (if needed) on another cross-origin domain - (B) RFP is exempted on the framer and framee but is not on another (if needed) cross-origin domain - (C) RFP is exempted on the framer and (if needed) on another cross-origin domain, but not the framee - (D) RFP is exempted on the framer but not the framee nor another (if needed) cross-origin domain - (E) RFP is not exempted on the framer nor the framee but (if needed) is exempted on another cross-origin domain - (F) RFP is not exempted on the framer nor the framee nor another (if needed) cross-origin domain - (G) RFP is not exempted on the framer but is on the framee and (if needed) on another cross-origin domain - (H) RFP is not exempted on the framer nor another (if needed) cross-origin domain but is on the framee 5064
browser_hwconcurrency_iframes_blobcrossorigin.js This test only tests values in a blob document that is created by the iframe on one domain, then passed to a cross-origin domain to embed. It is a bit different from all the other tests in this series, because instead of the framer doing nothing except frame the framee; the framer creates the blob document, and the framee embeds the blob document. Covers the following cases: - RFP is disabled entirely - RFP is enabled entirely - FPP is enabled entirely - (A) RFP is exempted on the framer and framee and (if needed) on another cross-origin domain - (B) RFP is exempted on the framer and framee but is not on another (if needed) cross-origin domain - (C) RFP is exempted on the framer and (if needed) on another cross-origin domain, but not the framee - (D) RFP is exempted on the framer but not the framee nor another (if needed) cross-origin domain - (E) RFP is not exempted on the framer nor the framee but (if needed) is exempted on another cross-origin domain - (F) RFP is not exempted on the framer nor the framee nor another (if needed) cross-origin domain - (G) RFP is not exempted on the framer but is on the framee and (if needed) on another cross-origin domain - (H) RFP is not exempted on the framer nor another (if needed) cross-origin domain but is on the framee 6121
browser_hwconcurrency_iframes_data.js This test only tests values in a data document that is created by the iframe, it does not test them on the framer Covers the following cases: - RFP is disabled entirely - RFP is enabled entirely - FPP is enabled entirely - (A) RFP is exempted on the framer and framee and (if needed) on another cross-origin domain - (B) RFP is exempted on the framer and framee but is not on another (if needed) cross-origin domain - (C) RFP is exempted on the framer and (if needed) on another cross-origin domain, but not the framee - (D) RFP is exempted on the framer but not the framee nor another (if needed) cross-origin domain - (E) RFP is not exempted on the framer nor the framee but (if needed) is exempted on another cross-origin domain - (F) RFP is not exempted on the framer nor the framee nor another (if needed) cross-origin domain - (G) RFP is not exempted on the framer but is on the framee and (if needed) on another cross-origin domain - (H) RFP is not exempted on the framer nor another (if needed) cross-origin domain but is on the framee 5064
browser_hwconcurrency_iframes_sandboxediframe.js This test only tests values in a sandboxed iframe that is created by a parent iframe, it does not test them on the framer Covers the following cases: - RFP is disabled entirely - RFP is enabled entirely - FPP is enabled entirely - (A) RFP is exempted on the framer and framee and (if needed) on another cross-origin domain - (B) RFP is exempted on the framer and framee but is not on another (if needed) cross-origin domain - (C) RFP is exempted on the framer and (if needed) on another cross-origin domain, but not the framee - (D) RFP is exempted on the framer but not the framee nor another (if needed) cross-origin domain - (E) RFP is not exempted on the framer nor the framee but (if needed) is exempted on another cross-origin domain - (F) RFP is not exempted on the framer nor the framee nor another (if needed) cross-origin domain - (G) RFP is not exempted on the framer but is on the framee and (if needed) on another cross-origin domain - (H) RFP is not exempted on the framer nor another (if needed) cross-origin domain but is on the framee 5083
browser_hwconcurrency_popups.js This test tests values in a popup, it does not test them on the page that made the popup Covers the following cases: - RFP is disabled entirely - RFP is enabled entirely - FPP is enabled entirely - (A) RFP is exempted on the maker and popup - (C) RFP is exempted on the maker but not the popup - (E) RFP is not exempted on the maker nor the popup - (G) RFP is not exempted on the maker but is on the popup 3328
browser_hwconcurrency_popups_aboutblank.js This test only tests values in an about:blank document that opened in a popup Because there is no interaction with a third party domain, there's a lot fewer tests Covers the following cases: - RFP is disabled entirely - RFP is enabled entirely - FPP is enabled entirely - (A) RFP is exempted on the popup maker - (E) RFP is not exempted on the popup maker 2916
browser_hwconcurrency_popups_blob.js This test only tests values in a blob document that is opened in a popup Because there is no interaction with a third party domain, there's a lot fewer tests Covers the following cases: - RFP is disabled entirely - RFP is enabled entirely - FPP is enabled entirely - (A) RFP is exempted on the popup maker - (E) RFP is not exempted on the popup maker 2905
browser_hwconcurrency_popups_blob_noopener.js This test only tests values in a blob document that is opened in a popup Because there is no interaction with a third party domain, there's a lot fewer tests Covers the following cases: - RFP is disabled entirely - RFP is enabled entirely - FPP is enabled entirely - (A) RFP is exempted on the popup maker - (E) RFP is not exempted on the popup maker 3360
browser_hwconcurrency_popups_data.js This test only tests values in a data document that is opened in a popup Because there is no interaction with a third party domain, there's a lot fewer tests Covers the following cases: - RFP is disabled entirely - RFP is enabled entirely - FPP is enabled entirely - (A) RFP is exempted on the popup maker - (E) RFP is not exempted on the popup maker 2905
browser_hwconcurrency_popups_data_noopener.js This test only tests values in a data document that is opened in a popup with noopener Because there is no interaction with a third party domain, there's a lot fewer tests Covers the following cases: - RFP is disabled entirely - RFP is enabled entirely - FPP is enabled entirely - (A) RFP is exempted on the popup maker - (E) RFP is not exempted on the popup maker 3374
browser_hwconcurrency_popups_noopener.js This test tests values in a popup that is opened with noopener, it does not test them on the page that made the popup Covers the following cases: - RFP is disabled entirely - RFP is enabled entirely - FPP is enabled entirely - (A) RFP is exempted on the maker and popup - (C) RFP is exempted on the maker but not the popup - (E) RFP is not exempted on the maker nor the popup - (G) RFP is not exempted on the maker but is on the popup 3896
browser_math.js Bug 531915 - A test for verifying that the JS Math fingerprint is constant when using fdlibm for Math.sin, Math.cos, and Math.tan. 6232
browser_navigator.js Bug 1333651 - A test case for making sure the navigator object has been spoofed/disabled correctly. 14113
browser_navigator_iframes.js Bug 1737829 and Bug 1770498 - A test case for making sure the navigator object has been spoofed/disabled correctly respecting cross-origin resources, iframes and exemption behavior. This test only tests values in the iframe, it does not test them on the framer We use the cross-origin domain as the base URI of a resource we fetch (on both the framer and framee) so we can check that the HTTP header is as expected. Covers the following cases: - RFP is disabled entirely - RFP is enabled entirely - (A) RFP is exempted on the framer and framee and (if needed) on another cross-origin domain - (B) RFP is exempted on the framer and framee but is not on another (if needed) cross-origin domain - (C) RFP is exempted on the framer and (if needed) on another cross-origin domain, but not the framee - (D) RFP is exempted on the framer but not the framee nor another (if needed) cross-origin domain - (E) RFP is not exempted on the framer nor the framee but (if needed) is exempted on another cross-origin domain - (F) RFP is not exempted on the framer nor the framee nor another (if needed) cross-origin domain - (G) RFP is not exempted on the framer but is on the framee and (if needed) on another cross-origin domain - (H) RFP is not exempted on the framer nor another (if needed) cross-origin domain but is on the framee 13687
browser_netInfo.js Bug 1372072 - A test case for check whether network information API has been spoofed correctly when 'privacy.resistFingerprinting' is true; 1662
browser_performanceAPI.js 5745
browser_performanceAPIWorkers.js Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ 1843
browser_reduceTimePrecision_iframes.js This test only tests values in the iframe, it does not test them on the framer Covers the following cases: - RFP is disabled entirely - RFP is enabled entirely - (A) RFP is exempted on the framer and framee and (if needed) on another cross-origin domain - (B) RFP is exempted on the framer and framee but is not on another (if needed) cross-origin domain - (C) RFP is exempted on the framer and (if needed) on another cross-origin domain, but not the framee - (D) RFP is exempted on the framer but not the framee nor another (if needed) cross-origin domain - (E) RFP is not exempted on the framer nor the framee but (if needed) is exempted on another cross-origin domain - (F) RFP is not exempted on the framer nor the framee nor another (if needed) cross-origin domain - (G) RFP is not exempted on the framer but is on the framee and (if needed) on another cross-origin domain - (H) RFP is not exempted on the framer nor another (if needed) cross-origin domain but is on the framee 6762
browser_roundedWindow_dialogWindow.js Bug 1352305 - A test case for dialog windows that it should not be rounded even after fingerprinting resistance is enabled. 1188
browser_roundedWindow_newWindow.js Bug 1330882 - A test case for opening new windows as rounded size when fingerprinting resistance is enabled. 1577
browser_roundedWindow_open_max_inner.js Bug 1330882 - A test case for opening new windows through window.open() as rounded size when fingerprinting resistance is enabled. This test is for maximum values. 517
browser_roundedWindow_open_mid_inner.js Bug 1330882 - A test case for opening new windows through window.open() as rounded size when fingerprinting resistance is enabled. This test is for middle values. 506
browser_roundedWindow_open_min_inner.js Bug 1330882 - A test case for opening new windows through window.open() as rounded size when fingerprinting resistance is enabled. This test is for minimum values. 403
browser_spoofing_keyboard_event.js Bug 1222285 - A test case for testing whether keyboard events be spoofed correctly when fingerprinting resistance is enable. 54469
browser_timezone.js Bug 1330890 - A test case for verifying Date() object of javascript will use UTC timezone after fingerprinting resistance is enabled. 5802
coop_header.sjs 2682
file_animationapi_iframee.html 1941
file_animationapi_iframer.html 934
file_canvas_iframee.html 1018
file_canvas_iframer.html 1578
file_canvascompare_aboutblank_iframee.html 2042
file_canvascompare_aboutblank_iframer.html 946
file_canvascompare_aboutblank_popupmaker.html 3217
file_canvascompare_blob_iframee.html 2222
file_canvascompare_blob_iframer.html 940
file_canvascompare_blob_popupmaker.html 2506
file_canvascompare_data_iframee.html 2297
file_canvascompare_data_iframer.html 940
file_canvascompare_data_popupmaker.html 2485
file_canvascompare_iframee.html 1018
file_canvascompare_iframer.html 2148
file_dummy.html Dummy test page 367
file_hwconcurrency_aboutblank_iframee.html 733
file_hwconcurrency_aboutblank_iframer.html 946
file_hwconcurrency_aboutblank_popupmaker.html 2000
file_hwconcurrency_aboutsrcdoc_iframee.html 874
file_hwconcurrency_aboutsrcdoc_iframer.html 947
file_hwconcurrency_blob_iframee.html 1099
file_hwconcurrency_blob_iframer.html 940
file_hwconcurrency_blob_popupmaker.html 1961
file_hwconcurrency_blobcrossorigin_iframee.html 453
file_hwconcurrency_blobcrossorigin_iframer.html 813
file_hwconcurrency_data_iframee.html 1241
file_hwconcurrency_data_iframer.html 940
file_hwconcurrency_data_popupmaker.html 1513
file_hwconcurrency_iframee.html 646
file_hwconcurrency_iframer.html 1585
file_hwconcurrency_sandboxediframe_double_framee.html 517
file_hwconcurrency_sandboxediframe_iframee.html 810
file_hwconcurrency_sandboxediframe_iframer.html 950
file_keyBoardEvent.sjs 1758
file_navigator.html Test page for navigator object 1106
file_navigator.worker.js 505
file_navigator_header.sjs 354
file_navigator_iframe_worker.sjs 687
file_navigator_iframee.html 2120
file_navigator_iframer.html 1209
file_reduceTimePrecision_iframe_worker.sjs 765
file_reduceTimePrecision_iframee.html 1343
file_reduceTimePrecision_iframer.html 941
file_workerNetInfo.js eslint-disable mozilla/no-comparison-or-assignment-inside-ok 605
file_workerPerformance.js eslint-disable mozilla/no-comparison-or-assignment-inside-ok 3769
head.js Sets up tests for making sure that performance APIs have been correctly spoofed or disabled. 31349
shared_test_funcs.js 320