diff --git a/app/src/androidTest/assets/pages/etp.html b/app/src/androidTest/assets/pages/trackingPage.html similarity index 51% rename from app/src/androidTest/assets/pages/etp.html rename to app/src/androidTest/assets/pages/trackingPage.html index eed0969ce..1a0d735a6 100644 --- a/app/src/androidTest/assets/pages/etp.html +++ b/app/src/androidTest/assets/pages/trackingPage.html @@ -3,16 +3,11 @@ - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> - + - Trackers - - -

Trackers

- - - - - - + + + + + diff --git a/app/src/androidTest/assets/resources/trackingAPI.js b/app/src/androidTest/assets/resources/trackingAPI.js new file mode 100644 index 000000000..cc15eacf5 --- /dev/null +++ b/app/src/androidTest/assets/resources/trackingAPI.js @@ -0,0 +1,70 @@ +function createIframe(src) { + let ifr = document.createElement("iframe"); + ifr.src = src; + document.body.appendChild(ifr); +} + +function createImage(src) { + let img = document.createElement("img"); + img.src = src; + img.onload = () => { + parent.postMessage("done", "*"); + }; + document.body.appendChild(img); +} + +onmessage = event => { + switch (event.data) { + case "tracking": + createIframe("https://trackertest.org/"); + break; + case "socialtracking": + createIframe( + "https://social-tracking.example.org/browser/browser/base/content/test/protectionsUI/cookieServer.sjs" + ); + break; + case "cryptomining": + createIframe("http://cryptomining.example.com/"); + break; + case "fingerprinting": + createIframe("https://fingerprinting.example.com/"); + break; + case "more-tracking": + createIframe("https://itisatracker.org/"); + break; + case "cookie": + createIframe( + "https://trackertest.org/browser/browser/base/content/test/protectionsUI/cookieServer.sjs" + ); + break; + case "first-party-cookie": + // Since the content blocking log doesn't seem to get updated for + // top-level cookies right now, we just create an iframe with the + // first party domain... + createIframe( + "http://not-tracking.example.com/browser/browser/base/content/test/protectionsUI/cookieServer.sjs" + ); + break; + case "third-party-cookie": + createIframe( + "https://test1.example.org/browser/browser/base/content/test/protectionsUI/cookieServer.sjs" + ); + break; + case "image": + createImage( + "http://trackertest.org/browser/browser/base/content/test/protectionsUI/cookieServer.sjs?type=image-no-cookie" + ); + break; + case "window-open": + window.win = window.open( + "http://trackertest.org/browser/browser/base/content/test/protectionsUI/cookieServer.sjs", + "_blank", + "width=100,height=100" + ); + break; + case "window-close": + window.win.close(); + window.win = null; + break; + } +}; diff --git a/app/src/androidTest/java/org/mozilla/fenix/helpers/TestAssetHelper.kt b/app/src/androidTest/java/org/mozilla/fenix/helpers/TestAssetHelper.kt index 240caaca2..5e67c0def 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/helpers/TestAssetHelper.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/helpers/TestAssetHelper.kt @@ -76,7 +76,7 @@ object TestAssetHelper { } fun getEnhancedTrackingProtectionAsset(server: MockWebServer): TestAsset { - val url = server.url("pages/etp.html").toString().toUri()!! + val url = server.url("pages/trackingPage.html").toString().toUri()!! return TestAsset(url, "", "") }