trackingAPI.js (2458B)
1 function createIframe(src) { 2 let ifr = document.createElement("iframe"); 3 ifr.src = src; 4 document.body.appendChild(ifr); 5 } 6 7 function createImage(src) { 8 let img = document.createElement("img"); 9 img.src = src; 10 img.onload = () => { 11 parent.postMessage("done", "*"); 12 }; 13 document.body.appendChild(img); 14 } 15 16 onmessage = event => { 17 switch (event.data) { 18 case "tracking": 19 createIframe("https://trackertest.org/"); 20 break; 21 case "socialtracking": 22 createIframe( 23 "https://social-tracking.example.org/browser/browser/base/content/test/protectionsUI/cookieServer.sjs" 24 ); 25 break; 26 case "cryptomining": 27 // eslint-disable-next-line @microsoft/sdl/no-insecure-url 28 createIframe("http://cryptomining.example.com/"); 29 break; 30 case "fingerprinting": 31 createIframe("https://fingerprinting.example.com/"); 32 break; 33 case "more-tracking": 34 createIframe("https://itisatracker.org/"); 35 break; 36 case "more-tracking-2": 37 createIframe("https://tracking.example.com/"); 38 break; 39 case "cookie": 40 createIframe( 41 "https://trackertest.org/browser/browser/base/content/test/protectionsUI/cookieServer.sjs" 42 ); 43 break; 44 case "first-party-cookie": 45 // Since the content blocking log doesn't seem to get updated for 46 // top-level cookies right now, we just create an iframe with the 47 // first party domain... 48 createIframe( 49 // eslint-disable-next-line @microsoft/sdl/no-insecure-url 50 "http://not-tracking.example.com/browser/browser/base/content/test/protectionsUI/cookieServer.sjs" 51 ); 52 break; 53 case "third-party-cookie": 54 createIframe( 55 "https://test1.example.org/browser/browser/base/content/test/protectionsUI/cookieServer.sjs" 56 ); 57 break; 58 case "image": 59 createImage( 60 // eslint-disable-next-line @microsoft/sdl/no-insecure-url 61 "http://trackertest.org/browser/browser/base/content/test/protectionsUI/cookieServer.sjs?type=image-no-cookie" 62 ); 63 break; 64 case "window-open": 65 window.win = window.open( 66 // eslint-disable-next-line @microsoft/sdl/no-insecure-url 67 "http://trackertest.org/browser/browser/base/content/test/protectionsUI/cookieServer.sjs", 68 "_blank", 69 "width=100,height=100" 70 ); 71 break; 72 case "window-close": 73 window.win.close(); 74 window.win = null; 75 break; 76 } 77 };