Video is not displayed on cuisine.journaldesfemmes.fr while Tracking Protection Strict is enabled
Categories
(Web Compatibility :: Site Reports, defect, P5)
Tracking
(firefox86 wontfix, firefox92 fixed, firefox93 verified)
People
(Reporter: oanaarbuzov, Assigned: twisniewski)
References
(Blocks 1 open bug, )
Details
(Keywords: webcompat:needs-diagnosis, Whiteboard: [tp-content], [tp-ads][tp-shim-complex][tp-embedded-media])
User Story
googleapis.com ooyala.com googletagmanager
Attachments
(2 files)
Reporter | ||
Comment 1•6 years ago
|
||
Reporter | ||
Comment 2•6 years ago
|
||
Reporter | ||
Updated•6 years ago
|
Updated•6 years ago
|
Updated•5 years ago
|
Assignee | ||
Comment 3•5 years ago
|
||
This was a pain to diagnose. The video intermittently plays in basic mode without any clear error messages or exception indicating what might be going wrong (and sifting through their scripts was not fun, especially since they use Google Tag Manager, which of course injects eval'd minified code, further complicating things).
But it ultimately turns out the underlying problems turns out to be an anti ad-blocker which their video player checks in its _createPlayerInstance
method:
key: '_createPlayerInstance',
value: function (e) {
// snip some code for brevity
if (O && e.conf.player.options.aab) return Ce.addErrorMessage(e.node),
Promise.reject('Adblocker detected');
Where aab
is set to this:
window.integrityObserver && window.integrityObserver.corrupted
Where the value of that is ultimately set in a script embedded in their inline markup.
We can quite easily work around this by just changing the value of corrupted
before the player reads it, but I'd propose that we instead preemptively define some code on the window before their page runs any scripts, which ensures that corrupted
cannot be set to true
(and certain other code in the tracker isn't potentially run):
(function() {
let iob;
Object.defineProperty(window, "integrityObserver", {
get: () => iob,
set: function(obs) {
obs.sendToListeners = function() {};
Object.defineProperty(obs, "corrupted", {
get: () => false,
set: () => {},
});
iob = obs;
},
enumerable: false,
configurable: true,
}
}());
But do note that this is likely to start an arm's race with sites who refuse to switch to less user-hostile ads, since we will end up blocking their ad.
And since the anti adblocker is embedded in the base markup, we would need to do this for every site confirmed to be using this trick (or proactively on all new content windows when the user is in strict blocking mode).
Assignee | ||
Updated•4 years ago
|
Reporter | ||
Comment 4•4 years ago
|
||
The issue no longer reproduces with ETP - Standard, but still occurs with ETP - Strict.
https://prnt.sc/xgbn72
Tested with:
Browser / Version: Firefox Nightly 86.0a1 (2021-01-21)
Operating System: Windows 10 Pro
I'll change the title of the issue, to reflect the above.
Assignee | ||
Comment 5•3 years ago
|
||
It's possible that this may be fixed with other shim fixes being developed right now, as Amazon TAM, iasPET, and Ads by Google test shims I'm working on are kicking in for this site, and the video is playing with them active.
Assignee | ||
Comment 6•3 years ago
|
||
Actually, with the addition of an empty-script shim for https://acdn.adnxs.com/ast/ast.js, this seems to be consistently working for me now, so I think we'll be able to fix this one.
Updated•3 years ago
|
Comment 7•3 years ago
|
||
This issue is reproducible on Firefox Nightly from 8/2 with Google Pixel (Android 10).
The ETP is set to STRICT.
Enabling the Standard ETP fixes the issue.
Updated•3 years ago
|
Comment 8•3 years ago
•
|
||
The issue is no longer reproducible on Nightly 92.0a1, 93.0a1, and Firefox 92 beta 1 - tested in strict mode and Private Browsing on macOS Big Sur 11.5, Windows 10, and Ubuntu 20.04 x64.
Comment 9•3 years ago
|
||
The issue is no longer reproducible on 92.0.0-beta.2 with Google Pixel 3 (Android 12), tested with ETP Strict.
Comment 10•3 years ago
|
||
I was not able to reproduce this issue anymore on the 93.0a1 Nightly from 823, with ETP set to strict.
Tested on Lenovo tablet M10 (Android 10).
I'll close this issue as fixed.
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Description
•