The original GA code returns an Array for ga.getAll(), while the
shim was returning an Iterator. This caused code that relied on
ga.getAll().filter(..) to break with the shim. This patch wraps
the Iterator contents back into an Array.
Differential Revision: https://phabricator.services.mozilla.com/D119737
`beforeinput` event was shipped and it won't be disabled for avoiding confusion
of web developers. So, we can drop the pref setting of
"dom.input_events.beforeinput.enabled" in our tests.
Depends on D119716
Differential Revision: https://phabricator.services.mozilla.com/D119729
- adds an actual shim for Google IMA3, rather than shimming with an empty file
- simplifies the AdSafeProtected IMA shim:
- no longer needs to opt in to the original script for videos to play
- it can now just be a basic stub shim for the API
Differential Revision: https://phabricator.services.mozilla.com/D119337
- expand the API surface that is stubbed out more completely to account for sites relying on deprecated or more obscure functionality.
- have the shim perform basic content placement as some sites expect GPT to do.
Differential Revision: https://phabricator.services.mozilla.com/D118098
- add wildcards to the URLs, as some sites access the scripts with GET parameters.
- we don't actually need a standalone Tag Manager shim, so just re-use the GA one.
- this will also mitigate breakage on some sites which load only one of the two scripts.
- more thoroughly stub out the Analytics window object to mitigate more site breakage.
Differential Revision: https://phabricator.services.mozilla.com/D117678
Three changes here:
- fix the experimental API to check for the "allow" case first, then the "replace" signal
- update the JSON config for the two opt-in shims so they know to also mark the relevant requests as allowed, not just replaced/shimmed
- remove a pointless (unused) unblocksOnOptIn line
Differential Revision: https://phabricator.services.mozilla.com/D116756
* Some helpers and a basic test for full page and visible page screenshots, using the clipboard to examine the result
* The visible page test's assertions are marked todo, as we don't actually get the expected image dimensions currently. This is possibly bug 1711101?
Differential Revision: https://phabricator.services.mozilla.com/D99854
* Some helpers and a basic test for full page and visible page screenshots, using the clipboard to examine the result
* The visible page test's assertions are marked todo, as we don't actually get the expected image dimensions currently. This is possibly bug 1711101?
Differential Revision: https://phabricator.services.mozilla.com/D99854
The bug in question is that if a user opts into allowing one tracker on a given
site for the session, new visits to that site will allow others trackers as
well, not just the expected one.
While we're here, we also improve the web console messages to show the same
"allowing X due to opt in" message on new visits as well, not just the original
one where the user initially opted-in for that shim.
We might as well also land bug 1712959 into m-c, rather than waiting for the
next webcompat release cycle.
Differential Revision: https://phabricator.services.mozilla.com/D116642
Also put try/catch blocks around the startup sections of the various sub-components, to limit the damage if one of them throws while failing to start
Differential Revision: https://phabricator.services.mozilla.com/D116402
This roll-up includes the following fixes:
- Bug 1711082 - Add an intervention for m.aliexpress.com
- Bug 1712807 - Add an override for www.dealnews.com
- Bug 1712833 - Add an intervention for buskocchi.desuca.co.jp
- Bug 1712843 - Add an intervention for snaptik.app
- Bug 1712626 - Change CSS intervention for livescience.com
- Bug 1710993 - Remove Intervention for dev.to
- Bug 1710997 - Remove Intervention for slack.com
- Bug 1711003 - Remove Intervention for store.hp.com
Differential Revision: https://phabricator.services.mozilla.com/D116123
This patch improves the experimental trackingProtection add-on API used by SmartBlock:
- has callers specify both which MatchPatterns to shim, and which to merely allow.
- this simplifies the related code and makes it easier to read its intent.
- this also entirely removes the need for the _ensureOptInRequestAllowedOnTab listener,
which was causing the performance regression.
Differential Revision: https://phabricator.services.mozilla.com/D116051
Sites appear to only ever call the cm* functions using cmTagQueue, so since
we are shimming them all as no-ops, it's safer to ignore the queue entirely.
Differential Revision: https://phabricator.services.mozilla.com/D115709