forked from mirrors/gecko-dev
Add a call to request storage access for https://www.crave.ca when using the out-of-domain login portal. No tests are included because we have no testing harness for shims yet and testing the actual site is not feasible. Differential Revision: https://phabricator.services.mozilla.com/D135221
604 lines
16 KiB
JavaScript
604 lines
16 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* 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/. */
|
|
|
|
"use strict";
|
|
|
|
/* globals module, require */
|
|
|
|
const AVAILABLE_SHIMS = [
|
|
{
|
|
hiddenInAboutCompat: true,
|
|
id: "LiveTestShim",
|
|
platform: "all",
|
|
name: "Live test shim",
|
|
bug: "livetest",
|
|
file: "live-test-shim.js",
|
|
matches: ["*://webcompat-addon-testbed.herokuapp.com/shims_test.js"],
|
|
needsShimHelpers: ["getOptions", "optIn"],
|
|
},
|
|
{
|
|
hiddenInAboutCompat: true,
|
|
id: "MochitestShim",
|
|
platform: "all",
|
|
branch: ["all:ignoredOtherPlatform"],
|
|
name: "Test shim for Mochitests",
|
|
bug: "mochitest",
|
|
file: "mochitest-shim-1.js",
|
|
matches: [
|
|
"*://example.com/browser/browser/extensions/webcompat/tests/browser/shims_test.js",
|
|
],
|
|
needsShimHelpers: ["getOptions", "optIn"],
|
|
options: {
|
|
simpleOption: true,
|
|
complexOption: { a: 1, b: "test" },
|
|
branchValue: { value: true, branches: [] },
|
|
platformValue: { value: true, platform: "neverUsed" },
|
|
},
|
|
unblocksOnOptIn: ["*://trackertest.org/*"],
|
|
},
|
|
{
|
|
hiddenInAboutCompat: true,
|
|
disabled: true,
|
|
id: "MochitestShim2",
|
|
platform: "all",
|
|
name: "Test shim for Mochitests (disabled by default)",
|
|
bug: "mochitest",
|
|
file: "mochitest-shim-2.js",
|
|
matches: [
|
|
"*://example.com/browser/browser/extensions/webcompat/tests/browser/shims_test_2.js",
|
|
],
|
|
needsShimHelpers: ["getOptions", "optIn"],
|
|
options: {
|
|
simpleOption: true,
|
|
complexOption: { a: 1, b: "test" },
|
|
branchValue: { value: true, branches: [] },
|
|
platformValue: { value: true, platform: "neverUsed" },
|
|
},
|
|
unblocksOnOptIn: ["*://trackertest.org/*"],
|
|
},
|
|
{
|
|
hiddenInAboutCompat: true,
|
|
id: "MochitestShim3",
|
|
platform: "all",
|
|
name: "Test shim for Mochitests (host)",
|
|
bug: "mochitest",
|
|
file: "mochitest-shim-3.js",
|
|
notHosts: ["example.com"],
|
|
matches: [
|
|
"*://example.com/browser/browser/extensions/webcompat/tests/browser/shims_test_3.js",
|
|
],
|
|
},
|
|
{
|
|
hiddenInAboutCompat: true,
|
|
id: "MochitestShim4",
|
|
platform: "all",
|
|
name: "Test shim for Mochitests (notHost)",
|
|
bug: "mochitest",
|
|
file: "mochitest-shim-3.js",
|
|
hosts: ["example.net"],
|
|
matches: [
|
|
"*://example.com/browser/browser/extensions/webcompat/tests/browser/shims_test_3.js",
|
|
],
|
|
},
|
|
{
|
|
hiddenInAboutCompat: true,
|
|
id: "MochitestShim5",
|
|
platform: "all",
|
|
name: "Test shim for Mochitests (branch)",
|
|
bug: "mochitest",
|
|
file: "mochitest-shim-3.js",
|
|
branches: ["never matches"],
|
|
matches: [
|
|
"*://example.com/browser/browser/extensions/webcompat/tests/browser/shims_test_3.js",
|
|
],
|
|
},
|
|
{
|
|
hiddenInAboutCompat: true,
|
|
id: "MochitestShim6",
|
|
platform: "never matches",
|
|
name: "Test shim for Mochitests (platform)",
|
|
bug: "mochitest",
|
|
file: "mochitest-shim-3.js",
|
|
matches: [
|
|
"*://example.com/browser/browser/extensions/webcompat/tests/browser/shims_test_3.js",
|
|
],
|
|
},
|
|
{
|
|
id: "AddThis",
|
|
platform: "all",
|
|
name: "AddThis",
|
|
bug: "1713694",
|
|
file: "addthis-angular.js",
|
|
matches: [
|
|
"*://s7.addthis.com/icons/official-addthis-angularjs/current/dist/official-addthis-angularjs.min.js*",
|
|
],
|
|
onlyIfBlockedByETP: true,
|
|
},
|
|
{
|
|
id: "Adform",
|
|
platform: "all",
|
|
name: "Adform",
|
|
bug: "1713695",
|
|
file: "adform.js",
|
|
matches: [
|
|
"*://track.adform.net/serving/scripts/trackpoint/",
|
|
"*://track.adform.net/serving/scripts/trackpoint/async/",
|
|
{
|
|
patterns: ["*://track.adform.net/Serving/TrackPoint/*"],
|
|
target: "tracking-pixel.png",
|
|
types: ["image", "imageset", "xmlhttprequest"],
|
|
},
|
|
],
|
|
onlyIfBlockedByETP: true,
|
|
},
|
|
{
|
|
id: "AdNexus",
|
|
platform: "all",
|
|
name: "AdNexus",
|
|
bug: "1713696",
|
|
file: "empty-script.js",
|
|
matches: [
|
|
"*://acdn.adnxs.com/ast/ast.js",
|
|
{
|
|
patterns: ["*://*.adnxs.com/*/pb.js", "*://*.adnxs.com/*/prebid"],
|
|
target: "adnexus-prebid.js",
|
|
types: ["script"],
|
|
},
|
|
],
|
|
onlyIfBlockedByETP: true,
|
|
},
|
|
{
|
|
id: "AdSafeProtectedGoogleIMAAdapter",
|
|
platform: "all",
|
|
branches: ["nightly:android"],
|
|
name: "Ad Safe Protected Google IMA Adapter",
|
|
bug: "1508639",
|
|
file: "adsafeprotected-ima.js",
|
|
matches: ["*://static.adsafeprotected.com/vans-adapter-google-ima.js"],
|
|
onlyIfBlockedByETP: true,
|
|
},
|
|
{
|
|
id: "AdsByGoogle",
|
|
platform: "all",
|
|
name: "Ads by Google",
|
|
bug: "1713726",
|
|
file: "google-ads.js",
|
|
matches: ["*://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"],
|
|
onlyIfBlockedByETP: true,
|
|
},
|
|
{
|
|
id: "AmazonTAM",
|
|
platform: "all",
|
|
name: "Amazon Transparent Ad Marketplace",
|
|
bug: "1713698",
|
|
file: "apstag.js",
|
|
matches: ["*://c.amazon-adsystem.com/aax2/apstag.js"],
|
|
onlyIfBlockedByETP: true,
|
|
},
|
|
{
|
|
id: "BmAuth",
|
|
platform: "all",
|
|
name: "BmAuth by 9c9media",
|
|
bug: "1486337",
|
|
file: "bmauth.js",
|
|
matches: ["*://auth.9c9media.ca/auth/main.js"],
|
|
onlyIfBlockedByETP: true,
|
|
},
|
|
{
|
|
id: "Chartbeat",
|
|
platform: "all",
|
|
name: "Chartbeat",
|
|
bug: "1713699",
|
|
file: "chartbeat.js",
|
|
matches: [
|
|
"*://static.chartbeat.com/js/chartbeat.js",
|
|
"*://static.chartbeat.com/js/chartbeat_video.js",
|
|
],
|
|
onlyIfBlockedByETP: true,
|
|
},
|
|
{
|
|
id: "Criteo",
|
|
platform: "all",
|
|
name: "Criteo",
|
|
bug: "1713720",
|
|
file: "criteo.js",
|
|
matches: ["*://static.criteo.net/js/ld/publishertag.js"],
|
|
onlyIfBlockedByETP: true,
|
|
},
|
|
{
|
|
id: "Doubleclick",
|
|
platform: "all",
|
|
name: "Doubleclick",
|
|
bug: "1713693",
|
|
matches: [
|
|
{
|
|
patterns: [
|
|
"*://securepubads.g.doubleclick.net/gampad/*ad-blk*",
|
|
"*://pubads.g.doubleclick.net/gampad/*ad-blk*",
|
|
],
|
|
target: "empty-shim.txt",
|
|
types: ["image", "imageset", "xmlhttprequest"],
|
|
},
|
|
{
|
|
patterns: [
|
|
"*://securepubads.g.doubleclick.net/gampad/*xml_vmap1*",
|
|
"*://pubads.g.doubleclick.net/gampad/*xml_vmap1*",
|
|
],
|
|
target: "vmad.xml",
|
|
types: ["image", "imageset", "xmlhttprequest"],
|
|
},
|
|
{
|
|
patterns: [
|
|
"*://securepubads.g.doubleclick.net/gampad/*xml_vmap2*",
|
|
"*://pubads.g.doubleclick.net/gampad/*xml_vmap2*",
|
|
],
|
|
target: "vast2.xml",
|
|
types: ["image", "imageset", "xmlhttprequest"],
|
|
},
|
|
{
|
|
patterns: [
|
|
"*://securepubads.g.doubleclick.net/gampad/*ad*",
|
|
"*://pubads.g.doubleclick.net/gampad/*ad*",
|
|
],
|
|
target: "vast3.xml",
|
|
types: ["image", "imageset", "xmlhttprequest"],
|
|
},
|
|
],
|
|
onlyIfBlockedByETP: true,
|
|
},
|
|
{
|
|
id: "Eluminate",
|
|
platform: "all",
|
|
name: "Eluminate",
|
|
bug: "1503211",
|
|
file: "eluminate.js",
|
|
matches: ["*://libs.coremetrics.com/eluminate.js"],
|
|
onlyIfBlockedByETP: true,
|
|
},
|
|
{
|
|
id: "FacebookSDK",
|
|
platform: "all",
|
|
branches: ["nightly:android"],
|
|
name: "Facebook SDK",
|
|
bug: "1226498",
|
|
file: "facebook-sdk.js",
|
|
logos: ["facebook.svg", "play.svg"],
|
|
matches: [
|
|
"*://connect.facebook.net/*/sdk.js*",
|
|
"*://connect.facebook.net/*/all.js*",
|
|
{
|
|
patterns: ["*://www.facebook.com/platform/impression.php*"],
|
|
target: "tracking-pixel.png",
|
|
types: ["image", "imageset", "xmlhttprequest"],
|
|
},
|
|
],
|
|
needsShimHelpers: ["optIn", "getOptions"],
|
|
onlyIfBlockedByETP: true,
|
|
unblocksOnOptIn: [
|
|
"*://connect.facebook.net/*/sdk.js*",
|
|
"*://connect.facebook.net/*/all.js*",
|
|
"*://*.xx.fbcdn.net/*", // covers:
|
|
// "*://scontent-.*-\d.xx.fbcdn.net/*",
|
|
// "*://static.xx.fbcdn.net/rsrc.php/*",
|
|
"*://graph.facebook.com/v2*access_token*",
|
|
"*://graph.facebook.com/v*/me*",
|
|
"*://graph.facebook.com/*/picture*",
|
|
"*://www.facebook.com/*/plugins/login_button.php*",
|
|
"*://www.facebook.com/x/oauth/status*",
|
|
{
|
|
patterns: [
|
|
"*://www.facebook.com/*/plugins/video.php*",
|
|
"*://www.facebook.com/rsrc.php/*",
|
|
],
|
|
branches: ["nightly"],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
id: "GoogleAnalyticsAndTagManager",
|
|
platform: "all",
|
|
name: "Google Analytics and Tag Manager",
|
|
bug: "1713687",
|
|
file: "google-analytics-and-tag-manager.js",
|
|
matches: [
|
|
"*://www.google-analytics.com/analytics.js*",
|
|
"*://www.google-analytics.com/gtm/js*",
|
|
"*://www.googletagmanager.com/gtm.js*",
|
|
],
|
|
onlyIfBlockedByETP: true,
|
|
},
|
|
{
|
|
id: "GoogleAnalyticsECommercePlugin",
|
|
platform: "all",
|
|
name: "Google Analytics E-Commerce Plugin",
|
|
bug: "1620533",
|
|
file: "google-analytics-ecommerce-plugin.js",
|
|
matches: ["*://www.google-analytics.com/plugins/ua/ec.js"],
|
|
onlyIfBlockedByETP: true,
|
|
},
|
|
{
|
|
id: "GoogleAnalyticsLegacy",
|
|
platform: "all",
|
|
name: "Google Analytics (legacy version)",
|
|
bug: "1487072",
|
|
file: "google-analytics-legacy.js",
|
|
matches: ["*://ssl.google-analytics.com/ga.js"],
|
|
onlyIfBlockedByETP: true,
|
|
},
|
|
{
|
|
id: "GoogleIMA",
|
|
platform: "all",
|
|
name: "Google Interactive Media Ads",
|
|
bug: "1713690",
|
|
file: "google-ima.js",
|
|
matches: [
|
|
"*://s0.2mdn.net/instream/html5/ima3.js",
|
|
"*://imasdk.googleapis.com/js/sdkloader/ima3.js",
|
|
],
|
|
onlyIfBlockedByETP: true,
|
|
},
|
|
{
|
|
id: "GooglePageAd",
|
|
platform: "all",
|
|
name: "Google Page Ad",
|
|
bug: "1713692",
|
|
file: "google-page-ad.js",
|
|
matches: ["*://www.googleadservices.com/pagead/conversion_async.js"],
|
|
onlyIfBlockedByETP: true,
|
|
},
|
|
{
|
|
id: "GooglePublisherTags",
|
|
platform: "all",
|
|
name: "Google Publisher Tags",
|
|
bug: "1713685",
|
|
file: "google-publisher-tags.js",
|
|
matches: [
|
|
"*://www.googletagservices.com/tag/js/gpt.js*",
|
|
"*://securepubads.g.doubleclick.net/tag/js/gpt.js*",
|
|
"*://securepubads.g.doubleclick.net/gpt/pubads_impl_*.js*",
|
|
],
|
|
onlyIfBlockedByETP: true,
|
|
},
|
|
{
|
|
id: "Google SafeFrame",
|
|
platform: "all",
|
|
name: "Google SafeFrame",
|
|
bug: "1713691",
|
|
matches: [
|
|
{
|
|
patterns: [
|
|
"*://tpc.googlesyndication.com/safeframe/*/html/container.html",
|
|
"*://*.safeframe.googlesyndication.com/safeframe/*/html/container.html",
|
|
],
|
|
target: "google-safeframe.html",
|
|
types: ["sub_frame"],
|
|
},
|
|
],
|
|
onlyIfBlockedByETP: true,
|
|
},
|
|
{
|
|
id: "GoogleTrends",
|
|
platform: "all",
|
|
name: "Google Trends",
|
|
bug: "1624914",
|
|
custom: "google-trends-dfpi-fix",
|
|
onlyIfDFPIActive: true,
|
|
matches: [
|
|
{
|
|
patterns: ["*://trends.google.com/trends/embed*"],
|
|
types: ["sub_frame"],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
id: "IASPET",
|
|
platform: "all",
|
|
name: "Integral Ad Science PET",
|
|
bug: "1713701",
|
|
file: "iaspet.js",
|
|
matches: ["*://cdn.adsafeprotected.com/iasPET.1.js"],
|
|
onlyIfBlockedByETP: true,
|
|
},
|
|
{
|
|
id: "MNet",
|
|
platform: "all",
|
|
name: "Media.net Ads",
|
|
bug: "1713703",
|
|
file: "empty-script.js",
|
|
matches: ["*://adservex.media.net/videoAds.js*"],
|
|
onlyIfBlockedByETP: true,
|
|
},
|
|
{
|
|
id: "Moat",
|
|
platform: "all",
|
|
name: "Moat",
|
|
bug: "1713704",
|
|
file: "moat.js",
|
|
matches: [
|
|
"*://*.moatads.com/*/moatad.js*",
|
|
"*://*.moatads.com/*/moatapi.js*",
|
|
"*://*.moatads.com/*/moatheader.js*",
|
|
"*://*.moatads.com/*/yi.js*",
|
|
],
|
|
onlyIfBlockedByETP: true,
|
|
},
|
|
{
|
|
id: "Optimizely",
|
|
platform: "all",
|
|
name: "Optimizely",
|
|
bug: "1714431",
|
|
file: "optimizely.js",
|
|
matches: ["*://cdn.optimizely.com/js/*.js"],
|
|
onlyIfBlockedByETP: true,
|
|
},
|
|
{
|
|
id: "Rambler",
|
|
platform: "all",
|
|
name: "Rambler Authenticator",
|
|
bug: "1606428",
|
|
file: "rambler-authenticator.js",
|
|
matches: ["*://id.rambler.ru/rambler-id-helper/auth_events.js"],
|
|
needsShimHelpers: ["optIn"],
|
|
onlyIfBlockedByETP: true,
|
|
},
|
|
{
|
|
id: "RichRelevance",
|
|
platform: "all",
|
|
name: "Rich Relevance",
|
|
bug: "1713725",
|
|
file: "rich-relevance.js",
|
|
matches: ["*://media.richrelevance.com/rrserver/js/1.2/p13n.js"],
|
|
onlyIfBlockedByETP: true,
|
|
},
|
|
{
|
|
id: "StackBlitz",
|
|
platform: "all",
|
|
name: "StackBlitz",
|
|
bug: "1668408",
|
|
onlyIfDFPIActive: true,
|
|
contentScripts: [
|
|
{
|
|
js: "stackblitz.js",
|
|
matches: ["*://*.stackblitz.com/*", "*://*.stackblitz.io/*"],
|
|
runAt: "document_start",
|
|
allFrames: true,
|
|
},
|
|
],
|
|
},
|
|
{
|
|
id: "Vidible",
|
|
branch: ["nightly"],
|
|
platform: "all",
|
|
name: "Vidible",
|
|
bug: "1713710",
|
|
file: "vidible.js",
|
|
logos: ["play.svg"],
|
|
matches: [
|
|
"*://*.vidible.tv/*/vidible-min.js*",
|
|
"*://vdb-cdn-files.s3.amazonaws.com/*/vidible-min.js*",
|
|
],
|
|
needsShimHelpers: ["optIn"],
|
|
onlyIfBlockedByETP: true,
|
|
unblocksOnOptIn: [
|
|
"*://delivery.vidible.tv/jsonp/pid=*/vid=*/*.js*",
|
|
"*://delivery.vidible.tv/placement/*",
|
|
"*://img.vidible.tv/prod/*",
|
|
"*://cdn-ssl.vidible.tv/prod/player/js/*.js",
|
|
"*://hlsrv.vidible.tv/prod/*.m3u8*",
|
|
"*://videos.vidible.tv/prod/*.key*",
|
|
"*://videos.vidible.tv/prod/*.mp4*",
|
|
"*://videos.vidible.tv/prod/*.webm*",
|
|
"*://videos.vidible.tv/prod/*.ts*",
|
|
],
|
|
},
|
|
{
|
|
id: "Hamropatro",
|
|
platform: "all",
|
|
name: "Hamropatro",
|
|
bug: "1660446",
|
|
contentScripts: [
|
|
{
|
|
js: "hamropatro.js",
|
|
matches: ["*://we.hamropatro.com/login*"],
|
|
runAt: "document_start",
|
|
},
|
|
],
|
|
onlyIfDFPIActive: true,
|
|
},
|
|
{
|
|
id: "Kinja",
|
|
platform: "all",
|
|
name: "Kinja",
|
|
bug: "1656171",
|
|
contentScripts: [
|
|
{
|
|
js: "kinja.js",
|
|
matches: [
|
|
"*://www.avclub.com/*",
|
|
"*://deadspin.com/*",
|
|
"*://gizmodo.com/*",
|
|
"*://jalopnik.com/*",
|
|
"*://jezebel.com/*",
|
|
"*://kotaku.com/*",
|
|
"*://lifehacker.com/*",
|
|
"*://www.theonion.com/*",
|
|
"*://www.theroot.com/*",
|
|
"*://thetakeout.com/*",
|
|
"*://theinventory.com/*",
|
|
],
|
|
runAt: "document_start",
|
|
allFrames: true,
|
|
},
|
|
],
|
|
onlyIfDFPIActive: true,
|
|
},
|
|
{
|
|
id: "MicrosoftLogin",
|
|
platform: "desktop",
|
|
name: "Microsoft Login",
|
|
bug: "1638383",
|
|
requestStorageAccessForRedirect: [
|
|
["*://web.powerva.microsoft.com/*", "*://login.microsoftonline.com/*"],
|
|
["*://teams.microsoft.com/*", "*://login.microsoftonline.com/*"],
|
|
],
|
|
contentScripts: [
|
|
{
|
|
js: "microsoftLogin.js",
|
|
matches: [
|
|
"*://web.powerva.microsoft.com/*",
|
|
"*://teams.microsoft.com/*",
|
|
],
|
|
runAt: "document_start",
|
|
},
|
|
],
|
|
onlyIfDFPIActive: true,
|
|
},
|
|
{
|
|
id: "Humblebundle",
|
|
platform: "all",
|
|
name: "Humblebundle",
|
|
bug: "1742553",
|
|
contentScripts: [
|
|
{
|
|
js: "humblebundle.js",
|
|
matches: [
|
|
"*://www.humblebundle.com/login*",
|
|
"*://www.humblebundle.com/signup*",
|
|
],
|
|
runAt: "document_start",
|
|
},
|
|
],
|
|
onlyIfDFPIActive: true,
|
|
},
|
|
{
|
|
id: "History",
|
|
platform: "all",
|
|
name: "History.com",
|
|
bug: "1624853",
|
|
contentScripts: [
|
|
{
|
|
js: "history.js",
|
|
matches: ["*://play.history.com/*"],
|
|
runAt: "document_start",
|
|
},
|
|
],
|
|
onlyIfDFPIActive: true,
|
|
},
|
|
{
|
|
id: "Crave.ca",
|
|
platform: "all",
|
|
name: "Crave.ca",
|
|
bug: "1746439",
|
|
contentScripts: [
|
|
{
|
|
js: "crave-ca.js",
|
|
matches: ["*://account.bellmedia.ca/login*"],
|
|
runAt: "document_start",
|
|
},
|
|
],
|
|
onlyIfDFPIActive: true,
|
|
},
|
|
];
|
|
|
|
module.exports = AVAILABLE_SHIMS;
|